.page-body { min-height:100vh; color:#eef6ff; background:radial-gradient(circle at 12% 8%,rgba(17,136,211,.1),transparent 26%),#06101c; }
.page-header { position:sticky; top:0; z-index:20; height:78px; min-height:78px; padding:0 max(28px,calc((100vw - 1400px)/2)); display:flex; align-items:center; gap:clamp(16px,2.6vw,44px); border-bottom:1px solid rgba(255,255,255,.08); background:rgba(5,13,23,.94); backdrop-filter:blur(18px); }
.page-header .brand { margin-right:0; }
.page-header nav { margin-left:auto; gap:34px; }
.page-header .menu-toggle { margin-left:0; }
.page-main { max-width:1320px; min-height:70vh; margin:0 auto; padding:58px 30px 100px; }
.page-hero { max-width:850px; margin-bottom:46px; }
.page-hero .eyebrow { margin-bottom:13px; }
.page-hero h1 { margin:0 0 17px; font:800 clamp(43px,6vw,76px)/.98 Outfit,sans-serif; letter-spacing:-2.6px; }
.page-hero > p:not(.eyebrow) { max-width:720px; color:#9aadc1; font-size:16px; line-height:1.75; }
.page-main > h1,.legal-copy > h1 { margin:0 0 22px; font:800 clamp(42px,6vw,72px)/1 Outfit,sans-serif; letter-spacing:-2.4px; }
.page-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 20px; border:1px solid #294058; border-radius:13px; color:#d9e8f5; background:#0b1a29; font-weight:700; transition:transform .2s,border-color .2s,background .2s; }
.secondary-button:hover { transform:translateY(-2px); border-color:#4b6885; background:#10243a; }
.panel { padding:28px; border:1px solid var(--line); border-radius:22px; background:#0b1a29; box-shadow:0 18px 48px rgba(0,0,0,.14); }
.panel h2,.panel h3 { font-family:Outfit,sans-serif; }
.panel h2 { margin:0 0 12px; font-size:28px; }
.panel h3 { margin:0 0 8px; }
.panel p { color:#91a5b9; line-height:1.65; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.stat-card { padding:22px; border:1px solid var(--line); border-radius:18px; background:#0a1928; }
.stat-card span { color:#7f95ab; font-size:11px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.stat-card strong { display:block; margin-top:8px; color:var(--lime); font:800 30px Outfit; }
.form-card label { display:grid; gap:7px; margin-bottom:15px; color:#b9c8d7; font-size:12px; font-weight:700; }
.form-card input,.form-card select,.form-card textarea { background:#07131f; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.notice { padding:15px 18px; border:1px solid rgba(120,199,243,.25); border-radius:14px; color:#b8cfe0; background:rgba(17,136,211,.09); font-size:12px; line-height:1.6; }
.notice a { color:var(--lime); font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.warning-notice { border-color:rgba(255,182,96,.25); color:#f0c798; background:rgba(255,140,46,.08); }
.status-pill { display:inline-flex; padding:6px 9px; border-radius:999px; color:var(--lime); background:rgba(142,229,46,.1); font-size:9px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.empty-state { padding:55px 25px; text-align:center; border:1px dashed #2a4056; border-radius:20px; color:#8297ac; }
.empty-state h2 { color:#eef6ff; }
.page-footer { padding:35px max(25px,calc((100vw - 1320px)/2)); display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); color:#71869b; background:#050d17; }
.page-footer p { margin:0; font-size:11px; }
.page-footer div { display:flex; flex-wrap:wrap; gap:18px; }
.page-footer a { margin:0; color:#8ca1b5; font-size:11px; }
.page-footer a:hover { color:var(--lime); }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:18px; }
table { width:100%; border-collapse:collapse; min-width:760px; background:#091725; }
th,td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; font-size:12px; }
th { color:#7f95aa; font-size:9px; text-transform:uppercase; letter-spacing:.8px; }
td { color:#c2d1df; }
tr:last-child td { border-bottom:0; }
.icon-tile { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:var(--lime); background:rgba(142,229,46,.09); font:800 22px Outfit; }
.content-section { margin-top:70px; }
.content-section > h2 { margin:0 0 25px; font:800 38px Outfit; }
.check-list { display:grid; gap:11px; margin:18px 0; padding:0; list-style:none; }
.check-list li { color:#a9bacb; font-size:13px; }
.check-list li::before { content:"✓"; display:inline-grid; place-items:center; width:20px; height:20px; margin-right:9px; border-radius:50%; color:#07111f; background:var(--lime); font-size:10px; font-weight:800; }
.legal-copy { max-width:900px; }
.legal-copy h2 { margin:42px 0 12px; font:700 28px Outfit; }
.legal-copy h3 { margin:28px 0 8px; font:700 19px Outfit; }
.legal-copy p,.legal-copy li { color:#9cafc2; line-height:1.75; }
.legal-copy a { color:#78c7f3; text-decoration:underline; }
.policy-page { background:radial-gradient(circle at 15% 8%,rgba(142,229,46,.12),transparent 28%),radial-gradient(circle at 86% 2%,rgba(17,136,211,.18),transparent 30%),#06101c; }
.policy-main { max-width:1260px; }
.policy-hero { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:34px; align-items:center; margin-bottom:28px; }
.policy-hero h1 { margin:0 0 18px; font:800 clamp(44px,6vw,82px)/.94 Outfit,sans-serif; letter-spacing:-3px; }
.policy-hero > div > p:not(.eyebrow) { max-width:720px; color:#a4b7ca; font-size:17px; line-height:1.75; }
.policy-promise-card { position:relative; overflow:hidden; min-height:360px; padding:28px; display:grid; align-content:end; border:1px solid rgba(142,229,46,.23); border-radius:30px; background:radial-gradient(circle at 50% 18%,rgba(142,229,46,.2),transparent 42%),linear-gradient(145deg,#0d2639,#07131f); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.policy-promise-card::before { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.08); border-radius:24px; pointer-events:none; }
.policy-promise-card img { position:absolute; top:28px; left:50%; width:200px; height:200px; object-fit:cover; border-radius:42%; transform:translateX(-50%); opacity:.82; mix-blend-mode:screen; filter:drop-shadow(0 20px 28px rgba(0,0,0,.38)); }
.policy-promise-card span { position:relative; color:var(--lime); font:900 10px Outfit; letter-spacing:1.2px; }
.policy-promise-card strong { position:relative; margin:8px 0 5px; color:#eef6ff; font:800 54px Outfit; letter-spacing:-1.8px; }
.policy-promise-card p { position:relative; margin:0; color:#95adc0; font-size:12px; line-height:1.6; }
.policy-trust-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin:34px 0 22px; }
.policy-trust-strip article { min-height:150px; padding:20px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#091725,#07131f); }
.policy-trust-strip span { display:grid; place-items:center; width:42px; height:42px; margin-bottom:17px; border-radius:15px; color:#07111f; background:var(--lime); font:900 13px Outfit; }
.policy-trust-strip h2 { margin:0 0 7px; font:800 19px Outfit; }
.policy-trust-strip p { margin:0; color:#8da4b8; font-size:12px; line-height:1.55; }
.policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.policy-card { padding:26px; border:1px solid var(--line); border-radius:24px; background:#091725; box-shadow:0 18px 52px rgba(0,0,0,.17); }
.policy-card h2 { margin:0 0 18px; font:800 30px Outfit; letter-spacing:-.7px; }
.policy-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.policy-list li { position:relative; padding-left:30px; color:#a0b4c7; font-size:13px; line-height:1.65; }
.policy-list li::before { content:"✓"; position:absolute; left:0; top:1px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#07111f; background:var(--lime); font-size:10px; font-weight:900; }
.policy-process { margin-top:54px; padding:30px; border:1px solid rgba(120,199,243,.17); border-radius:27px; background:linear-gradient(135deg,rgba(17,136,211,.08),rgba(142,229,46,.04)); }
.policy-process .section-title { display:flex; justify-content:space-between; gap:18px; align-items:end; margin-bottom:18px; }
.policy-process h2 { margin:0; font:800 clamp(31px,4vw,46px)/1 Outfit; letter-spacing:-1.3px; }
.policy-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.policy-steps article { padding:20px; border:1px solid var(--line); border-radius:18px; background:#07131f; }
.policy-steps span { color:var(--lime); font:900 10px Outfit; letter-spacing:.9px; }
.policy-steps h3 { margin:15px 0 7px; font:800 20px Outfit; }
.policy-steps p { margin:0; color:#8fa5b8; font-size:12px; line-height:1.6; }
.policy-callout { margin-top:52px; padding:34px; display:flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid rgba(142,229,46,.24); border-radius:28px; background:radial-gradient(circle at 82% 18%,rgba(142,229,46,.16),transparent 30%),linear-gradient(145deg,#0d2435,#07131f); }
.policy-callout h2 { margin:0 0 10px; font:800 clamp(31px,4vw,48px)/1 Outfit; letter-spacing:-1.4px; }
.policy-callout p:not(.mini-label) { max-width:740px; margin:0; color:#9cb0c2; line-height:1.7; }
.policy-callout .button { flex:0 0 auto; }
.policy-smallprint { margin-top:40px; padding-top:25px; border-top:1px solid var(--line); }
.policy-smallprint h2 { margin:0 0 10px; font:800 24px Outfit; }
.policy-smallprint p { max-width:940px; color:#849aae; font-size:12px; line-height:1.75; }

@media (max-width:1080px) {
  .page-header { gap:18px; }
  .page-header nav { gap:18px; }
  .page-header nav a { font-size:12px; }
  .page-header .brand small { display:none; }
  .page-header > .button { padding:0 14px; font-size:11px; }
  .page-header .site-search-header-link b { display:none; }
}

@media (min-width:851px) and (max-width:1000px) {
  .page-header #site-nav a[href="account.html"],
  .page-header #site-nav a[href$="#why-sharper"] { display:none; }
}

@media (max-width:850px) {
  .page-header { height:68px; min-height:68px; padding:0 18px; gap:10px; }
  .page-header nav { display:none; position:absolute; top:67px; left:0; right:0; padding:20px; flex-direction:column; align-items:flex-start; background:#07111f; }
  .page-header nav.open { display:flex; }
  .page-header .menu-toggle { display:block; order:3; margin-left:auto; }
  .page-header > .button { display:none; }
  .page-header .header-account-link { display:none; }
  .page-header .basket-header-link,.page-header .store-cart-header-link,.page-header .site-search-header-link { order:2; margin-left:0; }
  .page-header .basket-header-link { display:none; }
  .page-main { padding:45px 19px 75px; }
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  .policy-hero,.policy-grid,.policy-steps { grid-template-columns:1fr; }
  .policy-trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .policy-promise-card { min-height:300px; }
  .policy-process .section-title,.policy-callout { align-items:flex-start; flex-direction:column; }
  .policy-callout .button,.policy-process .secondary-button { width:100%; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .page-footer { flex-direction:column; }
}

@media (max-width:560px) {
  .policy-hero h1 { font-size:44px; letter-spacing:-2px; }
  .policy-trust-strip { grid-template-columns:1fr; }
  .policy-card,.policy-process,.policy-callout { padding:22px; border-radius:21px; }
}

@media print {
  .page-header,.page-footer,.no-print { display:none!important; }
  .page-body,.page-main { color:#000; background:#fff; }
  .panel { color:#000; background:#fff; border:1px solid #bbb; box-shadow:none; }
}

/* Whole-site search. Shared here so the Worker-served search route is always styled. */
.search-page { background:radial-gradient(circle at 12% 4%,rgba(17,136,211,.18),transparent 30%),radial-gradient(circle at 90% 5%,rgba(142,229,46,.1),transparent 28%),#06101c; }
.search-main { max-width:1280px; min-height:75vh; margin:0 auto; padding:70px 30px 100px; }
.search-hero { max-width:1020px; }
.search-hero h1 { max-width:850px; margin:0; font:900 clamp(50px,7vw,88px)/.94 Outfit,sans-serif; letter-spacing:-3.4px; }
.search-hero h1 em { color:var(--lime); font-style:normal; }
.search-hero > p:not(.eyebrow) { max-width:780px; margin:22px 0 28px; color:#9db1c4; font-size:16px; line-height:1.7; }
.site-search-form { padding:14px; display:grid; grid-template-columns:minmax(320px,1fr) 190px 130px; gap:10px; border:1px solid rgba(120,199,243,.2); border-radius:22px; background:linear-gradient(145deg,#0b1d2e,#07131f); box-shadow:0 25px 70px rgba(0,0,0,.26); }
.site-search-form label { position:relative; display:block; }
.site-search-form label span { position:absolute; left:16px; top:50%; z-index:1; color:#78c7f3; font-size:25px; transform:translateY(-54%); }
.site-search-form input { min-height:54px; padding-left:51px; font-size:15px; }
.site-search-form select,.site-search-form .button { min-height:54px; }
.search-suggestions { margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:#6f859a; font-size:11px; }
.search-suggestions button { min-height:32px; padding:0 11px; border:1px solid #294058; border-radius:999px; color:#a8bed0; background:#07131f; cursor:pointer; font-size:10px; font-weight:800; }
.search-suggestions button:hover { border-color:rgba(142,229,46,.45); color:var(--lime); }
.search-results-shell { margin-top:70px; padding-top:34px; border-top:1px solid var(--line); }
.search-results-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.search-results-heading .mini-label { margin-bottom:7px; }
.search-results-heading h2 { margin:0; font:850 clamp(31px,4.5vw,50px)/1 Outfit,sans-serif; letter-spacing:-1.5px; }
.search-results-heading > span { color:#7f95aa; font-size:12px; font-weight:800; }
.search-status { min-height:20px; margin:12px 0 22px; color:#8fa5b8; font-size:12px; }
.search-result-groups { display:grid; gap:26px; }
.site-result-group { padding:20px; border:1px solid var(--line); border-radius:24px; background:rgba(7,19,31,.68); }
.site-result-group-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.site-result-group-head h2 { margin:0; font:800 23px Outfit,sans-serif; }
.site-result-group-head span { color:#6f8599; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.site-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.site-result-card { min-width:0; min-height:190px; padding:18px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.08); border-radius:18px; color:#dceafa; background:linear-gradient(145deg,#0a1b2b,#07131f); transition:transform .18s ease,border-color .18s ease; }
.site-result-card:hover { transform:translateY(-3px); border-color:rgba(142,229,46,.38); }
.site-result-card > span,.site-result-card > div > span { color:#78c7f3; font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.site-result-card h3 { margin:13px 0 8px; color:#fff; font:800 20px/1.15 Outfit,sans-serif; }
.site-result-card p { margin:0 0 18px; color:#91a7ba; font-size:12px; line-height:1.55; }
.site-result-card strong { margin-top:auto; color:var(--lime); font-size:11px; }
.product-search-result,.console-search-result { min-height:210px; display:grid; grid-template-columns:115px minmax(0,1fr); gap:15px; }
.site-result-image { height:160px; align-self:center; border-radius:14px; background:radial-gradient(circle at 50% 45%,rgba(120,199,243,.14),transparent 58%),#050d17; }
.search-empty { margin-top:18px; }
.search-empty > div { margin-top:18px; display:flex; justify-content:center; gap:10px; }
@media(max-width:1050px){.site-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-search-form{grid-template-columns:minmax(0,1fr) 180px}.site-search-form .button{grid-column:1 / -1}}
@media(max-width:680px){.search-main{padding:48px 18px 75px}.search-hero h1{letter-spacing:-2.3px}.site-search-form{padding:11px;grid-template-columns:1fr;border-radius:18px}.site-search-form .button{grid-column:1}.search-results-heading{align-items:flex-start;flex-direction:column}.site-result-grid{grid-template-columns:1fr}.site-result-group{padding:14px}.product-search-result,.console-search-result{grid-template-columns:88px minmax(0,1fr);padding:13px}.site-result-image{height:130px}.search-empty > div{flex-direction:column}}
/* Focused daily order workspace */
.order-toolbar{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;margin:24px 0}.order-toolbar label{display:grid;gap:8px}.order-toolbar input,.order-toolbar select{width:100%}.order-workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:24px;align-items:start}.order-queue-card{display:grid;gap:12px;width:100%;text-align:left;border:1px solid #283747;background:#0c1828;color:#e9f2fb;border-radius:18px;padding:20px;margin-bottom:14px;cursor:pointer}.order-queue-card.selected{border-color:#a5dc58;background:#142333}.order-queue-card small{color:#abbacc;line-height:1.5}.order-queue-top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.order-detail-card{border:1px solid #2b3c51;background:#0e1b2d;border-radius:22px;padding:26px}.order-detail-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.order-detail-head h3{font-size:24px;overflow-wrap:anywhere}.payment-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.payment-facts>div{background:#071321;padding:14px;border-radius:12px;display:grid;gap:8px}.payment-facts small{color:#aebed0}.order-delivery-card{border:1px solid #344860;border-radius:14px;padding:20px;margin:20px 0}.order-delivery-card address{font-style:normal;line-height:1.65}.packing-item{display:flex;gap:16px;border-bottom:1px solid #2b3c51;padding:18px 0}.packing-item > .item-photo{width:80px;height:80px;background:#091421}.packing-item p{line-height:1.6;margin:8px 0}.order-detail-card fieldset{border:1px solid #344860;border-radius:14px;padding:18px;margin:24px 0}.order-detail-card legend{padding:0 8px;font-weight:700}.packing-check,.listing-private-details .check-row{display:flex!important;align-items:flex-start;gap:12px!important;margin:14px 0;line-height:1.5}.packing-check input,.check-row input[type=checkbox]{width:18px!important;height:18px;flex:none;margin-top:3px}.order-detail-card form>label{display:grid;gap:8px;margin:14px 0}.order-detail-card details,.listing-private-details{border:1px solid #344860;border-radius:14px;padding:18px;margin:20px 0}.order-detail-card summary,.listing-private-details summary{cursor:pointer;font-weight:700}.order-detail-card .form-help{font-size:14px;color:#b5c3d5;line-height:1.6}.refund-area summary{color:#ffcb92}#order-workspace-message,#order-save-result,#refund-result{line-height:1.5;color:#bfe681;overflow-wrap:anywhere}.consent-box{position:fixed;z-index:80;bottom:20px;left:20px;width:min(460px,calc(100vw - 40px));border:1px solid #466074;border-radius:18px;padding:20px;background:#0c1a29;color:#eef4fa;box-shadow:0 10px 45px #0009}.consent-box p{font-size:14px;line-height:1.6}.consent-box .page-actions{gap:12px}.consent-box button{font-size:14px;padding:12px}.privacy-choice{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}
.royal-mail-label-card{margin:24px 0;padding:20px;border:1px solid #486582;border-radius:16px;background:linear-gradient(145deg,#0a1727,#0d2132)}.royal-mail-label-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.royal-mail-label-head h4{margin:2px 0 0}.royal-mail-label-head>span{font-size:12px;font-weight:700;color:#9fc3df;border:1px solid #36536b;border-radius:999px;padding:6px 9px}.royal-mail-label-form{margin-top:16px}.royal-mail-label-form label{display:grid;gap:8px;margin:0}.royal-mail-label-form label span{font-size:12px;color:#9fb1c5}.royal-mail-warning{border-left:3px solid #ffb55f;padding:10px 12px;background:#1b2230;border-radius:0 8px 8px 0}.royal-mail-summary{display:grid;gap:14px;margin-bottom:16px}.royal-mail-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.royal-mail-summary dl>div{background:#071321;border-radius:10px;padding:12px;min-width:0}.royal-mail-summary dt{font-size:12px;color:#9fb1c5}.royal-mail-summary dd{margin:5px 0 0;font-weight:700;overflow-wrap:anywhere}#royal-mail-result{margin:12px 0 0;color:#bfe681;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:900px){.order-workspace{grid-template-columns:1fr}.order-toolbar{grid-template-columns:1fr 1fr}.order-toolbar label:nth-child(2){grid-column:1/-1;grid-row:2}.order-detail-card{padding:18px}.order-detail-head{flex-direction:column}.payment-facts{grid-template-columns:1fr}.packing-item > .item-photo{width:60px;height:60px}}
@media(max-width:900px){.royal-mail-summary dl{grid-template-columns:1fr}.royal-mail-label-card .button,.royal-mail-label-card .secondary-button{width:100%;margin:5px 0}}
[hidden]{display:none!important}
.product-summary{white-space:pre-line}
.consent-box{max-height:calc(100dvh - 40px);overflow:auto}.consent-option{display:flex;align-items:flex-start;gap:12px;margin:14px 0;font-size:14px;line-height:1.45}.consent-option input{width:20px;height:20px;flex:0 0 20px;accent-color:#a5dc58;margin:2px 0}.consent-option small{display:block;color:#b9c8d8;margin-top:3px}.consent-box .page-actions{display:flex;flex-wrap:wrap}.consent-box .page-actions button{flex:1 1 auto}
