/* ==========================================================================
   Byggekurven — site.v3.css (2026-10-07 SEO pass = site.v2.css + §17; v2 stays on disk as rollback)
   Canon: web/.impeccable.md (Nordic Blue / Fresh Green / Warm Orange, DM Sans + Inter,
   receipt signature). site.css stays untouched on disk as the rollback.
   Token plan: canvas #F2F4F6 · surface #FFFFFF · media well #EEF2F6 · ink #2B2F33 ·
   accent Nordic Blue (actions, links, band) · savings Fresh Green (BILLIGST, savings, cart,
   hero CTA; #1B7A35 shade for small green TEXT on white = AA) · deal Warm Orange (PÅ TILBUD only).
   Signature: the receipt — hero example basket, basket panel, and the product buy box.
   What changed vs v1: listings are a ruled "shelf" grid of image-first product cards
   (department-icon placeholders while photos are gathered), full-width search on every
   breakpoint, department mega menu / drawer, facet rail + mobile filter drawer, a sticky buy box
   with a real comparison table and outbound "Til butik" links.
   ========================================================================== */

/* ---------- 1 · Tokens (Byggekurven brand guide: Nordic Blue / Fresh Green / Warm Orange) ---------- */
:root{
  --canvas:    #F2F4F6;   /* Light Grey — primary background */
  --surface:   #FFFFFF;   /* white cards / ledger */
  --surface-2: #E6EAF0;   /* recessed grey */
  --ink:       #2B2F33;   /* Charcoal — body text */
  --ink-2:     #565B61;
  --ink-3:     #646A72;   /* v2: darkened from #878D95 (3.35:1) so 12px meta text passes AA on white and canvas */
  --line:      #E0E4EA;
  --line-2:    #CFD5DC;
  --surface-3: #F7F9FB;   /* table heads */
  --media:     #EEF2F6;   /* placeholder / image well */

  --accent:        #002845;   /* Nordic Blue — primary: buttons, links, nav, focus */
  --accent-strong: #073A5C;   /* blue hover */
  --accent-ink:    #FFFFFF;
  --amber-grad:    var(--accent);   /* alias kept; brand is flat solid colours */

  --savings:    #2BA24C;   /* Fresh Green — BILLIGST, savings, cart */
  --savings-ink:#FFFFFF;
  --savings-text:#1B7A35; /* Fresh Green shade for small text on white (5.4:1) */
  --deal:       #F28C28;   /* Warm Orange — price highlights, PÅ TILBUD */
  --deal-ink:   #8A3E00;

  --coal:        #002845;   /* Nordic Blue band — hero / footer */
  --coal-2:      #001A2C;   /* deeper blue */
  --coal-ink:    #FFFFFF;
  --coal-ink-2:  #AEC2D6;   /* light blue-grey text on blue */
  --coal-line:   #1B3A57;

  --ok:   #2BA24C;
  --warn: #F28C28;
  --risk: #D64545;

  --shadow-sm: 0 1px 2px rgba(0,40,69,0.07);
  --shadow-md: 0 6px 20px -8px rgba(0,40,69,0.20), 0 1px 2px rgba(0,40,69,0.08);
  --shadow-lg: 0 24px 60px -24px rgba(0,26,44,0.38), 0 2px 6px rgba(0,40,69,0.10);

  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-pill: 999px;
  --shell: 1280px;
  --gutter: clamp(16px, 4vw, 40px);

  --ff-display: "DM Sans", system-ui, sans-serif;
  --ff-body: "DM Sans", system-ui, sans-serif;
  --ff-mono: "DM Sans", system-ui, sans-serif;   /* prices: DM Sans + tabular-nums (brand: don't mix families) */
  --ff-eyebrow: "Inter", system-ui, sans-serif;
}

/* ---------- 2 · Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--ff-body);
  font-size:15px;
  line-height:1.55;
  color:var(--ink);
  background:var(--canvas);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100dvh;
}
/* clean modern ground — no texture overlay (brand guide: modern, minimal) */
img,svg{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
input,select,textarea{background:var(--surface);}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px;}
::selection{background:var(--accent);color:var(--accent-ink);}

/* ---------- 3 · Typography ---------- */
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:700;line-height:1.08;letter-spacing:-0.01em;color:var(--ink);}
h1{font-size:clamp(2.05rem,1.4rem + 2.6vw,3.05rem);}
h2{font-size:clamp(1.45rem,1.15rem + 1.1vw,1.95rem);}
h3{font-size:1.15rem;font-weight:600;}
p{max-width:70ch;}
strong,b{font-weight:600;}
em{font-style:italic;}
.mono,dd,.retailer-row__price strong,.offer-row__price strong,.receipt__sum strong,.receipt-lines strong,.receipt__number,.tool-card__index,.category-directory__index,.step-list__num,.error-code{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;}

/* ---------- 4 · Layout primitives ---------- */
.page-shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);}
.page-main{padding-block:clamp(28px,5vw,56px);}
main{position:relative;z-index:2;}
.section{padding-block:clamp(40px,6vw,72px);}
.section--tint{background:var(--surface-2);}
.section--coal{background:var(--coal);color:var(--coal-ink);}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:clamp(20px,3vw,32px);}
.section-heading h2{letter-spacing:-0.015em;}
.section-heading > div{display:flex;flex-direction:column;gap:6px;}

.eyebrow{font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
.eyebrow--amber{color:var(--accent);}
.section--coal .eyebrow,.hero .eyebrow{color:var(--coal-ink-2);}
.hero .eyebrow--amber{color:#5BC97A;}

.text-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--ink);padding:6px 2px;border-bottom:1px solid var(--line-2);transition:color .15s, border-color .15s, gap .15s;}
.text-link svg{transition:transform .2s;}
.text-link:hover{color:var(--accent-strong);border-color:var(--accent);gap:10px;}
.text-link:hover svg{transform:translateX(2px);}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--ink);color:var(--canvas);padding:10px 16px;border-radius:0 0 var(--r-md) var(--r-md);transition:top .15s;}
.skip-link:focus{top:0;}

/* ---------- 5 · Buttons, badges, chips ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff-body);font-weight:600;font-size:15px;padding:12px 20px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:transform .12s ease, box-shadow .15s ease, background .15s, border-color .15s, color .15s;text-align:center;line-height:1.2;}
.button:active{transform:scale(.98);}
.button svg{flex:none;}
.button--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm);}
.button--primary:hover{background:var(--accent-strong);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.button--quiet{background:var(--surface);color:var(--ink);border-color:var(--line-2);}
.button--quiet:hover{background:var(--surface-2);border-color:var(--ink-3);}
.button--full{width:100%;}
.button--ghost{background:oklch(1 0 0 / .06);color:var(--coal-ink);border-color:oklch(1 0 0 / .18);backdrop-filter:blur(4px);}
.button--ghost:hover{background:oklch(1 0 0 / .12);}
.button-row{display:flex;gap:12px;flex-wrap:wrap;}
.text-button{background:none;border:0;color:var(--ink-2);font-weight:600;font-size:14px;cursor:pointer;padding:4px 2px;border-radius:4px;transition:color .15s;}
.text-button:hover{color:var(--accent-strong);}

.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-pill);line-height:1.4;}
.badge--offer{background:rgba(242,140,40,.16);color:#8A3E00;}
.badge--cheapest{background:rgba(43,162,76,.16);color:var(--savings-text);}
.badge--risk-lav{background:oklch(0.92 0.06 152);color:oklch(0.38 0.09 152);}
.badge--risk-mellem{background:rgba(242,140,40,.14);color:oklch(0.42 0.10 70);}
.badge--risk-hoej{background:oklch(0.91 0.07 28);color:oklch(0.42 0.12 28);}
.stamp{white-space:nowrap;display:inline-flex;align-items:center;align-self:flex-start;font-family:var(--ff-display);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);background:var(--savings);color:var(--savings-ink);box-shadow:var(--shadow-sm);}

/* ---------- 6 · Header v2: logo · full-width search · kurv, department band + mega menu ---------- */
.wordmark{display:inline-flex;align-items:center;flex:none;color:var(--ink);}
.wordmark__logo{display:block;width:auto;height:38px;}
.site-footer .wordmark__logo{height:30px;}
.hd{position:relative;background:var(--surface);border-bottom:1px solid var(--line);}
.hd__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,32px);padding-block:14px;}
.hd__burger{display:none;}
.hd .wordmark__logo{height:46px;}
.hd__search{position:relative;display:flex;align-items:center;width:100%;max-width:760px;height:48px;justify-self:center;background:var(--surface);border:2px solid var(--accent);border-radius:var(--r-md);transition:box-shadow .15s;}
.hd__search:focus-within{box-shadow:0 0 0 4px rgba(0,40,69,.14);}
.hd__search > .ico{flex:none;margin-left:14px;color:var(--ink-3);}
.hd__search input{flex:1;min-width:0;height:100%;padding:0 12px;border:0;background:transparent;font-size:15.5px;color:var(--ink);}
.hd__search input::placeholder{color:var(--ink-3);}
.hd__search input:focus{outline:none;}
.hd__search input::-webkit-search-cancel-button{-webkit-appearance:none;}
.hd__search-btn{flex:none;height:calc(100% + 4px);margin:-2px -2px -2px 0;padding:0 22px;border:0;border-radius:0 var(--r-md) var(--r-md) 0;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:15px;cursor:pointer;transition:background .15s;}
.hd__search-btn:hover{background:var(--accent-strong);}
.hd__search .typeahead{top:calc(100% + 6px);margin-top:0;}
.hd__cart{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:6px 16px 6px 12px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;}
.hd__cart:hover{border-color:var(--accent);}
.hd__cart:active{transform:scale(.98);}
.hd__cart-ico{position:relative;display:grid;place-items:center;color:var(--accent);}
.hd__cart-ico .basket-count{position:absolute;top:-9px;right:-11px;border:2px solid var(--surface);height:22px;min-width:22px;}
.hd__cart-txt{display:flex;flex-direction:column;line-height:1.25;}
.hd__cart-label{font-weight:700;font-size:14px;color:var(--ink);}
.hd__cart-total{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.hd__cart:has([data-basket-count][aria-label="0 varer"]) .hd__cart-total{display:none;}
.hd__nav{background:var(--coal);}
.hd__navrow{display:flex;align-items:center;gap:6px;min-height:46px;}
.hd__all{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 14px;margin-left:-6px;border-radius:var(--r-sm);background:rgba(255,255,255,.10);color:var(--coal-ink);font-weight:700;font-size:14px;transition:background .15s;}
.hd__all:hover,.hd__all[aria-expanded="true"]{background:rgba(255,255,255,.18);}
.hd__depts,.hd__util{display:flex;list-style:none;margin:0;padding:0;}
.hd__depts{flex:1;min-width:0;gap:2px;overflow-x:auto;scrollbar-width:none;}
.hd__depts::-webkit-scrollbar{display:none;}
.hd__depts a,.hd__util a{display:block;padding:12px 10px;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--coal-ink-2);white-space:nowrap;transition:color .15s,background .15s;}
.hd__depts a:hover,.hd__util a:hover{color:var(--coal-ink);background:rgba(255,255,255,.08);}
.hd__util{flex:none;gap:2px;padding-left:10px;border-left:1px solid var(--coal-line);}
.hd__util a{color:var(--coal-ink);font-weight:600;}

/* mega menu (desktop dropdown under the band; mobile = left drawer, see §24) */
.mega{position:absolute;left:0;right:0;top:100%;z-index:85;display:none;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);}
.mega.is-open,.mega:target{display:block;}
.mega__head{display:none;}
.mega__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 36px;padding-block:28px 24px;}
.mega__dept-link{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;color:var(--ink);}
.mega__dept-link img{flex:none;width:40px;height:40px;padding:5px;border-radius:var(--r-sm);background:var(--media);}
.mega__dept-link small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3);}
.mega__dept-link:hover span{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;}
.mega__dept ul{list-style:none;margin:10px 0 0 52px;padding:0;}
.mega__dept li a{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px;color:var(--ink-2);}
.mega__dept li a span{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.mega__dept li a:hover{color:var(--accent-strong);}
.mega__foot{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:14px 0 18px;border-top:1px solid var(--line);font-size:14px;font-weight:600;}
.mega__foot a{color:var(--accent);}
.mega__foot a:hover{text-decoration:underline;text-underline-offset:3px;}

/* ---------- 7 · Typeahead ---------- */
.typeahead{position:absolute;z-index:90;left:0;right:0;top:100%;margin-top:6px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden;}
.typeahead[hidden]{display:none;}
.typeahead a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;border-bottom:1px solid var(--line);}
.typeahead a:last-child{border-bottom:0;}
.typeahead a:hover,.typeahead a.is-active{background:var(--surface-2);}
.typeahead a strong{font-family:var(--ff-mono);font-weight:500;color:var(--ink-2);}

.typeahead__state{padding:12px 14px;font-size:13.5px;color:var(--ink-2);}
.typeahead__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.typeahead__price{flex:none;font-weight:600 !important;color:var(--ink) !important;font-variant-numeric:tabular-nums;}
.typeahead a.typeahead__all{justify-content:flex-start;background:var(--surface-3);font-weight:600;color:var(--accent);}

/* ---------- 8 · Forside hero v2 (search-led, receipt signature on the right) ---------- */
.hero2{background:var(--coal);color:var(--coal-ink);padding-block:clamp(32px,5vw,60px);}
.hero2__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center;}
.hero2__eyebrow{font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7FD49A;}
.hero2 h1{margin-top:10px;color:var(--coal-ink);font-size:clamp(2.1rem,1.5rem + 2.4vw,3rem);line-height:1.04;letter-spacing:-.02em;max-width:16ch;}
.hero2__lede{margin-top:14px;max-width:46ch;font-size:clamp(16px,1.2vw,18px);color:var(--coal-ink-2);}
.hero2__quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;}
.hero2__quick span{color:var(--coal-ink-2);margin-right:2px;}
.hero2__quick a{padding:5px 12px;border:1px solid rgba(255,255,255,.24);border-radius:var(--r-pill);color:var(--coal-ink);transition:background .15s,border-color .15s;}
.hero2__quick a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.45);}
.hero2__facts{margin-top:22px;padding-top:16px;border-top:1px solid var(--coal-line);font-size:14px;color:var(--coal-ink-2);max-width:none;}
.hero2__facts strong{color:var(--coal-ink);font-weight:700;font-variant-numeric:tabular-nums;}
.search-plank--hero .search-plank__control{margin-top:24px;padding:6px 6px 6px 16px;background:var(--surface);border:0;border-radius:var(--r-md);backdrop-filter:none;box-shadow:0 10px 30px -12px rgba(0,0,0,.45);}
.search-plank--hero .search-plank__control > .ico{color:var(--ink-3);}
.search-plank--hero .search-plank__control input{color:var(--ink);font-size:17px;}
.search-plank--hero .search-plank__control input::placeholder{color:var(--ink-3);}
.search-plank--hero .search-plank__control:focus-within{box-shadow:0 0 0 4px rgba(43,162,76,.45);}
.search-plank--hero .button{padding:12px 22px;font-size:19px;} /* >=18.66px bold = large text: white on Fresh Green (3.29:1) passes AA-large */

/* ---------- 9 · Search plank ---------- */
.search-plank{position:relative;}
.search-plank__control{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 14px;background:oklch(1 0 0 / .07);border:1px solid oklch(1 0 0 / .16);border-radius:var(--r-pill);backdrop-filter:blur(6px);transition:border-color .15s, box-shadow .15s;}
.search-plank--hero .search-plank__control{margin-top:26px;}
.search-plank__control > svg{color:var(--coal-ink-2);flex:none;}
.search-plank__control input{flex:1;min-width:0;background:transparent;border:0;padding:10px 4px;font-size:16px;color:var(--coal-ink);}
.search-plank__control input::placeholder{color:var(--coal-ink-2);}
.search-plank__control input:focus{outline:none;}
.search-plank__control:focus-within{border-color:rgba(7,58,92,.7);box-shadow:0 0 0 4px rgba(0,40,69,.18);}
.search-plank--hero .button{padding-block:11px;}
.search-plank--hero .button--primary{background:var(--savings);color:var(--savings-ink);}
.search-plank--hero .button--primary:hover{background:#279043;}
.search-plank--hero label{position:absolute;left:-9999px;}
.search-plank--compact{margin-top:18px;}
.search-plank--compact label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;}
.search-plank--compact .search-plank__control{background:var(--surface);border-color:var(--line-2);padding-left:14px;}
.search-plank--compact .search-plank__control > svg{color:var(--ink-3);}
.search-plank--compact input{color:var(--ink);}
.search-plank--compact input::placeholder{color:var(--ink-3);}

/* ---------- 10 · Receipt (the signature) ---------- */
.receipt{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:clamp(20px,2.5vw,28px);}
.receipt--hero{background:var(--surface);box-shadow:var(--shadow-lg);}
.receipt__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px dashed var(--line-2);margin-bottom:16px;}
.receipt__heading h2,.receipt__title{font-size:1.25rem;}
.receipt__heading .eyebrow{display:block;margin-bottom:6px;}
.receipt__number{font-size:13px;color:var(--ink-3);}
.receipt-lines{list-style:none;padding:0;display:flex;flex-direction:column;gap:0;}
.receipt-lines li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);}
.receipt-lines li:last-child{border-bottom:0;}
.receipt-lines a{font-weight:600;color:var(--ink);}
.receipt-lines a:hover{color:var(--accent-strong);}
.receipt-lines small{display:block;margin-top:3px;font-size:12.5px;color:var(--ink-3);}
.receipt-lines strong{font-size:15px;font-weight:500;white-space:nowrap;}
.receipt__sum{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:14px;padding-top:16px;border-top:1px dashed var(--line-2);}
.receipt__sum span{font-size:13px;color:var(--ink-2);max-width:24ch;}
.receipt__sum strong{font-family:var(--ff-mono);font-size:clamp(20px,2vw,24px);font-weight:500;}
.receipt__truth{margin-top:14px;font-size:12.5px;color:var(--ink-3);line-height:1.5;}
/* print-in entrance for the hero receipt */
.receipt--hero .receipt-lines li,.receipt--hero .receipt__sum{opacity:0;transform:translateY(6px);animation:print-in .5s cubic-bezier(.22,.61,.36,1) forwards;}
.receipt--hero .receipt-lines li:nth-child(1){animation-delay:.05s;}
.receipt--hero .receipt-lines li:nth-child(2){animation-delay:.13s;}
.receipt--hero .receipt-lines li:nth-child(3){animation-delay:.21s;}
.receipt--hero .receipt__sum{animation-delay:.30s;}
@keyframes print-in{to{opacity:1;transform:none;}}

/* ---------- 11 · Product card + the shelf grid ---------- */
/* Listings are a "shelf": one white frame, cells divided by 1px rules (no floating card boxes).
   The inner grid sits 1px outside the frame on the right/bottom so outer rules are clipped. */
.pgrid-frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(204px,1fr));margin:0 -1px -1px 0;}
.pgrid--wide{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));}
.pcard{position:relative;display:flex;flex-direction:column;min-width:0;padding:14px 14px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);}
.pcard__media{position:relative;display:grid;place-items:center;aspect-ratio:5/4;margin-bottom:12px;border-radius:var(--r-sm);background:var(--surface);overflow:hidden;}
.pcard__media img{width:100%;height:100%;object-fit:contain;transition:transform .25s cubic-bezier(.22,.61,.36,1);}
.pcard__media--ph{background:var(--media);}
.pcard__media--ph img{width:38%;height:auto;opacity:.9;}
.pcard:hover .pcard__media img{transform:scale(1.04);}
.pcard__badges{position:absolute;left:8px;top:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.pcard__badges .badge{box-shadow:0 1px 2px rgba(0,40,69,.14);}
.pcard__badges .badge--offer{background:#FDEDDD;}
.pcard__badges .badge--save{background:#E1F2E6;}
.pcard__body{min-width:0;}
.pcard__brand{min-height:1.45em;line-height:1.45;font-family:var(--ff-eyebrow);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcard__name{margin-top:3px;font-size:14.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.pcard__name a{color:inherit;}
.pcard__name a::after{content:"";position:absolute;inset:0;z-index:1;}
.pcard__name a:focus-visible{outline:none;}
.pcard__name a:focus-visible::after{outline:2px solid var(--accent);outline-offset:-3px;border-radius:var(--r-sm);}
.pcard:hover .pcard__name{color:var(--accent-strong);}
.pcard__spec{margin-top:4px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.pcard__price{margin-top:auto;padding-top:12px;min-height:78px;}
.pcard__now{display:flex;align-items:baseline;gap:5px;white-space:nowrap;}
.pcard__now span{font-size:12.5px;color:var(--ink-3);}
.pcard__now strong{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;}
.pcard__before{margin-top:1px;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.pcard__before del{text-decoration:line-through;}
.pcard__unit{margin-top:1px;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.pcard__shops{margin-top:10px;}
.pcard__chips{display:flex;flex-wrap:wrap;gap:4px;height:23px;overflow:hidden;} /* one row; chips that do not fit wrap out of sight, the count line below carries the total */
.chip{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);font-size:11.5px;font-weight:600;line-height:1.5;color:var(--ink-2);white-space:nowrap;}
.chip--best{border-color:rgba(43,162,76,.45);background:rgba(43,162,76,.10);color:var(--savings-text);}
.chip--more{color:var(--ink-3);}
.pcard__count{margin-top:5px;font-size:12px;color:var(--ink-3);}
.pcard__add{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin-top:12px;padding:0 12px;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--surface);color:var(--accent);font-weight:700;font-size:13.5px;cursor:pointer;transition:background .15s,color .15s,transform .12s;}
.pcard__add:hover{background:var(--accent);color:var(--accent-ink);}
.pcard__add:active{transform:scale(.97);}
.pcard__add:disabled{border-color:var(--savings);background:var(--savings);color:var(--savings-ink);}

/* list view (toggle; persisted in localStorage bk_view) */
.view-list .pgrid{grid-template-columns:1fr;}
.view-list .pcard{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(150px,auto) 150px;grid-template-areas:"media body price add" "media shops price add";column-gap:18px;align-items:center;padding:12px 16px;}
.view-list .pcard__media{grid-area:media;width:96px;margin:0;}
.view-list .pcard__badges{left:4px;top:4px;}
.view-list .pcard__badges .badge{font-size:9.5px;padding:2px 6px;}
.view-list .pcard__body{grid-area:body;align-self:end;}
.view-list .pcard__name{min-height:0;}
.view-list .pcard__shops{grid-area:shops;align-self:start;margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}
.view-list .pcard__count{margin-top:0;}
.view-list .pcard__price{grid-area:price;margin:0;padding:0;text-align:right;}
.view-list .pcard__now{justify-content:flex-end;}
.view-list .pcard__add{grid-area:add;margin:0;}

/* homepage rails reuse the shelf; on phones they become a horizontal strip (see §24) */
.pgrid--rail{grid-template-columns:repeat(6,minmax(0,1fr));}

/* ---------- 12 · Listing: heading, sub-category chips, facet rail, toolbar, chips ---------- */
.page-main--listing{padding-top:18px;}
.lst-head{margin:2px 0 18px;}
.lst-head h1{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.3rem);letter-spacing:-.015em;}
.lst-head__meta{margin-top:6px;font-size:14px;color:var(--ink-2);}
.lst-head__meta a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.lst-head__lede{margin-top:8px;max-width:75ch;font-size:14.5px;color:var(--ink-2);}
.lst-head__lede a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.lst-head--search{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.lst-head--search .search-plank{max-width:720px;}
.subcats{display:none;}
.lst{display:grid;grid-template-columns:252px minmax(0,1fr);gap:clamp(20px,2.4vw,32px);align-items:start;}
.facets{position:sticky;top:16px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);}
.facets__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 6px;}
.facets__head h2,.facets__title{font-size:17px;}
.facets__close{display:none;}
.facets__scroll{overflow-y:auto;overscroll-behavior:contain;}
.facets__form{margin:0;}
.facet{margin:0;padding:14px 18px;border:0;border-top:1px solid var(--line);min-width:0;}
.facets__scroll > .facet:first-child{border-top:0;}
.facet legend,.facet h3,.facet__title{float:left;width:100%;margin:0 0 8px;padding:0;font-family:var(--ff-eyebrow);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);}
.facet legend + *{clear:both;}
.check{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;font-size:14px;color:var(--ink);cursor:pointer;}
.check input{width:18px;height:18px;margin:0;accent-color:var(--accent);}
.check small{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.check:hover span{color:var(--accent-strong);}
.facet__range{display:flex;align-items:center;gap:8px;clear:both;}
.facet__range label{flex:1;min-width:0;}
.facet__range input{width:100%;height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:14px;font-variant-numeric:tabular-nums;}
.facet__range input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,40,69,.12);}
.facet__range > span{color:var(--ink-3);}
.facets__actions{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 18px 16px;border-top:1px solid var(--line);}
.facets__actions .text-link{border-bottom:0;font-size:13.5px;color:var(--accent);}
.facet--nav ul{list-style:none;margin:0;padding:0;clear:both;}
.facet--nav a{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 -8px;padding:6px 8px;border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);transition:background .15s,color .15s;}
.facet--nav a span{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.facet--nav a:hover{background:var(--surface-2);color:var(--ink);}
.facet--nav a.is-active{background:var(--surface-2);color:var(--ink);font-weight:700;}
.facet__more{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:600;color:var(--accent);}
.facet__more:hover{text-decoration:underline;text-underline-offset:3px;}
.facets-backdrop{display:none;}

.results{min-width:0;}
.results__bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;}
.results__count{margin-right:auto;font-family:var(--ff-body);font-size:15px;font-weight:500;letter-spacing:0;color:var(--ink-2);}
.results__count strong{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.results__count span{color:var(--ink-3);font-weight:400;}
.results__filter{display:none;}
.results__sort{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);}
.results__sort select{height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);font-size:14px;color:var(--ink);cursor:pointer;}
.results__sort select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.viewtoggle{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;background:var(--surface);}
.viewtoggle[hidden]{display:none;}
.viewtoggle button{display:grid;place-items:center;width:38px;height:36px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;}
.viewtoggle button + button{border-left:1px solid var(--line-2);}
.viewtoggle button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0 0 12px;padding:0;}
.chips a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border-radius:var(--r-pill);background:rgba(0,40,69,.08);color:var(--accent);font-size:13px;font-weight:600;transition:background .15s;}
.chips a:hover{background:rgba(0,40,69,.14);}
.chips a.chips__clear{background:none;padding-inline:4px;text-decoration:underline;text-underline-offset:3px;color:var(--ink-2);}
.lst-about{margin-top:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--line);}
.lst-about h2{font-size:1.4rem;margin-bottom:14px;}
.lst-about__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;}
.lst-about__grid .plain-note{margin-top:0;}
.empty-state__links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px !important;}
.empty-state__links a{margin:0 !important;padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:13.5px;}

/* ---------- 13 · Product page v2: media · info · sticky buy box · comparison table ---------- */
.page-main--pdp{padding-top:18px;}
.pdp{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"top buy" "compare buy" "variants buy" "history buy";gap:28px clamp(24px,3vw,40px);align-items:start;}
.pdp__top{grid-area:top;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(20px,2.5vw,32px);align-items:start;}
.pdp__media{display:grid;place-items:center;aspect-ratio:1/1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.pdp__media img{width:100%;height:100%;object-fit:contain;padding:16px;}
.pdp__media--ph{background:var(--media);}
.pdp__media--ph img{width:34%;height:auto;padding:0;}
.pdp__brand a,.pdp__brand{font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.pdp__brand a:hover{text-decoration:underline;text-underline-offset:3px;}
.pdp__info h1{margin-top:6px;font-size:clamp(1.45rem,1.1rem + 1.1vw,1.9rem);line-height:1.15;letter-spacing:-.01em;}
.pdp__facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 14px;padding:0;}
.pdp__facts li{display:inline-flex;align-items:baseline;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:13.5px;font-variant-numeric:tabular-nums;}
.pdp__facts li span{font-family:var(--ff-eyebrow);font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.pdp__facts a{color:var(--accent);font-weight:600;}
.pdp__summary{font-size:14.5px;color:var(--ink-2);}
.pdp__summary strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.pdp__info .inline-notice{margin-top:14px;}
.pdp__info .inline-notice a{color:var(--accent);font-weight:600;text-decoration:underline;}
.pdp__buy{grid-area:buy;position:sticky;top:16px;}
.buybox{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);}
.buybox__eyebrow{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2);}
.buybox__price{margin-top:6px;}
.buybox__price strong{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.buybox__before{margin-top:2px;font-size:13px;color:var(--ink-3);}
.buybox__unit{margin-top:2px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.buybox__saves{margin-top:12px;padding:10px 12px;border-radius:var(--r-sm);background:rgba(43,162,76,.10);color:var(--savings-text);font-size:13.5px;}
.buybox__saves strong{white-space:nowrap;}
.buybox__actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line-2);}
.buybox__actions .button{flex:1;padding-inline:12px;}
.buybox__go{margin-top:10px;}
.buybox__note{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--ink-3);}
.qty-stepper--lg button{width:40px;height:46px;}
.qty-stepper--lg input{width:42px;height:46px;font-size:15px;}
.pdp__compare{grid-area:compare;min-width:0;}
.pdp__variants{grid-area:variants;min-width:0;}
.pdp__history{grid-area:history;min-width:0;}
.pdp__sectionhead{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;}
.pdp__sectionhead h2{font-size:1.35rem;letter-spacing:-.01em;}
.pdp__sectionhead p{font-size:13.5px;color:var(--ink-3);}
.offers{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:14px;}
.offers th,.offers td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-weight:400;}
.offers thead th{padding-block:10px;background:var(--surface-3);font-family:var(--ff-eyebrow);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.offers tbody tr:last-child > *{border-bottom:0;}
.offers tr.is-cheapest{background:rgba(43,162,76,.06);}
.offers__shop strong{display:block;font-size:15px;font-weight:700;color:var(--ink);}
.offers__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.offers__badges:empty{display:none;}
.offers small{display:block;margin-top:2px;font-size:12px;color:var(--ink-3);}
.offers__unit,.offers__delivery{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-2);}
.offers__num{text-align:right !important;white-space:nowrap;}
.offers__num del{display:block;font-size:12px;color:var(--ink-3);}
.offers__num strong{font-size:17px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.offers tr.is-cheapest .offers__num strong{font-size:19px;}
.offers__go{width:1%;text-align:right !important;white-space:nowrap;}
.pdp__footnote{margin-top:10px;font-size:12.5px;color:var(--ink-3);max-width:80ch;}
.pdp__history-line{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:13.5px;color:var(--ink-2);max-width:none;}
.pdp__history-line strong{color:var(--ink);}
.button--sm{gap:6px;padding:8px 12px;font-size:13.5px;border-radius:var(--r-sm);}
.badge--save{background:rgba(43,162,76,.14);color:var(--savings-text);text-transform:none;letter-spacing:0;font-size:11.5px;}

/* ---------- 14 · Forside sections: departments, retailer strip, before-you-buy ---------- */
.section--tight{padding-block:clamp(28px,4vw,44px);}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-bottom:16px;}
.section-head h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.7rem);letter-spacing:-.015em;}
.section-head h3{font-size:1.2rem;}
.section-head p{margin-top:4px;font-size:14px;color:var(--ink-2);}
.section-head .text-link{border-bottom:0;color:var(--accent);}
.dept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0 -1px -1px 0;padding:0;}
.dept-frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.dept-tile{padding:18px 18px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.dept-tile__main{display:flex;align-items:center;gap:12px;}
.dept-tile__main img{flex:none;width:48px;height:48px;padding:6px;border-radius:var(--r-md);background:var(--media);transition:transform .2s;}
.dept-tile__main strong{display:block;font-size:15.5px;font-weight:700;line-height:1.25;color:var(--ink);}
.dept-tile__main small{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.dept-tile__main:hover strong{color:var(--accent-strong);}
.dept-tile__main:hover img{transform:translateY(-2px);}
.dept-tile__kids{display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;margin:10px 0 0 60px;padding:0;font-size:13px;}
.dept-tile__kids a{color:var(--ink-2);}
.dept-tile__kids a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;}
.shops{background:var(--surface);border-block:1px solid var(--line);}
.shops__inner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 32px;padding-block:22px;}
.shops h2{font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.shops__list{display:flex;flex-wrap:wrap;gap:10px 30px;list-style:none;margin:0;padding:0;}
.shops__name{font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--accent);}
.shops__list small{display:block;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.shops__note{grid-column:1 / -1;font-size:13px;color:var(--ink-2);max-width:none;}
.shops__note a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.prep{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);}
.linklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.linklist a{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;padding:12px 2px;border-bottom:1px solid var(--line);transition:background .15s;}
.linklist a:hover{background:var(--surface);}
.linklist strong{font-weight:700;color:var(--ink);}
.linklist a:hover strong{color:var(--accent-strong);}
.linklist span{font-size:13.5px;color:var(--ink-2);}
.receipt__compare{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;color:var(--ink-2);}
.receipt__compare .stamp{text-transform:none;letter-spacing:.01em;font-size:12px;}
.receipt__compare s{color:var(--ink-3);font-variant-numeric:tabular-nums;}

/* drawers: shared backdrop when the mobile menu / filter drawer is open (JS adds the class) */
html.has-drawer{overflow:hidden;}
html.has-drawer body::after{content:"";position:fixed;inset:0;z-index:125;background:rgba(0,26,44,.45);}
/* ---------- 15 · Shared row bits (thumbs, arrows) ---------- */
.product-thumb{width:56px;height:56px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);overflow:hidden;flex:none;}
.product-thumb img{width:100%;height:100%;object-fit:cover;}
.product-thumb svg{width:30px;height:30px;}
.row-arrow{display:grid;place-items:center;width:28px;height:28px;color:var(--ink-3);border-radius:var(--r-pill);transition:background .15s, color .15s, transform .15s;}

/* ---------- 16 · Footer ---------- */
.site-footer{background:var(--coal);color:var(--coal-ink-2);padding-block:clamp(40px,6vw,64px) 28px;position:relative;z-index:2;}
.site-footer__grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px;}
.site-footer__brand p{margin-top:12px;font-size:13.5px;color:var(--coal-ink-2);max-width:30ch;}
.site-footer .wordmark{color:var(--coal-ink);}
.site-footer .wordmark__mark{color:var(--accent);}
.site-footer__head{font-family:var(--ff-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coal-ink);margin-bottom:14px;}
.site-footer nav{display:flex;flex-direction:column;gap:9px;}
.site-footer nav a{font-size:14px;color:var(--coal-ink-2);transition:color .15s;}
.site-footer nav a:hover{color:var(--accent);}
.site-footer__note{margin-top:36px;padding-top:20px;border-top:1px solid var(--coal-line);font-size:12.5px;color:var(--coal-ink-2);max-width:none;}

/* ---------- 17 · Basket panel + bottom bar ---------- */
.receipt-panel{position:fixed;z-index:120;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.22,.61,.36,1);}
.receipt-panel[hidden]{display:none;}
.receipt-panel:not([hidden]){transform:translateX(0);}
.receipt-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--line);}
.receipt-panel__head h2,.receipt-panel__title{font-size:1.15rem;}
.receipt-panel__head .eyebrow{display:block;margin-bottom:4px;}
.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .15s, color .15s;}
.icon-button:hover{background:var(--surface-2);color:var(--ink);}
.receipt-panel__body{flex:1;overflow-y:auto;padding:8px 20px;}
.receipt-panel__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);}
.receipt-panel__line strong{font-weight:600;font-size:14px;}
.receipt-panel__line span{font-size:12px;color:var(--ink-3);}
.receipt-panel__line > strong{font-family:var(--ff-mono);font-weight:500;}
.receipt-panel__total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--surface-2);border-top:1px solid var(--line);}
.receipt-panel__total strong{font-family:var(--ff-mono);font-size:16px;font-weight:500;}
.receipt-panel > .button{margin:16px;border-radius:var(--r-md);}
.basket-empty{padding:24px 0;text-align:center;color:var(--ink-2);}
.basket-empty h3{margin-bottom:6px;font-size:1.1rem;}
.basket-empty p{margin-inline:auto;font-size:14px;}
.basket-bottom-bar{position:fixed;z-index:110;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--ink);color:var(--canvas);box-shadow:0 -8px 24px -12px oklch(0.22 0.02 70 / .5);}
.basket-bottom-bar > span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;}
.basket-bottom-bar strong{font-family:var(--ff-mono);font-size:15px;font-weight:500;color:var(--accent);}
.total-tick{animation:tick .2s cubic-bezier(.22,.61,.36,1);}
@keyframes tick{0%{transform:scale(.96);opacity:.6;}100%{transform:none;opacity:1;}}

/* ---------- 18 · Basket page ---------- */
.basket-page .page-main{padding-bottom:120px;}
.basket-workspace{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);align-items:start;margin-top:8px;}
.basket-items,.basket-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(16px,2vw,22px);}
.basket-items .section-heading{margin-bottom:16px;}
.basket-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 12px;}
.basket-empty svg{color:var(--ink-3);}
.basket-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.basket-item:last-child{border-bottom:0;}
.basket-item .product-thumb{width:48px;height:48px;}
.basket-item h3{font-size:14.5px;line-height:1.3;}
.basket-item p{font-size:12.5px;color:var(--ink-3);}
.basket-item__fallback-price{font-size:12px;color:var(--ink-2);margin-top:3px;}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-pill);overflow:hidden;}
.qty-stepper button{display:grid;place-items:center;width:34px;height:34px;background:var(--surface);border:0;cursor:pointer;color:var(--ink-2);transition:background .15s;}
.qty-stepper button:hover{background:var(--surface-2);color:var(--ink);}
.qty-stepper input{width:38px;height:34px;text-align:center;border:0;background:transparent;font-family:var(--ff-mono);font-size:14px;-moz-appearance:textfield;}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.receipt--results{padding:0;overflow:hidden;}
.receipt-skeleton{padding:22px;display:flex;flex-direction:column;gap:14px;}
.receipt-skeleton span{display:block;height:16px;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2),oklch(0.96 0.01 80),var(--surface-2));background-size:200% 100%;animation:shimmer 1.3s infinite;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.receipt-result{padding:clamp(16px,2vw,22px);border-bottom:1px solid var(--line);}
.receipt-result:last-child{border-bottom:0;}
.receipt-result__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.receipt-result__head h3{font-size:1.1rem;}
.receipt-result__head p{font-size:13px;color:var(--ink-2);}
.receipt-result__head > strong{font-family:var(--ff-mono);font-size:18px;font-weight:500;white-space:nowrap;}
.receipt-result__math{display:flex;flex-direction:column;gap:6px;margin:12px 0;}
.receipt-result__math > div{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2);}
.receipt-result__math dd{font-family:var(--ff-mono);color:var(--ink);}
.receipt-result__total{padding-top:8px;border-top:1px dashed var(--line-2);}
.receipt-result__total dd{font-weight:500;font-size:16px;}
.receipt-result__missing{font-size:12.5px;color:var(--risk);margin:10px 0;}
.split-callout{display:flex;gap:12px;align-items:flex-start;padding:16px;margin:16px;background:rgba(43,162,76,.10);border:1px solid rgba(43,162,76,.30);border-radius:var(--r-md);}
.split-callout svg{color:var(--accent-strong);flex:none;margin-top:2px;}
.split-callout p{font-size:13px;color:var(--ink-2);margin-top:3px;}

/* ---------- 19 · Page headings & breadcrumbs ---------- */
.breadcrumbs{padding-bottom:18px;}
.breadcrumbs ol{padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--ink-3);list-style:none;}
.breadcrumbs li{display:inline-flex;align-items:center;gap:6px;}
.breadcrumbs li:not(:last-child)::after{content:"/";color:var(--line-2);margin-left:4px;}
.breadcrumbs a:hover{color:var(--accent-strong);}
.breadcrumbs [aria-current="page"]{color:var(--ink-2);}
.page-heading{margin-bottom:24px;}
.page-heading p{margin-top:8px;color:var(--ink-2);font-size:15px;}
.page-heading--split{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
.page-heading--split > div{min-width:min(100%,42ch);flex:1;}
.page-heading--split .plain-note{flex:0 1 320px;max-width:340px;margin-top:0;}
.page-heading--split .prose{margin-top:10px;}
.page-heading--ruled{padding-bottom:20px;border-bottom:1px solid var(--line);}
.search-heading{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line);}

/* ---------- 20 · Pagination ---------- */
.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:24px;font-size:14px;color:var(--ink-2);}
.pagination a{padding:8px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);}
.pagination a:hover{background:var(--surface-2);border-color:var(--ink-3);}

/* ---------- 21 · Prose, notes, risk, ledgers, chart ---------- */
.risk-disclosure{margin-top:18px;padding:14px 16px;background:var(--surface-2);border-radius:var(--r-md);font-size:13.5px;}
.risk-disclosure summary{cursor:pointer;font-weight:600;color:var(--ink);}
.risk-disclosure p{margin-top:8px;color:var(--ink-2);}
.risk-disclosure--hoej summary{color:var(--risk);}
.risk-disclosure--mellem summary{color:oklch(0.50 0.11 70);}
.plain-note{margin-top:18px;padding:16px 18px;background:oklch(0.96 0.02 80);border-radius:var(--r-md);font-size:13.5px;color:var(--ink-2);}
.plain-note strong{display:block;margin-bottom:4px;color:var(--ink);}
.prose{font-size:14.5px;line-height:1.65;color:var(--ink-2);max-width:65ch;}
.prose--long{font-size:16px;max-width:72ch;}
.prose p{margin-bottom:12px;}
.prose h2,.prose h3,.guide-body h2,.guide-body h3{margin:24px 0 10px;}
.prose ul,.prose ol,.guide-body ul,.guide-body ol{margin:0 0 14px;padding-left:22px;}
.prose li,.guide-body li{margin-bottom:6px;}
.ledger-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;}
.stock--yes{color:var(--ok);}
.stock--no{color:var(--risk);}
.stock--unknown{color:var(--ink-3);}
/* price history chart */
.history-chart{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;}
.history-chart svg{width:100%;height:auto;}
.history-chart figcaption{margin-top:10px;font-size:12px;color:var(--ink-3);}
.chart-grid line{stroke:var(--line);stroke-width:1;}
.chart-labels text{font-family:var(--ff-mono);font-size:11px;fill:var(--ink-3);}
.chart-line{stroke:var(--accent-strong);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.chart-point{fill:var(--accent-strong);}

/* ---------- 22 · Beregnere ---------- */
.calc-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px;}
.calc-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:transform .15s, box-shadow .2s, border-color .15s;}
.calc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent);}
.calc-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--surface-2);color:var(--accent-strong);margin-bottom:4px;}
.calc-card h2{font-size:1.1rem;}
.calc-card p{font-size:13.5px;color:var(--ink-2);}
.calc-card .text-link{margin-top:auto;border-bottom:0;padding:2px;}
.calc-layout{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:clamp(20px,3vw,40px);align-items:start;margin-top:8px;}
.calc-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,2vw,24px);position:sticky;top:132px;}
.calc-field{margin-bottom:14px;}
.calc-field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.calc-field__unit{font-weight:400;color:var(--ink-3);font-size:12px;}
.calc-input,.calc-field select{width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);font-family:var(--ff-mono);font-size:15px;}
.calc-input:focus,.calc-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,40,69,.15);}
.calc-field--checkbox label{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px;cursor:pointer;}
.calc-field--checkbox input{width:18px;height:18px;accent-color:var(--accent-strong);}
.calc-form .button{margin-top:6px;}
.calc-result{min-width:0;}
.receipt--calc{margin-top:0;}
.related-guides{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}
.related-guides h2{font-size:1.1rem;margin-bottom:12px;}
.related-guides nav{display:flex;flex-wrap:wrap;gap:10px;}
.related-guides a{padding:8px 14px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:14px;transition:background .15s, border-color .15s;}
.related-guides a:hover{background:var(--surface-2);border-color:var(--accent);}
.guide-body{max-width:72ch;font-size:16px;line-height:1.7;color:var(--ink);}
.guide-body p{margin-bottom:14px;color:var(--ink-2);}
.guide-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;}

/* ---------- 23 · Info & error ---------- */
.info-sheet{max-width:72ch;padding-block:8px;}
.info-sheet h1{margin-top:8px;}
.guide-body,.info-sheet .prose{margin-top:20px;}
.error-page{display:grid;place-items:center;text-align:center;min-height:60vh;padding-block:60px;}
.error-code{font-size:clamp(80px,16vw,180px);font-weight:500;line-height:1;color:var(--surface-2);letter-spacing:-0.03em;}
.error-copy{margin-top:-20px;}
.error-copy h1{margin-top:8px;}
.error-copy p{margin:10px auto 0;color:var(--ink-2);}
.error-copy .button-row{justify-content:center;margin-top:22px;}
.empty-state{padding:36px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-lg);color:var(--ink-2);}
.empty-state h2,.empty-state h3,.empty-state__title{font-size:1.2rem;margin-bottom:8px;}
.empty-state p{margin-inline:auto;font-size:14.5px;}
.empty-state a{display:inline-block;margin-top:14px;font-weight:600;color:var(--accent-strong);}
.empty-state--search{padding:56px 20px;}
.inline-notice{padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);font-size:14px;color:var(--ink-2);}
.inline-notice strong{display:block;color:var(--ink);margin-bottom:4px;}
.inline-notice ul{margin:6px 0 0;padding-left:20px;}
.inline-notice--warning{background:rgba(242,140,40,.12);border:1px solid rgba(242,140,40,.32);}

/* ---------- 24 · Responsive ---------- */
@media (max-width:1180px){
  .pgrid--rail{grid-template-columns:repeat(4,minmax(0,1fr));}
  .pgrid--rail .pcard:nth-child(n+9){display:none;}
  .mega__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1080px){
  .hero2__grid{grid-template-columns:minmax(0,1fr);gap:32px;}
  .receipt--hero{max-width:560px;}
  .site-footer__grid{grid-template-columns:1fr 1fr;}
  .site-footer__brand{grid-column:1 / -1;}
  .pdp{grid-template-columns:minmax(0,1fr) 300px;}
  .pdp__top{grid-template-columns:1fr;}
  .pdp__media{max-width:340px;}
  .offers__unit{display:none;}
  .dept-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hd__util{display:none;}
}
@media (max-width:880px){
  /* header: burger · logo · kurv on one row, the search full width below it */
  .hd__top{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"burger logo cart" "search search search";gap:8px 8px;padding-block:8px 12px;}
  .hd__burger{grid-area:burger;display:grid;place-items:center;width:44px;height:44px;margin-left:-10px;border-radius:var(--r-sm);color:var(--accent);}
  .hd .wordmark{grid-area:logo;}
  .hd .wordmark__logo{height:32px;}
  .hd__search{grid-area:search;height:46px;max-width:none;}
  .hd__search input{font-size:16px;}
  .hd__search-btn{padding:0 16px;}
  .hd__cart{grid-area:cart;min-height:44px;padding:6px 8px 6px 6px;border:0;}
  .hd__cart-txt{display:none;}
  .hd__nav{display:none;}
  /* mega menu becomes the left drawer */
  .mega{position:fixed;top:0;bottom:0;left:0;right:auto;z-index:130;display:block;width:min(380px,90vw);overflow-y:auto;overscroll-behavior:contain;border:0;transform:translateX(-102%);visibility:hidden;transition:transform .25s cubic-bezier(.22,.61,.36,1),visibility 0s linear .25s;}
  .mega.is-open,.mega:target{transform:none;visibility:visible;transition:transform .25s cubic-bezier(.22,.61,.36,1);}
  .mega__inner{padding-inline:20px;}
  .mega__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0 -20px;padding:8px 10px 8px 20px;background:var(--surface);border-bottom:1px solid var(--line);font-size:17px;}
  .mega__close{display:grid;place-items:center;width:44px;height:44px;color:var(--ink-2);}
  .mega__grid{grid-template-columns:1fr;gap:0;padding-block:0;}
  .mega__dept{padding:14px 0;border-bottom:1px solid var(--line);}
  .mega__dept li a{padding:8px 0;}
  .mega__foot{flex-direction:column;gap:0;padding:6px 0 28px;border-top:0;}
  .mega__foot a{display:block;padding:11px 0;}

  /* listing: chips row, filter drawer, sticky toolbar */
  .lst{grid-template-columns:1fr;}
  .subcats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:-4px calc(-1 * var(--gutter)) 12px;padding:4px var(--gutter);}
  .subcats::-webkit-scrollbar{display:none;}
  .subcats a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink);}
  .subcats a span{font-size:12px;font-weight:400;color:var(--ink-3);}
  .subcats a.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
  .subcats a.is-active span{color:var(--coal-ink-2);}
  .facets{position:fixed;top:0;bottom:0;right:0;left:auto;z-index:130;width:min(400px,92vw);max-height:none;border:0;border-radius:0;transform:translateX(102%);visibility:hidden;transition:transform .25s cubic-bezier(.22,.61,.36,1),visibility 0s linear .25s;}
  .facets.is-open,.facets:target{transform:none;visibility:visible;transition:transform .25s cubic-bezier(.22,.61,.36,1);}
  .facets__head{padding:8px 10px 8px 20px;border-bottom:1px solid var(--line);}
  .facets__close{display:grid;place-items:center;width:44px;height:44px;color:var(--ink-2);}
  .facets__scroll{flex:1;}
  .facets__actions{position:sticky;bottom:0;background:var(--surface);box-shadow:0 -10px 18px -14px rgba(0,26,44,.35);}
  .check{padding:9px 0;}
  .results__bar{position:sticky;top:0;z-index:60;margin:0 calc(-1 * var(--gutter)) 12px;padding:8px var(--gutter);background:rgba(242,244,246,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  .results__count{flex-basis:100%;font-size:13.5px;}
  .results__filter{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);font-weight:700;font-size:14px;color:var(--ink);}
  .results__filter .count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:12px;}
  .results__sort{flex:1;min-width:0;}
  .results__sort label{position:absolute;left:-9999px;}
  .results__sort select{width:100%;height:40px;}
  .lst-about__grid{grid-template-columns:1fr;}

  /* product page: one column, buy box right after the title */
  .pdp{grid-template-columns:1fr;grid-template-areas:"top" "buy" "compare" "variants" "history";gap:22px;}
  .pdp__top{grid-template-columns:1fr;gap:16px;}
  .pdp__media{max-width:none;aspect-ratio:auto;height:200px;}
  .pdp__buy{position:static;}
  .buybox{box-shadow:none;}
  .offers thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .offers,.offers tbody{display:block;}
  .offers tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"shop num" "stock go" "delivery go";gap:6px 14px;padding:14px;border-bottom:1px solid var(--line);}
  .offers tbody tr:last-child{border-bottom:0;}
  .offers th,.offers td{display:block;padding:0;border:0;}
  .offers__shop{grid-area:shop;}
  .offers__num{grid-area:num;}
  .offers__stock{grid-area:stock;}
  .offers__stock small{display:inline;margin-left:6px;}
  .offers__delivery{grid-area:delivery;font-size:13px;white-space:normal;}
  .offers__delivery::before{content:"Levering ";color:var(--ink-3);}
  .offers__delivery small{display:inline;margin-left:4px;}
  .offers td.offers__unit{display:none;}
  .offers__go{grid-area:go;align-self:end;width:auto;}

  /* forside */
  .shops__inner{grid-template-columns:1fr;}
  .prep{grid-template-columns:1fr;}
  .pgrid-frame--rail{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;}
  .pgrid.pgrid--rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(168px,42%);}
  .pgrid--rail .pcard{scroll-snap-align:start;}
  .pgrid--rail .pcard:nth-child(n+9){display:flex;}

  .calc-layout,.basket-workspace{grid-template-columns:1fr;}
  .calc-form{position:static;top:auto;}
  .calc-directory{grid-template-columns:repeat(2,1fr);}
  .basket-bottom-bar{display:flex;}
}
@media (max-width:620px){
  :root{--gutter:16px;}
  .pgrid,.pgrid--wide{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pcard{padding:10px 10px 12px;}
  .pcard__media{margin-bottom:10px;}
  .pcard__name{font-size:13.5px;}
  .pcard__now strong{font-size:17px;}
  .pcard__add{min-height:40px;font-size:13px;}
  .pcard__badges .badge{font-size:10px;padding:2px 6px;}
  .view-list .pcard{grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"media body body" "media price add" "media shops shops";column-gap:12px;row-gap:6px;padding:12px;}
  .view-list .pcard__media{width:76px;}
  .view-list .pcard__price{text-align:left;}
  .view-list .pcard__now{justify-content:flex-start;}
  .view-list .pcard__add span{display:none;}
  .view-list .pcard__add{min-width:44px;}
  .dept-grid{grid-template-columns:1fr 1fr;}
  .dept-tile{padding:14px 12px;}
  .dept-tile__main{flex-direction:column;align-items:flex-start;gap:8px;}
  .dept-tile__kids{display:none;}
  .linklist a{grid-template-columns:1fr;}
  .hero2__quick a:nth-child(n+5){display:none;}
  .calc-directory{grid-template-columns:1fr;}
  .site-footer__grid{grid-template-columns:1fr 1fr;}
  .buybox__price strong{font-size:32px;}
  .variant-ledger__head,.variant-row{grid-template-columns:2fr .8fr 1fr auto;gap:10px;padding:12px 14px;}
}
@media (max-width:620px){
  .basket-item{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"thumb name name" "thumb qty remove";row-gap:10px;}
  .basket-item > .product-thumb{grid-area:thumb;align-self:start;}
  .basket-item > div:not(.product-thumb):not(.qty-stepper){grid-area:name;}
  .basket-item > .qty-stepper{grid-area:qty;justify-self:start;}
  .basket-item > .text-button{grid-area:remove;}
}
@media (max-width:360px){
  .hd .wordmark__logo{height:28px;}
  .pcard__add span{display:none;}
}

/* ---------- 25 · Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .receipt--hero .receipt-lines li,.receipt--hero .receipt__sum{opacity:1;transform:none;}
}

/* ---------- 26 · v2 fixes to inherited rules ---------- */
/* [hidden] must win over component display rules (kurv.js toggles .hidden on stamps, skeletons,
   the split callout). site.css lacked this, so /kurv showed every BILLIGST SAMLET stamp at once. */
[hidden]{display:none !important;}
/* empty basket: no fixed bottom bar eating the phone viewport (kurv.js keeps aria-label in sync) */
.basket-bottom-bar:has([data-basket-count][aria-label="0 varer"]){display:none !important;}
/* no stacking contexts on page wrappers: fixed drawers (z 130) must sit above the backdrop (z 125) */
main{z-index:auto;}
.site-footer{z-index:auto;}
.site-footer nav a:hover{color:var(--coal-ink);text-decoration:underline;text-underline-offset:3px;}
.basket-bottom-bar{background:var(--coal);color:var(--coal-ink);}
.basket-bottom-bar strong{color:var(--coal-ink);}
.receipt-panel{z-index:140;}
.pagination{flex-wrap:wrap;gap:8px;margin-top:20px;}
.pagination a,.pagination .is-current{min-width:40px;text-align:center;}
.pagination a{background:var(--surface);}
.pagination__step{font-weight:600;}
.basket-item .product-thumb img[src$=".svg"]{width:60%;height:auto;object-fit:contain;}
.page-heading .eyebrow{display:block;margin-bottom:6px;}
.empty-state{max-width:none;}
.qty-stepper input:focus{outline:none;}
.qty-stepper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,40,69,.12);}

/* ---------- 27 · Beregner SEO content (intro, method, tips, FAQ, related) ---------- */
.prose-shell{max-width:72ch;margin-block:clamp(36px,5vw,56px);}
.prose-shell + .prose-shell{margin-top:clamp(28px,4vw,40px);}
.prose-shell h2{margin-bottom:16px;}
.prose-shell h3{font-size:1.2rem;margin-bottom:14px;}
.beregner-intro p{font-size:16px;line-height:1.7;color:var(--ink-2);margin-bottom:14px;}
.beregner-intro p:last-child{margin-bottom:0;}
.calc-directory + .prose-shell{margin-top:clamp(36px,5vw,56px);}

.method{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.method__list{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:14px;}
.method__list li{position:relative;padding-left:46px;counter-increment:step;font-size:15px;line-height:1.6;color:var(--ink-2);}
.method__list li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-1px;font-family:var(--ff-mono);font-size:12px;font-weight:500;color:var(--accent-strong);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 8px;line-height:1.4;}
.method__list span{color:var(--ink);}

.tips{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.tips__list{list-style:none;display:flex;flex-direction:column;gap:14px;}
.tips__list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:var(--ink-2);}
.tips__list svg{flex:none;color:var(--accent-strong);margin-top:2px;}
.tips__list strong{color:var(--ink);}

/* FAQ accordion — inline disclosure, ledger-dense (1px rules, no card boxes) */
.faq{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.faq h2,.faq h3{margin-bottom:4px;}
.faq__item{border-bottom:1px solid var(--line);}
.faq__item:first-of-type{border-top:1px solid var(--line);}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:18px 2px;font-family:var(--ff-display);font-weight:600;font-size:1.05rem;color:var(--ink);transition:color .15s;}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::marker{display:none;}
.faq__item summary:hover{color:var(--accent-strong);}
.faq__item summary > span{flex:1;}
.faq__chevron{flex:none;color:var(--ink-3);transition:transform .2s ease, color .15s;}
.faq__item[open] .faq__chevron{transform:rotate(180deg);color:var(--accent-strong);}
.faq__item p{padding:0 2px 22px;font-size:15px;line-height:1.65;color:var(--ink-2);max-width:68ch;}

/* Related grid — guides + categories */
.related-grid{max-width:var(--shell);margin-block:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--line);}
.related-grid h2{font-size:1.3rem;margin-bottom:18px;}
.related-grid__cols{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,48px);}
.related-col h3{font-family:var(--ff-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px;}
.related-col nav{display:flex;flex-direction:column;gap:9px;}
.related-col nav a{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink);padding:3px 0;transition:color .15s;width:fit-content;}
.related-col nav a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.related-col nav a:hover{color:var(--accent-strong);}

@media (max-width:680px){
  .related-grid__cols{grid-template-columns:1fr;gap:28px;}
  .method__list li{padding-left:42px;}
}

/* ── 2026-09-14 hubs: numbered pagination, variant table, brand index ── */
.pagination .is-current{padding:8px 14px;border:1px solid var(--accent);border-radius:var(--r-sm);color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;}
.pagination a{font-variant-numeric:tabular-nums;}
.variant-book{margin-top:32px;}
.variant-ledger{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);min-width:520px;}
.variant-ledger__head,.variant-row{display:grid;grid-template-columns:2.2fr .9fr 1fr auto;align-items:center;gap:16px;padding:12px 18px;}
.variant-ledger__head{border-bottom:1px solid var(--line-2);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);background:var(--surface-2);}
.variant-row+.variant-row{border-top:1px solid var(--line);}
.variant-row--self{background:var(--surface-2);}
.variant-row small{display:block;color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums;}
.variant-row__price{text-align:right;font-variant-numeric:tabular-nums;}
.brand-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 32px;}
.brand-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.brand-list li span{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.filter-rail h2+nav+h2{margin-top:24px;}


/* ---------- 17 · SEO pass 2026-10-07: demoted chrome headings, page-1 modules, jump pager ---------- */
/* Chrome titles that stopped being headings keep the heading look (outline = content only). */
.facets__title,.facet__title,.receipt-panel__title,.receipt__title,.empty-state__title{font-family:var(--ff-display);font-weight:700;line-height:1.08;letter-spacing:-0.01em;color:var(--ink);max-width:none;}
.facet__title{font-family:var(--ff-eyebrow);font-weight:600;letter-spacing:.08em;color:var(--ink-2);line-height:1.4;}
p.pcard__name{max-width:none;}
p.site-footer__head{line-height:1.25;max-width:none;}
.pcard__variants{margin-top:2px;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;}

/* Listing modules: ruled sections under the grid, same rhythm as .lst-about */
.lst-mod{margin-top:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--line);}
.lst-mod > h2,.lst-mod__head h2{font-size:1.4rem;letter-spacing:-.01em;}
.lst-mod__head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;margin-bottom:14px;}
.lst-mod > h2{margin-bottom:14px;}
.lst-mod__head p,.lst-mod__lede{font-size:14px;color:var(--ink-2);}
.lst-mod__lede{margin:-6px 0 14px;max-width:75ch;}
.lst-mod__lede strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lst-mod--top{margin-top:4px;padding-top:0;border-top:0;}
.lst-mod .text-link{border-bottom:0;color:var(--accent);}
.lst-mod--tight{margin-top:0;padding-top:0;border-top:0;margin-bottom:22px;}
.lst-head__summary{margin-top:6px;font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums;}

/* Link grid: one white frame, cells divided by 1px rules (the shelf pattern, for links) */
.linkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.linkgrid li{margin:0 -1px -1px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.linkgrid a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;transition:background .15s;}
.linkgrid a:hover{background:var(--surface-3);}
.linkgrid a span{min-width:0;font-weight:600;font-size:14.5px;color:var(--ink);}
.linkgrid a:hover span{color:var(--accent-strong);}
.linkgrid a small{flex:none;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.linkgrid--plain a span{font-weight:500;}
.linkgrid__more{margin-top:12px;}

/* Compact per-unit ledger (density 8: rules, no boxes inside the frame) */
.mini-ledger{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:14px;}
.mini-ledger th,.mini-ledger td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;font-weight:400;}
.mini-ledger thead th{padding-block:9px;background:var(--surface-3);font-family:var(--ff-eyebrow);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.mini-ledger tbody tr:last-child > *{border-bottom:0;}
.mini-ledger tbody th a{font-weight:600;color:var(--ink);}
.mini-ledger tbody th a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;}
.mini-ledger .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.mini-ledger td.num strong{font-weight:700;color:var(--ink);}
.mini-ledger__spec{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;}
.ledger-scroll--mod{overflow-x:auto;}

/* Q&A on category pages reuses the beregner FAQ disclosure (.faq__item) */
.qa .faq__item p a,.qa .faq__item p a:visited{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* Tools (calculator / reference pages / guides): .linklist with a quiet kind label */
.tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);}
.tools--single{grid-template-columns:minmax(0,1fr);max-width:820px;}
.tools h3{font-family:var(--ff-eyebrow);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;}
.linklist .linklist__kind{display:block;font-family:var(--ff-eyebrow);font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;}
.linklist--tools a{grid-template-columns:minmax(0,220px) minmax(0,1fr);}
.prose a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* Pagination: first/last + ±2 + a quiet jump row (every page within two clicks of page 1) */
.pagination-jumps{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 2px;margin-top:12px;font-size:13px;color:var(--ink-3);}
.pagination-jumps span{margin-right:6px;font-family:var(--ff-eyebrow);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.pagination-jumps a{min-width:34px;padding:4px 8px;border-radius:var(--r-sm);text-align:center;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.pagination-jumps a:hover{background:var(--surface-2);color:var(--accent-strong);}

/* Product page: data summary, specification sheet, related rails, tools */
.pdp{grid-template-areas:"top buy" "compare buy" "variants buy" "history buy" "specs buy";}
.pdp__specs{grid-area:specs;min-width:0;}
.pdp__summary{max-width:68ch;line-height:1.6;}
.spec-sheet{display:grid;grid-template-columns:minmax(140px,max-content) minmax(0,1fr);margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;font-size:14px;}
.spec-sheet dt,.spec-sheet dd{padding:11px 16px;border-bottom:1px solid var(--line);}
.spec-sheet dt{font-family:var(--ff-eyebrow);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-3);}
.spec-sheet dd{color:var(--ink);font-variant-numeric:tabular-nums;}
.spec-sheet dt:nth-last-of-type(1),.spec-sheet dd:last-of-type{border-bottom:0;}
.spec-sheet dd a{color:var(--accent);font-weight:600;}
.spec-sheet dd small{color:var(--ink-3);font-size:12.5px;}
.pdp__unit-line{margin-top:10px;font-size:14px;color:var(--ink-2);}
.pdp__unit-line strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.pdp-more{margin-top:clamp(36px,5vw,56px);}
.pdp-more .lst-mod:first-child{margin-top:0;}
.pdp-more .pgrid--rail{grid-template-columns:repeat(6,minmax(0,1fr));}

/* Department hub + brand index */
.dept-grid--hub{grid-template-columns:repeat(3,minmax(0,1fr));}
.dept-tile--hub .dept-tile__main strong{font-size:16px;}
.brand-groups{display:grid;gap:clamp(28px,4vw,44px);margin-top:clamp(24px,3vw,36px);}
.brand-groups h2{font-size:1.4rem;margin-bottom:14px;}
.howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,32px);list-style:none;margin:0;padding:0;counter-reset:how;}
.howto li{padding-top:14px;border-top:1px solid var(--line-2);font-size:14.5px;color:var(--ink-2);}
.howto strong{display:block;margin-bottom:4px;font-size:15.5px;color:var(--ink);}
.hero2__kicker{margin-top:14px;font-size:clamp(17px,1.4vw,20px);font-weight:600;color:var(--coal-ink);max-width:40ch;}

@media (max-width:1180px){
  .pdp-more .pgrid--rail{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:1080px){
  .dept-grid--hub{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:880px){
  .pdp{grid-template-areas:"top" "buy" "compare" "variants" "history" "specs";}
  .tools{grid-template-columns:1fr;}
  .pdp-more .pgrid.pgrid--rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(168px,42%);}
  .howto{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .linkgrid{grid-template-columns:1fr;}
  .linklist--tools a{grid-template-columns:1fr;}
  .spec-sheet{grid-template-columns:minmax(110px,38%) minmax(0,1fr);}
  .mini-ledger .mini-ledger__spec{display:none;}
  .dept-grid--hub{grid-template-columns:1fr 1fr;}
}
.pdp__checked{color:var(--ink-3);}
.pdp__sectionhead--sub{margin-top:22px;}
.linkgrid .linkgrid__static{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;}
.linkgrid .linkgrid__static span{font-weight:600;font-size:14.5px;color:var(--ink);}
.linkgrid .linkgrid__static small{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;}
/* 4-card rails (offers / top savings modules) fill their frame instead of leaving two empty columns */
.pgrid--rail.pgrid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:880px){.pgrid.pgrid--rail.pgrid--four{grid-template-columns:none;grid-auto-columns:minmax(168px,42%);}}

/* Kim Like (2026-11-06): profile and the review block on price lists. Same tokens as the rest of the site. */
.kim-review{display:flex;gap:16px;align-items:flex-start;margin:24px 0;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);}
.kim-review img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;}
.kim-review p{margin:0;}
.kim-review__h{font-weight:600;margin-bottom:4px!important;}
.kim-head{display:flex;gap:24px;align-items:center;margin:16px 0 24px;}
.kim-head img{flex:none;width:120px;height:120px;border-radius:50%;object-fit:cover;}
.kim-head h1{margin:0 0 4px;}
.kim-head__role{margin:0;max-width:60ch;}
.kim-body{max-width:70ch;}
.kim-body h2{margin:32px 0 8px;}
.kim-body li{margin-bottom:8px;}
.kim-body__fine{margin-top:32px;font-size:.9em;opacity:.8;}
@media (max-width:767px){.kim-head{flex-direction:column;align-items:flex-start;}}
.kim-body a,.kim-review a{text-decoration:underline;text-underline-offset:3px;}
