
  :root{
    --nf-p:var(--brand-primary,#154A4A);--nf-pc:var(--brand-text-on-primary,#F7F1E5);
    --nf-a:var(--brand-accent,var(--brand-primary,#B84A19));--nf-ac:#FCF3E9;
    --nf-s:var(--brand-bg-base,#FBF6EE);--nf-s2:var(--brand-bg-subtle,#F0E6D6);
    --nf-card:var(--brand-bg-surface,#FFFDF8);--nf-t:var(--brand-text-primary,#211C15);
    --nf-tm:var(--brand-text-muted,#6C6154);--nf-b:var(--brand-border,#DFD4C0);
    --nf-ok:#35755A;--nf-warn:#A8702A;--nf-star:#C0641F;
    --nf-rs:var(--brand-radius-sm,6px);--nf-rm:var(--brand-radius,10px);
    --nf-rl:var(--brand-card-radius,var(--brand-radius-lg,14px));--nf-rxl:var(--brand-radius-2xl,24px);
    --nf-hw:var(--brand-font-heading-weight,700);--nf-hls:-0.015em;
    --nf-sh:0 2px 6px rgba(60,35,15,.08);--nf-shh:0 12px 28px rgba(60,35,15,.16);
    --nf-pad:var(--brand-section-padding,64px)}
  *,*::before,*::after{box-sizing:border-box}
  body{margin:0;background:var(--nf-s);color:var(--nf-t);line-height:1.55;
    font-family:var(--brand-font-body,'Manrope',system-ui,sans-serif);
    font-weight:var(--brand-font-body-weight,400);-webkit-font-smoothing:antialiased}
  h1,h2,h3{margin:0 0 .4em;line-height:1.1;letter-spacing:var(--nf-hls);color:var(--nf-t);
    font-family:var(--brand-font-heading,var(--brand-font-display,inherit));font-weight:var(--nf-hw);text-wrap:balance}
  h1{font-size:clamp(30px,4vw,44px)}h2{font-size:clamp(24px,3vw,32px)}h3{font-size:18px}
  a{color:var(--nf-p);text-decoration:none}
  img{max-width:100%;display:block}
  svg{flex:none}
  /* Container uit het ontwerp: 1440px met 44px zijmarge op desktop, 16px op mobiel. */
  .nf-wrap{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3.1vw,44px)}
  .nf-muted{color:var(--nf-tm)}
  .nf-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-tm)}
  .nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
    padding:14px 26px;border:1px solid transparent;border-radius:var(--brand-btn-radius,var(--nf-rm));
    background:var(--nf-a);color:var(--nf-ac);font:600 15px/1 inherit;font-family:inherit;
    transition:filter .15s ease,transform .15s ease}
  .nf-btn:hover{filter:brightness(.92);transform:translateY(-1px)}
  .nf-btn--ghost{background:transparent;color:var(--nf-t);border-color:var(--nf-b)}
  .nf-btn--ghost:hover{filter:none;background:var(--nf-s2)}
  .nf-link{display:inline-flex;gap:7px;align-items:center;font-size:14px;font-weight:700;color:var(--nf-a)}
  /* Aankondiging + zwevende kaart-header: het herkenbaarste Nomad-element. */
  .nf-bar{background:var(--nf-p);color:var(--nf-pc);display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;padding:9px 16px;font-size:12.5px;font-weight:500}
  .nf-bar span{display:inline-flex;gap:7px;align-items:center}
  .nf-bar svg{flex:none;opacity:.9}
  /* Header (ontwerp partials/header.html): zwevende glazen balk 16px van de schermrand,
     70px hoog in rust (was 90, ingekort naar het Ekster-voorbeeld). Na scrollen 56px en wisselt
     het liggende logo naar het merkteken. */
  .nf-sticky{position:sticky;top:20px;z-index:50;padding:0 16px;margin-top:20px}
  .nf-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
    padding:10px 32px;background:var(--nf-card);background:color-mix(in srgb,var(--nf-s) 78%,transparent);
    -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
    border-radius:16px;box-shadow:0 10px 30px rgba(35,20,8,.22);color:var(--nf-t);
    /* Hoeken en achtergrond pas terug als het megamenu is teruggeschoven (.32s), anders knippert de naad. */
    transition:padding .35s cubic-bezier(.4,0,.2,1),border-radius 0s linear .32s,background-color 0s linear .32s}
  .nf-header.is-scrolled{padding:8px 32px}
  /* Open megamenu = één kaart: de balk wordt dekkend en verliest zijn onderste hoeken, het paneel
     sluit er naadloos onder aan (zoals Ekster). */
  .nf-header:has(.nf-nav__item.is-open),.nf-header:has(.nf-nav:not([data-nf-mega-js]) .nf-nav__item:hover){
    background:var(--nf-s);border-radius:16px 16px 0 0;transition:padding .35s cubic-bezier(.4,0,.2,1)}
  /* Donkere, wazige laag over de pagina zolang het megamenu open is. Op .nf-sticky en niet op de
     header: de backdrop-filter van de header maakt die tot containing block voor position:fixed. */
  .nf-sticky::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:rgba(20,14,8,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
  .nf-sticky:has(.nf-nav__item.is-open)::before,.nf-sticky:has(.nf-nav:not([data-nf-mega-js]) .nf-nav__item:hover)::before{
    opacity:1;visibility:visible;transition:opacity .3s ease}
  .nf-nav{display:flex;gap:24px;margin:0;padding:0;list-style:none;white-space:nowrap;align-items:center}
  .nf-nav__item{display:flex;align-items:center}
  .nf-nav__top{color:var(--nf-t);font-size:14.5px;font-weight:500;padding:10px 0;transition:color .15s ease}
  .nf-nav__top:hover,.nf-nav__top:focus-visible{color:var(--nf-a)}
  /* Tabbed megamenu (zoals de Grill Bill-header): per hoofditem een eigen paneel met links de
     groepen als tabs en rechts de links van de actieve groep. Het script regelt openen en sluiten
     met hover-intent, de pijltjestoetsen en aria. Zonder script opent het paneel op hover en focus
     en toont het de eerste groep. */
  /* Het paneel loopt even breed als de header: gecentreerd lag het niet onder het eerste
     menu-item en klapte het dicht bij recht omlaag bewegen. */
  /* Direct onder de balk, zonder tussenruimte: samen één kaart (zie .nf-header:has(...is-open)). */
  /* -1px overlap: de header eindigt op een subpixel (bv. 167.375) en dan scheen zijn schaduw als lijn door de naad. */
  .nf-mega{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:49;
    display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;
    /* Met veel groepen werd het paneel live 1119px hoog: begrensd op het scherm, met eigen scroll. */
    max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;
    padding:12px 32px 28px 20px;white-space:normal;color:var(--nf-t);
    /* Volledig dekkend: op 96% met blur scheen de witte hero-tekst er live doorheen. */
    background:var(--nf-s);border-radius:0 0 16px 16px;box-shadow:0 18px 30px rgba(35,20,8,.22);
    /* Schaduw alleen naar beneden en opzij, niet over de balk. */
    /* Dicht = weggeknipt tot een lijn onder de balk; open schuift het paneel eruit naar beneden. */
    clip-path:inset(0 -60px 100% -60px);
    visibility:hidden;opacity:0;transform:translateY(-16px);
    transition:clip-path .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1),opacity .2s ease,visibility 0s linear .32s}
  .nf-nav:not([data-nf-mega-js]) .nf-nav__item:hover>.nf-mega,.nf-nav:not([data-nf-mega-js]) .nf-nav__item:focus-within>.nf-mega,
  .nf-nav__item.is-open>.nf-mega{clip-path:inset(0 -60px -60px -60px)}
  .nf-nav:not([data-nf-mega-js]) .nf-nav__item:hover>.nf-mega,.nf-nav:not([data-nf-mega-js]) .nf-nav__item:focus-within>.nf-mega,
  .nf-nav__item.is-open>.nf-mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  /* Van hoofditem wisselen: het vorige paneel verdwijnt meteen, anders lopen twee panelen door elkaar. */
  .nf-nav.has-open .nf-nav__item:not(.is-open)>.nf-mega{transition:none}
  .nf-nav__top[aria-expanded="true"]{color:var(--nf-a)}
  .nf-mega__side{display:flex;flex-direction:column;gap:12px;padding-right:16px;border-right:1px solid var(--nf-b)}
  .nf-mega__rail{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
  .nf-mega__tab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;
    font-size:14.5px;font-weight:600;line-height:1.3;color:var(--nf-t);transition:background .15s ease,color .15s ease}
  .nf-mega__tab svg{flex:none;color:var(--nf-a);opacity:0;transform:translateX(-4px);transition:opacity .15s ease,transform .15s ease}
  .nf-mega__tab:hover{color:var(--nf-p)}
  .nf-mega__tab.is-active{background:color-mix(in srgb,var(--nf-p) 9%,transparent);color:var(--nf-p)}
  .nf-mega__tab.is-active svg{opacity:1;transform:none}
  .nf-mega__all{margin-top:auto;padding:10px 12px 0;font-size:13px;font-weight:700;color:var(--nf-a)}
  .nf-mega__pane{display:none;padding-top:6px}
  .nf-mega__panes:not(.has-active)>.nf-mega__pane:first-child,.nf-mega__pane.is-active{display:block}
  .nf-mega__head{display:inline-flex;gap:7px;align-items:center;margin-bottom:14px;font-size:18px;font-weight:700;color:var(--nf-p)}
  .nf-mega__links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 28px}
  .nf-mega__links a{display:block;padding:8px 0;font-size:14px;font-weight:500;line-height:1.35;color:var(--nf-t);transition:color .15s ease}
  .nf-mega__panes a:hover{color:var(--nf-a)}
  /* Groep met eigen items (bv. "Met X-Flow") = een volle rij met subkop. */
  .nf-mega__links>li:has(>.nf-mega__row){grid-column:1/-1}
  .nf-mega__links>li:has(>.nf-mega__row)+li:has(>.nf-mega__row){margin-top:10px;padding-top:12px;border-top:1px solid var(--nf-b)}
  .nf-mega__rowhead{display:block;margin-bottom:2px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nf-a)}
  .nf-mega__rowlinks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 28px}
  /* Productkaarten (zie .nf-mcsrc). */
  .nf-mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
  .nf-mcards__set{display:contents}
  .nf-mcard{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;background:var(--nf-s2);color:var(--nf-t);transition:transform .2s cubic-bezier(.4,0,.2,1)}
  .nf-mcard:hover{transform:translateY(-2px)}
  .nf-mcard__img{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#fff}
  .nf-mcard__img img{display:block;width:100%;height:100%;object-fit:cover}
  .nf-mcard__name{margin-top:6px;font-size:14px;font-weight:600;line-height:1.3;color:var(--nf-p)}
  .nf-mcard__price{font-size:13px;font-weight:600;color:var(--nf-a)}
  .nf-mcard__sub{display:none}
  /* Liggende kaarten zoals Ekster (proef op de Pro III-tab, zie initMega). De productfoto's zijn
     studio-opnames op zwart, niet vrijstaand: daarom een donkere kaart waarin de foto naar rechts
     wegvloeit, zodat de kamado in de kaart lijkt te staan in plaats van in een fotovak. */
  .nf-mcards--row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .nf-mcards--row .nf-mcard{display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:1fr auto auto auto 1fr;
    column-gap:14px;row-gap:3px;min-height:136px;padding:0 20px 0 0;overflow:hidden;border-radius:14px;
    background:radial-gradient(120% 140% at 0% 50%,#262320 0%,#141210 60%);color:#F7F1E5;
    transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}
  .nf-mcards--row .nf-mcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,14,8,.28)}
  .nf-mcards--row .nf-mcard__img{grid-row:1/-1;align-self:stretch;aspect-ratio:auto;height:auto;border-radius:0;background:transparent;
    -webkit-mask-image:linear-gradient(90deg,#000 58%,transparent 100%);mask-image:linear-gradient(90deg,#000 58%,transparent 100%)}
  .nf-mcards--row .nf-mcard__img img{transform:scale(1.12);transition:transform .35s cubic-bezier(.4,0,.2,1)}
  .nf-mcards--row .nf-mcard:hover .nf-mcard__img img{transform:scale(1.18)}
  .nf-mcards--row .nf-mcard__name{grid-column:2;grid-row:2}
  .nf-mcards--row .nf-mcard__sub{grid-column:2;grid-row:3}
  .nf-mcards--row .nf-mcard__price{grid-column:2;grid-row:4}
  .nf-mcards--row .nf-mcard__name{margin:0;font-size:16px;font-weight:700;line-height:1.2;color:#F7F1E5}
  .nf-mcards--row .nf-mcard__sub{display:block;font-size:13px;line-height:1.35;color:rgba(247,241,229,.62)}
  .nf-mcards--row .nf-mcard__price{margin-top:5px;font-size:14px;font-weight:700;color:color-mix(in srgb,var(--nf-a) 65%,#fff)}
  /* Pre-order-kaart (zie NF_PREORDER in initMega): label boven de titel, een stempel op de foto en een
     couponstrook onderaan met perforatie en uitgesneden hoekjes. */
  /* row-gap 0: met 3px gap bleef onder de foto een streep van de lege couponrij over. */
  .nf-mcards--row .nf-mcard{grid-template-rows:1fr auto auto auto auto 1fr auto;row-gap:0}
  .nf-mcards--row .nf-mcard__sub{margin-top:3px}
  /* Foto absoluut in zijn kolom: een staande foto (Black & Bronze) duwde de kaart anders naar 204px.  */
  .nf-mcards--row .nf-mcard__img{position:relative}
  .nf-mcards--row .nf-mcard__img img{position:absolute;inset:0}
  /* grid-column expliciet: anders pakt de stempel kolom 1 en schuift de foto naar een extra kolom. */
  .nf-mcards--row .nf-mcard__img{grid-column:1;grid-row:1/7}
  .nf-mcards--row .nf-mcard__name{grid-row:3}
  .nf-mcards--row .nf-mcard__sub{grid-row:4}
  .nf-mcards--row .nf-mcard__price{grid-row:5}
  .nf-mcard__tag{grid-column:2;grid-row:2;justify-self:start;display:inline-flex;align-items:center;gap:7px;margin:12px 0 4px;
    padding:4px 10px 4px 9px;border-radius:6px;background:var(--nf-a);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
  .nf-mcard__tag i{width:6px;height:6px;border-radius:50%;background:#fff;animation:nf-live 1.6s ease-in-out infinite}
  @keyframes nf-live{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}60%{box-shadow:0 0 0 5px rgba(255,255,255,0)}}
  .nf-mcard__stamp{grid-column:2;grid-row:1/7;align-self:start;justify-self:end;z-index:1;margin:12px -6px 0 0;
    display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;
    background:#F7F1E5;color:var(--nf-a);box-shadow:0 0 0 3px #F7F1E5,inset 0 0 0 1.5px var(--nf-a),0 6px 14px rgba(0,0,0,.35);
    transform:rotate(-14deg);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
  .nf-mcard__stamp b{font-size:17px;font-weight:800;line-height:1;letter-spacing:-.02em}
  .nf-mcard__stamp small{margin-top:2px;font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
  .nf-mcards--row .nf-mcard:hover .nf-mcard__stamp{transform:rotate(-4deg) scale(1.06)}
  .nf-mcard__deal{position:relative;grid-column:1/-1;grid-row:7;display:flex;align-items:center;gap:9px;margin:12px -20px 0 0;
    padding:10px 18px;border-top:1.5px dashed rgba(247,241,229,.24);background:color-mix(in srgb,var(--nf-a) 20%,transparent);
    font-size:12.5px;line-height:1.3;color:rgba(247,241,229,.9)}
  .nf-mcard__deal::before,.nf-mcard__deal::after{content:"";position:absolute;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--nf-s)}
  .nf-mcard__deal::before{left:-6px}.nf-mcard__deal::after{right:-6px}
  .nf-mcard__deal svg{flex:none;color:color-mix(in srgb,var(--nf-a) 65%,#fff)}
  .nf-mcard__deal strong{color:#fff;font-weight:700}
  .nf-mcard__deal em{margin-left:auto;font-style:normal;white-space:nowrap;color:rgba(247,241,229,.55)}
  @media (prefers-reduced-motion:reduce){.nf-mcard__tag i{animation:none}.nf-mcard__stamp{transition:none}}
  /* Nomad-variant (.nf-mcards--nomad naast --row): de kaart loopt van het zwart van de studio-opname
     naar petrol, met de maat als groot, zwak omlijnd cijfer in de hoek (hoogtelijnen erachter waren te druk.)
     Geen mix-blend-mode lighten: dan viel de donkergrijze kamado zelf ook weg in het petrol. */
  .nf-mcard__size{display:none}
  .nf-mcards--nomad .nf-mcard{
    background:linear-gradient(90deg,#0b0b0b 0%,#0b0b0b 24%,color-mix(in srgb,var(--nf-p) 55%,#0b0b0b) 42%,var(--nf-p) 78%);
    box-shadow:inset 0 0 0 1px rgba(247,241,229,.06)}
  .nf-mcards--nomad .nf-mcard__img{-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}
  .nf-mcards--nomad .nf-mcard__size{display:block;grid-column:2;grid-row:1/7;align-self:end;justify-self:end;z-index:0;margin:0 -8px -12px 0;
    font-family:var(--brand-font-display,var(--brand-font-heading,inherit));font-size:88px;font-weight:800;line-height:1;letter-spacing:-.04em;
    color:transparent;-webkit-text-stroke:1.2px rgba(247,241,229,.09);pointer-events:none}
  .nf-mcards--nomad .nf-mcard__name,.nf-mcards--nomad .nf-mcard__sub,.nf-mcards--nomad .nf-mcard__price,.nf-mcards--nomad .nf-mcard__tag{position:relative;z-index:1}
  .nf-mcards--nomad .nf-mcard__sub{color:rgba(247,241,229,.7)}
  .nf-mcards--nomad .nf-mcard__price{display:inline-flex;align-items:center;gap:8px;color:#F7F1E5}
  .nf-mcards--nomad .nf-mcard__price::after{content:"";width:18px;height:1.5px;background:var(--nf-a);transition:width .25s cubic-bezier(.4,0,.2,1)}
  .nf-mcards--nomad .nf-mcard:hover .nf-mcard__price::after{width:32px}
  .nf-mcards--nomad .nf-mcard__deal{background:rgba(0,0,0,.22)}
  /* Alleen pre-orderkaarten blijven petrol; de rest is effen zand, zodat de pre-orders eruit springen. */
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)){background:var(--nf-s2);
    color:var(--nf-t);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nf-b) 60%,transparent)}
  .nf-mcards--nomad:not(.nf-mcards--compact) .nf-mcard:not(:has(.nf-mcard__deal)){min-height:126px}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)):hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nf-b) 60%,transparent),0 10px 24px rgba(35,20,8,.12)}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__name{color:var(--nf-p)}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__sub{color:color-mix(in srgb,var(--nf-t) 65%,transparent)}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__price{color:var(--nf-t)}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__size{-webkit-text-stroke:1.2px color-mix(in srgb,var(--nf-p) 14%,transparent)}
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__xflow{background:var(--nf-p);color:#F7F1E5}
  /* Studiofoto's zijn zwart: als eigen donkere tegel, want een fade naar licht gaf een grauwe veeg. */
  .nf-mcards--nomad .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__img{-webkit-mask-image:none;mask-image:none;margin:6px 0 6px 6px;
    border-radius:10px;overflow:hidden}
  /* Behalve bij tegels: foto volle hoogte met fade, kaart loopt van het studiozwart naar zand (zoals Tiger Fire, maar donker). Fade eindigt vóór de titel. */
  .nf-mcards--nomad:not(.nf-mcards--tile) .nf-mcard:not(:has(.nf-mcard__deal)){
    background:linear-gradient(90deg,#0b0b0b 0%,#0b0b0b 112px,color-mix(in srgb,var(--nf-s2) 45%,#0b0b0b) 132px,var(--nf-s2) 160px)}
  .nf-mcards--nomad:not(.nf-mcards--tile) .nf-mcard:not(:has(.nf-mcard__deal)) .nf-mcard__img{margin:0;border-radius:0;background:transparent;
    -webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}
  /* Tegel-variant (overige accessoires): de foto's zijn een mix van uitsnedes (transparante png),
     foto's op wit en sfeerfoto's, van een andere origin (niet uit te lezen). Een vaste witte tegel
     werkt voor alle drie; een fade naar zwart liet een donker product verdwijnen en wit hard afsteken. */
  .nf-mcards--tile .nf-mcard__img{-webkit-mask-image:none;mask-image:none;margin:12px 0 12px 12px;
    border-radius:10px;overflow:hidden;background:#fff}
  .nf-mcards--tile .nf-mcard__img img{transform:none}
  .nf-mcards--tile .nf-mcard:hover .nf-mcard__img img{transform:scale(1.06)}
  /* Lichte variant (.nf-mcards--light, planchas): die foto's staan op wit, dus hetzelfde principe
     omgekeerd: de kaart loopt van wit (de fotoachtergrond) naar zand, met petrol tekst.  */
  .nf-mcards--light .nf-mcard{background:linear-gradient(90deg,#fff 0%,#fff 24%,color-mix(in srgb,var(--nf-s2) 60%,#fff) 46%,var(--nf-s2) 82%);
    color:var(--nf-t);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nf-b) 60%,transparent);min-height:116px}
  .nf-mcards--light .nf-mcard:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nf-b) 60%,transparent),0 10px 24px rgba(35,20,8,.12)}
  .nf-mcards--light .nf-mcard__img{-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}
  /* cover, geen contain: de Black & Bronze-foto's zijn strandfoto's, niet vrijstaand op wit. */
  .nf-mcards--light .nf-mcard__img img{transform:scale(1.04)}
  .nf-mcards--light .nf-mcard:hover .nf-mcard__img img{transform:scale(1.1)}
  .nf-mcards--light .nf-mcard__size{display:block;grid-column:2;grid-row:1/7;align-self:end;justify-self:end;z-index:0;margin:0 -8px -12px 0;
    font-family:var(--brand-font-display,var(--brand-font-heading,inherit));font-size:88px;font-weight:800;line-height:1;letter-spacing:-.04em;
    color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--nf-p) 14%,transparent);pointer-events:none}
  .nf-mcards--light .nf-mcard__name,.nf-mcards--light .nf-mcard__sub,.nf-mcards--light .nf-mcard__price,.nf-mcards--light .nf-mcard__tag{position:relative;z-index:1}
  .nf-mcards--light .nf-mcard__name{color:var(--nf-p)}
  /* Bij planchas herhaalt de volle naam alleen het label ("Plancha BBQ, ... - Tiger Fire").  */
  .nf-mcards--light .nf-mcard__sub{display:none}
  .nf-mcards--light .nf-mcard__price{display:inline-flex;align-items:center;gap:8px;color:var(--nf-t)}
  .nf-mcards--light .nf-mcard__price::after{content:"";width:18px;height:1.5px;background:var(--nf-a);transition:width .25s cubic-bezier(.4,0,.2,1)}
  .nf-mcards--light .nf-mcard:hover .nf-mcard__price::after{width:32px}
  /* Compacte kaarten onder een subkop (Met / Zonder X-Flow): lager, zodat drie groepen in beeld passen. */
  .nf-mega__row .nf-mcards{margin-top:8px}
  .nf-mcards--compact{gap:10px}
  .nf-mcards--compact .nf-mcard{grid-template-columns:96px minmax(0,1fr);min-height:84px;column-gap:12px;padding-right:16px}
  .nf-mcards--compact .nf-mcard__name{font-size:14.5px}
  .nf-mcards--compact .nf-mcard__price{margin-top:3px;font-size:13px}
  .nf-mcards--compact .nf-mcard__size{font-size:60px;margin:0 -6px -9px 0}
  /* X-Flow-label: petrol, rechtsboven in de kaart (de pre-orderplek links blijft vrij). */
  .nf-mcard__xflow{grid-column:2;grid-row:1/7;align-self:start;justify-self:end;z-index:1;margin:10px -8px 0 0;
    padding:3px 8px;border-radius:6px;background:var(--nf-p);color:#F7F1E5;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .nf-mcards--nomad .nf-mcard__xflow{background:#F7F1E5;color:var(--nf-p)}
  /* Toolset-deal bovenaan elke plancha-tab: dezelfde couponvorm als de pre-orderstrook. */
  .nf-mega__deal{position:relative;display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px 16px;
    border:1.5px dashed color-mix(in srgb,var(--nf-a) 45%,transparent);border-radius:12px;
    background:color-mix(in srgb,var(--nf-a) 8%,var(--nf-s));font-size:13.5px;line-height:1.35;color:var(--nf-t)}
  .nf-mega__deal svg{flex:none;color:var(--nf-a)}
  .nf-mega__deal strong{color:var(--nf-p);font-weight:700;margin-right:4px}
  .nf-mega__deal em:empty{display:none}
  .nf-mega__deal em{margin-left:auto;padding:3px 9px;border-radius:999px;background:var(--nf-a);color:#fff;font-style:normal;font-size:12px;font-weight:800;white-space:nowrap}
  .nf-mega a:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px;border-radius:8px}
  /* Promotegel (menubeheer: megaPromo) als derde kolom, alleen als het hoofditem er een heeft. */
  .nf-mega:has(>.nf-mega__promo){grid-template-columns:240px minmax(0,1fr) 280px}
  .nf-mega__promo{display:flex;flex-direction:column;align-self:start;overflow:hidden;border-radius:12px;
    background:var(--nf-s2);color:var(--nf-t);transition:transform .2s cubic-bezier(.4,0,.2,1)}
  .nf-mega__promo:hover{transform:translateY(-2px)}
  .nf-mega__promo-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
  .nf-mega__promo-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
  .nf-mega__promo-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nf-a)}
  .nf-mega__promo-title{font-size:17px;font-weight:700;line-height:1.25;color:var(--nf-p)}
  .nf-mega__promo-text{font-size:13.5px;line-height:1.45;color:var(--nf-tm)}
  .nf-mega__promo-cta{display:inline-flex;gap:6px;align-items:center;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--nf-a)}
  /* Logo: liggend in een vak van 180 bij 50, na scrollen het merkteken (46 bij 47) in 40px. */
  .nf-logo{position:relative;justify-self:center;display:flex;align-items:center;justify-content:center;width:180px;height:50px;
    font-family:var(--brand-font-display,var(--brand-font-heading,inherit));font-weight:var(--brand-font-display-weight,800);
    font-size:22px;letter-spacing:-.02em;color:var(--nf-p);transition:height .35s cubic-bezier(.4,0,.2,1)}
  .nf-logo__wide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
    transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}
  .nf-logo__icon{position:absolute;left:50%;top:50%;width:46px;height:47px;margin:-23.5px 0 0 -23px;object-fit:contain;
    opacity:0;transform:scale(.7);transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}
  .is-scrolled .nf-logo{height:40px}
  .is-scrolled .nf-logo__wide:not(:only-child){opacity:0;transform:scale(.7)}
  .is-scrolled .nf-logo__icon{opacity:1;transform:scale(1)}
  .nf-tools{display:flex;gap:20px;align-items:center;justify-self:end;color:var(--nf-t)}
  .nf-tools a:hover{color:var(--nf-a)}
  .nf-tools .nlsw-h summary{border:0;padding:0;gap:2px;opacity:1}
  .nf-tools .nlsw-h summary:hover{color:var(--nf-a)}
  .nf-tools .nlsw-h .nlsw-globe{width:20px;height:20px}
  .nf-tools a{color:inherit;display:inline-flex;position:relative}
  /* Alle tools even groot en op één hoogte; de wereldbol spreekt voor zich, dus geen chevron (details stond op baseline, 3px te hoog). */
  .nf-tools>a,.nf-tools .nlsw-h summary{width:24px;height:24px;align-items:center;justify-content:center}
  .nf-tools svg,.nf-tools .nlsw-h .nlsw-globe{width:22px;height:22px;display:block}
  .nf-tools .nlsw-h .nlsw-chev{display:none}
  .nf-tools__lang,.nf-tools .nlsw-h,.nf-tools .nlsw-h details{display:flex;align-items:center;height:24px}
  /* De teller is leeg tot de client hem vult: de SSR-cart is buiten /winkelwagen
     en /checkout altijd leeg (publieke cache), dus de badge hangt aan een script. */
  .nf-cartcount{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;
    background:var(--nf-a);color:var(--nf-ac);font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center}
  .nf-cartcount[data-count]:not([data-count="0"]){display:flex}
  /* Inlogstatus op het accounticoon (via /account/status): x = niet ingelogd, vinkje = ingelogd. */
  /* Het poppetje heeft rechtsboven lucht (de kar niet): dichterbij, zodat de stip net het hoofd raakt. */
  .nf-tools .nf-authdot{padding:0;top:-8px;right:-5px}
  .nf-tools .nf-authdot svg{width:9px;height:9px}
  .nf-authdot[data-auth]{display:flex}
  /* Verlanglijst: staat als laatste in de markup (geen verschuiving van vertaal-id's), visueel vóór account.
     De taalkiezer zet zijn .nlsw-h náást de lege span, dus die krijgt zelf een order. */
  .nf-tools__search{order:1}.nf-tools__wish{order:2}.nf-tools>a[href="/account"]{order:3}.nf-tools__cart{order:5}.nf-tools__lang,.nf-tools>.nlsw-h{order:6}
  .nf-tools .nf-wishcount{top:-8px;right:-7px}
  /* Hartje op productkaarten, de PDP en de verlanglijst zelf. */
  .nf-wish{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--nf-b);
    background:color-mix(in srgb,var(--nf-card) 88%,transparent);color:var(--nf-p);display:grid;place-items:center;cursor:pointer;padding:0;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s,border-color .2s}
  .nf-wish:hover{transform:scale(1.08);color:var(--nf-a);border-color:var(--nf-a)}
  .nf-wish:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-wish svg{width:19px;height:19px;display:block}
  .nf-wish.is-saved{color:var(--nf-a);border-color:var(--nf-a)}
  .nf-wish.is-saved svg{fill:currentColor}
  .nf-wish.is-pop{animation:nf-wishpop .35s ease}
  @keyframes nf-wishpop{50%{transform:scale(1.22)}}
  .nf-buy__ctabar form:has(.nf-wishslot){display:flex;gap:10px;align-items:stretch}
  .nf-buy__ctabar form:has(.nf-wishslot) .nf-cta{flex:1;min-width:0}
  .nf-wishslot{display:contents}
  .nf-wish--inline{position:static;flex:none;width:52px;height:52px;border-radius:var(--nf-rl, 14px)}
  @media (prefers-reduced-motion:reduce){.nf-wish,.nf-wish.is-pop{transition:none;animation:none}}
  .nf-authdot[data-auth="in"] .nf-authdot__out,.nf-authdot[data-auth="out"] .nf-authdot__in{display:none}
  /* Hero: foto over de volle breedte, de glazen header zweeft erover. Zonder
     foto (site.ogImageUrl leeg) het petrol-verloop. */
  /* -90px = 20px marge boven de header plus 70px header: de foto loopt tot onder de balk door. */
  .nf-hero{position:relative;margin:-90px 0 0;min-height:640px;overflow:hidden;
    background:var(--nf-p);background:linear-gradient(135deg,var(--nf-p) 0%,color-mix(in srgb,var(--nf-p) 70%,#000) 100%);display:flex;align-items:flex-end}
  .nf-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .nf-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(46,26,10,.85) 0%,rgba(46,26,10,.32) 52%,rgba(46,26,10,.05) 100%)}
  /* Ontwerp pages/home/desktop.html: tekst linksonder, 64px van links en 56px van onder, max 600px. */
  .nf-hero__body{position:relative;padding:150px clamp(20px,4.5vw,64px) clamp(24px,4vw,56px);max-width:calc(600px + 2 * clamp(20px,4.5vw,64px));
    display:flex;flex-direction:column;gap:18px;align-items:flex-start;color:#F7F1E5}
  .nf-hero__body h1{color:inherit;font-size:clamp(32px,4vw,54px);line-height:1.06;letter-spacing:var(--nf-hls);margin:0}
  .nf-hero__body p{margin:0;font-size:17px;line-height:1.55;color:rgba(247,241,229,.85);max-width:480px}
  .nf-hero__cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
  .nf-hero__more{display:inline-flex;gap:8px;align-items:center;color:#F7F1E5;font-weight:600;font-size:15px;
    text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(247,241,229,.45)}
  /* Hero-zone op de homepage (DSL-blok zoals hero-slider): loopt net als .nf-hero onder de
     zwevende header door tot de aankondigingsbalk. Zonder blok in de zone geen negatieve marge,
     anders schuift de inhoud eronder onder de header. */
  .nf-hero-zone{margin-top:-90px}
  .nf-hero-zone:not(:has(.nb)){margin-top:0}
  .nf-hero-zone .nb--hero-slider .nb-hs{padding-top:calc(48px + 90px)}
  /* Generieke DSL-blokken (.nb) in de Nomad-kit: licht, huisstijlkleuren, geen cursief en geen
     monospace-labels. De blok-CSS van het platform valt terug op de donkere GB-tokens; hier
     zetten we de --nb-tokens op de nf-tokens zodat elk blok op de lichte achtergrond staat. */
  /* `body`-prefix: de blok-CSS van het platform landt in <head> ná deze partial-stijl en zou bij
     gelijke specificiteit winnen; met de prefix winnen deze regels altijd. */
  body .nb{--nb-accent:var(--nf-a);--nb-bg:var(--nf-s);--nb-surface:var(--nf-card);--nb-text:var(--nf-t);
    --nb-text-soft:var(--nf-t);--nb-muted:var(--nf-tm);--nb-line:var(--nf-b);--nb-font-mono:inherit}
  body .nb em,body .nb i,body .nb-hero__title em{font-style:normal!important}
  /* Over-ons-atelier is ontworpen voor een donker thema; hier leest brand-text-primary donker. Donker palet
     afdwingen, en de globale h1-h3-kleur (zero-specificity :where) laten wijken voor de blokregels. */
  body .nb--over-ons-atelier{--at-charcoal:#15120E;--at-cream:#F7F1E5;background:#15120E;color:#F7F1E5}
  body .nb--over-ons-atelier :where(h1,h2,h3){color:inherit}
  body .nb--over-ons-atelier .vb-brand{visibility:hidden}
  body .nb-hero__title em{color:var(--nf-a)}
  body .nb .nb-cta{border-radius:var(--brand-btn-radius,var(--nf-rm));color:var(--nf-ac)}
  body .nb .nb-cta--ghost{color:var(--nb-text)}
  /* Hero met foto: lichte tekst over de donkere foto, en in de hero-zone onder de header door. */
  body .nb--hero-landing{--nb-text:#F7F1E5;--nb-text-soft:rgba(247,241,229,.85);--nb-muted:rgba(247,241,229,.7);border-top:0}
  /* De globale h1-regel van deze kit zet koppen donker; in de foto-hero moet de kop licht blijven. */
  body .nb--hero-landing .nb-hero__title,body .nb--hero-landing .nb-hero__crumbs a,body .nb--hero-landing .nb-hero__stat-val{color:var(--nb-text)}
  body .nb--hero-landing .nb-hero__crumbs,body .nb--hero-landing .nb-hero__stat-label,body .nb--hero-landing .nb-hero__scroll{letter-spacing:.06em}
  body .nf-hero-zone .nb--hero-landing{padding-top:calc(90px + 48px);min-height:clamp(480px,64vh,720px)}
  /* Categoriepagina: staat er een hero in de zone, dan vervangt die de standaard kop met kruimelpad. */
  body .nf-hero-zone:has(.nb)~.nf-wrap .nf-cathead{display:none}
  /* Vergelijkingstabel (variant kamado) op de lichte kit. */
  body [class*="nb--kamado-"]{--kb-charcoal:var(--nf-s);--kb-black:var(--nf-card);--kb-coal:var(--nf-s2);
    --kb-ash:var(--nf-b);--kb-ash-2:var(--brand-border-strong,#CDBFA5);--kb-ember:var(--nf-a);--kb-ember-hot:var(--nf-a);
    --kb-ember-glow:rgba(184,74,25,.14);--kb-cream:var(--nf-t);--kb-bone:var(--nf-t);--kb-fog:var(--nf-tm);--kb-font-mono:inherit;
    background:var(--nf-s);color:var(--nf-t)}
  body .kb-cmp{--cmp-surf:var(--nf-s2);--cmp-surf2:var(--nf-s2);--cmp-cell:var(--nf-card)}
  body .kb-cmp-toggle__knob,body .kb-cmp.is-diff .kb-cmp-toggle__knob{background:#fff}
  body .kb-cmp-flabel,body .kb-cmp-count,body .kb-cmp-corner__y{letter-spacing:.06em}
  /* Productrail (carousel-kaart): de tekst staat over de foto. De platform-kaart legt daar een
     zwart verloop onder; op de lichte kit wordt dat een crème verloop, zodat de donkere tekst
     leesbaar blijft op de donkere productfoto's. */
  body .nb.nb--carousel .nb-gbc__media::after{background:linear-gradient(to top,rgba(255,253,248,.96) 6%,rgba(255,253,248,.72) 40%,rgba(255,253,248,0) 66%)}
  body .nb.nb--carousel .nb-gbc__badge{background:rgba(255,253,248,.9);color:var(--nf-a)}
  body .nb.nb--carousel .nb-gbc__title{color:var(--nf-t);font-weight:600}
  body .nb.nb--carousel .nb-gbc__kicker,body .nb.nb--carousel .nb-gbc__meta{color:var(--nf-tm)}
  body .nb.nb--carousel .nb-gbc__price{color:var(--nf-a)}
  body .nb.nb--carousel .nb-gbc__card{box-shadow:none;border-color:var(--nf-b)}
  .nf-usps{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;padding:22px 16px;font-size:14px;color:var(--nf-tm)}
  .nf-usps span{display:inline-flex;gap:8px;align-items:center}
  .nf-usps svg{color:var(--nf-ok)}
  .nf-section{padding:calc(var(--nf-pad)*.8) 0}
  .nf-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
  .nf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px}
  /* Bestsellers op de home (ontwerp pages/home/desktop.html): vier kolommen, foto 220px hoog. */
  .nf-grid--home{grid-template-columns:repeat(4,1fr)}
  .nf-grid--home .nf-card__media{aspect-ratio:auto;height:220px}
  .nf-section__head .nf-link{color:color-mix(in srgb,var(--nf-a) 75%,#000)}
  @media(max-width:960px){.nf-grid--home{grid-template-columns:1fr 1fr;gap:14px}.nf-grid--home .nf-card__media{height:140px}}
  .nf-card{display:block;color:var(--nf-t);background:var(--nf-card);border:1px solid var(--nf-b);border-radius:var(--nf-rl);
    overflow:hidden;box-shadow:var(--nf-sh);transition:box-shadow .2s ease,transform .2s ease}
  .nf-card:hover{box-shadow:var(--nf-shh);transform:translateY(-2px)}
  .nf-card__media{position:relative;aspect-ratio:1/1;background:var(--nf-s2)}
  .nf-card__media img{width:100%;height:100%;object-fit:cover}
  .nf-badge{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:var(--nf-rs);background:var(--nf-a);color:var(--nf-ac);
    font-size:11px;font-weight:700;letter-spacing:.08em}
  .nf-badge--pre{top:auto;bottom:12px;max-width:calc(100% - 24px)}
  .nf-badge--pre:empty{display:none}
  .nf-card__body{padding:15px;display:flex;flex-direction:column;gap:5px}
  .nf-card__title{font-size:15px;font-weight:600;line-height:1.3}
  .nf-price{display:flex;gap:7px;align-items:baseline;font-size:16px;font-weight:700}
  .nf-was{font-size:12.5px;font-weight:400;color:var(--nf-tm);text-decoration:line-through}
  .nf-sale{color:var(--nf-a)}
  /* Productkaart richting B (nf-pc), sitewide op elke nf-card-lijst. Subgrid: foto, titel, sterren, specs,
     prijs en voorraad liggen per kaartrij op dezelfde hoogte, ook als een kaart iets mist. */
  .nf-card.nf-pc{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;overflow:visible;padding-bottom:0;
    border:0;border-radius:4px 4px 18px 18px;box-shadow:0 0 0 1px var(--nf-b),var(--nf-sh)}
  .nf-card.nf-pc:hover{box-shadow:0 0 0 1px var(--nf-b),var(--nf-shh)}
  .nf-card.nf-pc .nf-pc__media{position:relative;aspect-ratio:1/1;height:auto;overflow:hidden;border-radius:4px 4px 0 0;background:#fff;touch-action:pan-y}
  .nf-pc__media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .5s}
  .nf-pc__media>img.is-on{opacity:1}
  .nf-pc:hover .nf-pc__media>img{transform:scale(1.03)}
  .nf-pc__body{display:contents}
  /* Buiten een raster (carrouselcel van een blok) is er geen subgrid: dan een kolom, prijs onderaan. */
  .nb-gbc__cell--theme>.nf-card.nf-pc{display:flex;flex-direction:column;height:auto}
  .nb-gbc__cell--theme .nf-pc__foot{margin-top:auto}
  .nb-gbc__cell--theme .nf-pc__body>*{align-self:stretch}
  .gbkz-advies--theme>.nf-card.nf-pc{display:flex;flex-direction:column;height:auto}
  .gbkz-advies--theme .nf-pc__body>*{align-self:stretch}
  .nf-pc__body>*{margin-inline:16px;min-width:0}
  .nf-card.nf-pc .nf-pc__title{padding-top:14px;font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:calc(2 * 1.35em);box-sizing:content-box}
  .nf-pc__rate{padding-top:6px;display:flex;align-items:center;min-height:20px;font-size:13px;color:var(--nf-tm);font-variant-numeric:tabular-nums}
  .nf-pc__stars{color:var(--nf-star);letter-spacing:1px}
  .nf-pc__rate b{color:var(--nf-t);font-weight:700}
  .nf-pc__rv{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:4px}
  .nf-pc__rv:hover .nf-pc__cnt{text-decoration:underline;text-underline-offset:2px}
  .nf-pc__rv:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-pc__specrow{margin-top:12px;align-self:start}
  .nf-pc__specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--nf-b);border-bottom:1px solid var(--nf-b)}
  .nf-pc__specrow:has(.nf-pc__specs--type) .nf-pc__specs--gen{display:none}
  .nf-pc__specs--gen:not(:has(>div)){border-color:transparent}
  .nf-pc__specs--gen>div:nth-child(n+4){display:none}
  .nf-pc__specs--gen{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .nf-pc__specs>div{padding:8px 0 8px 10px;display:grid;grid-template-rows:auto 24px;row-gap:3px;min-width:0}
  .nf-pc__specs>div:first-child{padding-left:0}
  .nf-pc__specs>div+div{border-left:1px solid var(--nf-b)}
  .nf-pc__specs small{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nf-pc__specs strong{display:flex;align-items:center;gap:3px;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
  .nf-pc__specs strong:empty::after{content:"-";color:var(--nf-tm);font-weight:400}
  /* Ja/nee uit attribuutwaarden: cirkel met kruisje, vinkje bij de ja-waarden. */
  .nf-pc__yn{position:relative;display:block;flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid currentColor;color:var(--nf-tm)}
  .nf-pc__yn::after{content:"";position:absolute;inset:3px;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/contain no-repeat}
  .nf-pc__yn[data-v="Ja"],.nf-pc__yn[data-v="Inbegrepen"],.nf-pc__yn[data-v="Ja: trolley met Grate Organizer"],.nf-pc__yn[data-v="Voorbereid"]{color:var(--nf-ok)}
  .nf-pc__yn[data-v="Voorbereid"]{border-style:dashed}
  .nf-pc__yn[data-v="Ja"]::after,.nf-pc__yn[data-v="Inbegrepen"]::after,.nf-pc__yn[data-v="Ja: trolley met Grate Organizer"]::after,.nf-pc__yn[data-v="Voorbereid"]::after{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.8l4 4 9-9.6'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.8l4 4 9-9.6'/%3E%3C/svg%3E")}
  .nf-pc__yn:not([data-v]),.nf-pc__yn[data-v=""]{border:0;width:auto}
  .nf-pc__yn:not([data-v])::after,.nf-pc__yn[data-v=""]::after{content:"-";position:static;background:none;-webkit-mask:none;mask:none;font-weight:400}
  .nf-pc__foot{padding-top:12px;align-self:end;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
  .nf-pc .nf-price{flex-direction:column;align-items:flex-start;gap:0;font-size:21px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
  .nf-pc .nf-was{order:-1;font-size:13px}
  .nf-pc__cta{flex:none;padding:10px 16px;border-radius:999px;background:var(--nf-p);color:var(--nf-pc);font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s}
  .nf-pc:hover .nf-pc__cta{background:color-mix(in srgb,var(--nf-p) 85%,#000)}
  .nf-pc__cta--pre{background:transparent;color:var(--nf-p);box-shadow:inset 0 0 0 1.5px var(--nf-p)}
  .nf-pc:hover .nf-pc__cta--pre{background:color-mix(in srgb,var(--nf-p) 8%,transparent)}
  .nf-pc__stock{padding:10px 0 16px;align-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--nf-t)}
  .nf-pc__st,.nf-pc__dlv{display:inline-flex;align-items:center;gap:7px}
  .nf-pc__st i{width:7px;height:7px;border-radius:50%;background:#2E9B63;box-shadow:0 0 0 3px rgba(46,155,99,.18)}
  .nf-pc__st--pre i{background:var(--nf-p);box-shadow:0 0 0 3px color-mix(in srgb,var(--nf-p) 18%,transparent)}
  .nf-pc__st--pre{text-transform:none;letter-spacing:0;font-size:12.5px}
  .nf-pc__st--out i{background:var(--nf-tm);box-shadow:none}
  .nf-pc__st--out{color:var(--nf-tm)}
  .nf-pc__dlv svg{width:17px;height:17px;color:var(--nf-a)}
  /* Sale- en pre-orderstempel: klein, licht scheef, draait recht bij hover. */
  .nf-pc__stamp{position:absolute;left:12px;top:12px;z-index:2;width:68px;height:68px;transform:rotate(-6deg);transition:transform .3s ease;color:#fff}
  .nf-pc:hover .nf-pc__stamp{transform:rotate(0deg)}
  .nf-pc__stamp~.nf-pc__stamp{top:88px}
  .nf-pc__stamp svg{width:100%;height:100%;display:block;overflow:visible}
  .nf-pc__disc{fill:var(--nf-a)}
  .nf-pc__stamp--pre .nf-pc__disc{fill:var(--nf-p)}
  .nf-pc__ring{fill:none;stroke:rgba(252,243,233,.35);stroke-width:.8}
  .nf-pc__rt{font:700 8.4px var(--brand-font-body,'Manrope'),system-ui,sans-serif;fill:#FCF3E9;opacity:.75;letter-spacing:.5px}
  .nf-pc__stamp>b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:16px;font-weight:800;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
  .nf-pc__stamp>b svg{width:22px;height:22px}
  /* Gratis accessoires / bundelkorting: zwevend label onder in de foto. Eén tegelijk, gratis gaat voor. */
  .nf-pc__ribbon{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--nf-b);border-radius:12px;
    background:color-mix(in srgb,var(--nf-card) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12.5px;line-height:1.35;color:var(--nf-tm)}
  .nf-pc__ribbon~.nf-pc__ribbon{display:none}
  .nf-pc__ribbon b{display:block;color:var(--nf-t);font-size:13px}
  .nf-pc__ribbon small{display:block;font-size:12px}
  .nf-pc__pct{flex:none;width:34px;height:34px;border-radius:50%;background:var(--nf-a);color:#fff;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-style:normal;font-weight:800;font-size:11.5px}
  .nf-pc__pct svg{width:18px;height:18px}
  /* Galerij: pijltjes en bolletjes (JS bouwt ze alleen bij 2+ foto's). */
  .nf-pc__nav{position:absolute;top:50%;z-index:3;width:34px;height:34px;margin-top:-17px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--nf-card) 92%,transparent);
    color:var(--nf-t);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .25s,transform .25s;box-shadow:0 1px 3px rgba(35,20,8,.2)}
  .nf-pc__nav svg{width:16px;height:16px}
  .nf-pc__nav--prev{left:10px;transform:translateX(-4px)}
  .nf-pc__nav--next{right:10px;transform:translateX(4px)}
  .nf-pc__media:hover .nf-pc__nav,.nf-pc__nav:focus-visible{opacity:1;transform:none}
  .nf-pc__nav:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-pc__dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:3;display:flex;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(33,28,21,.35);opacity:0;transition:opacity .25s}
  .nf-pc__media:has(.nf-pc__ribbon) .nf-pc__dots{bottom:76px}
  .nf-pc__media:hover .nf-pc__dots{opacity:1}
  .nf-pc__dots button{width:6px;height:6px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s,background .25s}
  .nf-pc__dots button.is-on{width:16px;background:#fff}
  @media (hover:none){.nf-pc__nav{display:none}.nf-pc__dots{opacity:1}.nf-pc__dots button{position:relative}.nf-pc__dots button::after{content:"";position:absolute;inset:-12px -3px}}
  .nb-gbc__view .nf-card.nf-pc .nf-pc__media{touch-action:pan-x pan-y}
  /* Pentekeningen in "Kies je vuur": heel tonen, cover knipt de brede tegels boven en onder af. */
  body .nb .nb-ct__img[src*="pentekening-"]{object-fit:contain;object-position:center}
  /* Subcategorielijst in het tegelpaneel: geen scrollbalk, wel een fade en een pijl zolang er
     meer onder staat (`nf-more`, gezet door het script onderaan de header). */
  body .nb .nb-ct__subs{scrollbar-width:none}
  body .nb .nb-ct__subs::-webkit-scrollbar{display:none}
  body .nb .nb-ct__panel.nf-more .nb-ct__subs{-webkit-mask-image:linear-gradient(#000 calc(100% - 56px),transparent);mask-image:linear-gradient(#000 calc(100% - 56px),transparent)}
  body .nb .nb-ct__panel::after{content:"";position:absolute;left:50%;bottom:52px;width:30px;height:30px;margin-left:-15px;
    border-radius:50%;background:rgba(247,241,229,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123f3a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/16px no-repeat;
    box-shadow:0 4px 12px rgba(0,0,0,.25);pointer-events:none;opacity:0;transition:opacity .25s ease}
  body .nb .nb-ct__panel.nf-more::after{opacity:1;animation:nbct-bob 1.6s ease-in-out infinite}
  @keyframes nbct-bob{0%,100%{translate:0 0}50%{translate:0 4px}}
  @media (prefers-reduced-motion:reduce){body .nb .nb-ct__panel.nf-more::after{animation:none}}
  @media (prefers-reduced-motion:reduce){.nf-pc__media>img{transition:opacity .2s linear}.nf-pc__stamp{transition:none}.nf-pc:hover .nf-pc__media>img{transform:none}}
  @media (max-width:640px){
    .nf-pc__body>*{margin-inline:11px}
    .nf-card.nf-pc .nf-pc__title{font-size:14px;padding-top:10px}
    .nf-pc__specs>div{padding:7px 0 7px 5px;grid-template-rows:auto 20px}
    .nf-pc__specs small{font-size:8.5px;letter-spacing:.03em}
    .nf-pc__specs strong{font-size:11px;letter-spacing:-.2px;gap:2px}
    .nf-pc__yn{width:17px;height:17px}
    .nf-pc__cta{display:none}
    .nf-pc .nf-price{font-size:17px}
    .nf-pc__stock{font-size:10px;gap:4px 10px;padding-bottom:12px}
    .nf-pc__stamp{width:52px;height:52px;left:8px;top:8px}
    .nf-pc__stamp~.nf-pc__stamp{top:66px}
    .nf-pc__stamp>b{font-size:13px}
    .nf-pc__ribbon{left:8px;right:8px;bottom:8px;padding:6px 8px;gap:7px}
    .nf-pc__ribbon small{display:none}
    .nf-pc__ribbon b{font-size:11.5px}
    .nf-pc__pct{width:26px;height:26px;font-size:9.5px}
    .nf-pc__media:has(.nf-pc__ribbon) .nf-pc__dots{bottom:52px}
  }
  /* Vlam-hartje: leeg een vlam, bij hover komt het hartje erin, bewaard = oranje vlam met wit hartje. */
  .nf-fh{overflow:visible}
  .nf-fh__flame{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:fill .2s,stroke .2s}
  .nf-fh__heart{fill:var(--nf-a);opacity:0;transform:scale(.3);transform-origin:12px 17px;transition:opacity .2s,transform .28s cubic-bezier(.3,1.6,.5,1),fill .2s}
  .nf-wish:hover .nf-fh__flame,.nf-tools__wish:hover .nf-fh__flame,.nf-dock__btn:hover .nf-fh__flame{stroke:var(--nf-a)}
  .nf-wish:hover .nf-fh__heart,.nf-tools__wish:hover .nf-fh__heart,.nf-dock__btn:hover .nf-fh__heart,.nf-wish.is-saved .nf-fh__heart,
  .nf-tools__wish:has([data-wish-count]:not([data-count="0"])) .nf-fh__heart,.nf-dock__btn:has([data-wish-count]:not([data-count="0"])) .nf-fh__heart{opacity:1;transform:none}
  .nf-wish.is-saved .nf-fh__flame,.nf-tools__wish:has([data-wish-count]:not([data-count="0"])) .nf-fh__flame,.nf-dock__btn:has([data-wish-count]:not([data-count="0"])) .nf-fh__flame{fill:var(--nf-a);stroke:var(--nf-a)}
  .nf-wish.is-saved .nf-fh__heart,.nf-tools__wish:has([data-wish-count]:not([data-count="0"])) .nf-fh__heart,.nf-dock__btn:has([data-wish-count]:not([data-count="0"])) .nf-fh__heart{fill:var(--nf-card)}
  .nf-wish.is-saved{background:color-mix(in srgb,var(--nf-a) 10%,var(--nf-card))}
  @media (prefers-reduced-motion:reduce){.nf-fh__heart{transition:opacity .2s}}
  .nf-crumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--nf-tm);margin:26px 0 14px;padding:0;list-style:none}
  .nf-crumbs a{color:var(--nf-tm)}
  .nf-crumbs li{display:inline-flex;gap:6px;align-items:center}
  .nf-crumbs li:last-child a{color:var(--nf-t);font-weight:600}
  .nf-crumbs li:last-child svg{display:none}
  /* PLP (ontwerp pages/category/desktop.html): filterkolom 250px, drie kolommen kaarten, foto 260px. */
  .nf-plp{display:grid;grid-template-columns:250px 1fr;gap:36px;padding:20px 0 56px}
  .nf-plp__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:0}
  .nf-plp__head h1{margin:0 0 6px;font-size:clamp(28px,2.7vw,38px)}
  .nf-plp__head p,.nf-plp__head .nf-muted{font-size:14.5px}
  .nf-plp__count{font-size:16px;font-weight:500;color:var(--nf-tm);margin-left:8px;letter-spacing:0}
  .nf-plp .nf-grid{grid-template-columns:repeat(3,1fr);gap:24px}
  .nf-plp .nf-card__media{aspect-ratio:auto;height:260px}
  .nf-plp .nf-card__body{padding:16px;gap:6px}
  .nf-plp .nf-price{font-size:17px}
  .nf-facet .nf-eyebrow{font-size:12px;letter-spacing:.1em}
  .nf-cathero{position:relative;aspect-ratio:16/5;border-radius:var(--nf-rl);overflow:hidden;background:var(--nf-s2);margin-bottom:22px}
  .nf-cathero img{width:100%;height:100%;object-fit:cover}
  /* Categoriefoto over de volle breedte, onder de zwevende header door tot de groene balk.
     Leesbaarheid op elke foto: een donkere verloop onderaan plus het kruimelpad in een glazen pil,
     zodat het contrast niet van de foto afhangt. */
  .nf-catbleed{position:relative;margin-top:-90px;height:clamp(460px,38vw,600px);overflow:hidden;background:var(--nf-p)}
  .nf-catbleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .nf-catbleed::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(14,22,20,.35) 0%,rgba(14,22,20,0) 32%,rgba(14,22,20,0) 58%,rgba(14,22,20,.55) 100%)}
  .nf-catbleed__bar{position:absolute;left:0;right:0;bottom:0;z-index:1;max-width:1440px;margin:0 auto;padding:0 clamp(16px,3.1vw,44px) 22px}
  .nf-crumbs--glass{display:inline-flex;margin:0;padding:8px 16px;border-radius:999px;color:rgba(247,241,229,.8);
    background:rgba(14,22,20,.42);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);
    border:1px solid rgba(247,241,229,.14)}
  .nf-crumbs--glass a{color:rgba(247,241,229,.82)}
  .nf-crumbs--glass a:hover{color:#F7F1E5}
  .nf-crumbs--glass li:last-child a{color:#F7F1E5}
  /* Titel en intro staan in een donker glaspaneel: leesbaar op een lichte én een drukke foto. */
  .nf-catbleed__bar{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .nf-catbleed__text{max-width:640px;padding:22px 26px;border-radius:var(--nf-rl);color:#F7F1E5;
    background:rgba(14,22,20,.55);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
    border:1px solid rgba(247,241,229,.14);box-shadow:0 12px 32px rgba(8,14,12,.25)}
  body .nf-catbleed__text h1{margin:0;color:#F7F1E5;font-size:clamp(28px,3.4vw,44px);line-height:1.08;text-shadow:0 1px 2px rgba(0,0,0,.25)}
  .nf-catbleed__count{display:inline-block;margin-left:12px;vertical-align:.35em;font-size:14px;font-weight:600;letter-spacing:0;color:rgba(247,241,229,.7);white-space:nowrap;text-shadow:none}
  .nf-catbleed__lead{margin-top:10px;font-size:15.5px;line-height:1.55;color:rgba(247,241,229,.9)}
  .nf-catbleed__lead p{margin:0}
  .nf-catbleed__more{display:inline-flex;gap:6px;align-items:center;margin-top:12px;font-size:14px;font-weight:700;color:#F0A87E;
    text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(240,168,126,.45)}
  .nf-catbleed__more:hover{color:#F7F1E5;text-decoration-color:rgba(247,241,229,.6)}
  html:has(.nf-catseo){scroll-behavior:smooth}
  .nf-catseo{scroll-margin-top:120px}
  .nf-catbleed__lead a{color:#F7F1E5;text-decoration:underline;text-underline-offset:3px}
  main:has(.nf-catbleed) .nf-plp{margin-top:32px}
  @media(max-width:640px){.nf-catbleed{margin-top:-96px;height:auto;min-height:clamp(420px,120vw,560px);display:flex;align-items:flex-end}
    .nf-catbleed__bar{position:relative;padding-top:120px;padding-bottom:14px}
    .nf-catbleed__text{padding:16px 18px}.nf-catbleed__lead{font-size:14.5px}}
  /* SEO-laag onder het productoverzicht: tekst, verwante categorieën en FAQ. */
  .nf-catseo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:start;padding:clamp(40px,5vw,72px) 0 var(--nf-pad);border-top:1px solid var(--nf-b);margin-top:clamp(32px,4vw,56px)}
  .nf-catseo:not(:has(.nf-catseo__main)),.nf-catseo:not(:has(.nf-catseo__faq)){grid-template-columns:minmax(0,760px)}
  .nf-catseo h2{margin:0 0 14px;font-size:clamp(22px,2.4vw,28px)}
  .nf-catseo__body{margin-top:0}
  .nf-catseo__body h3{font-size:18px;margin:1.4em 0 .4em}
  .nf-catseo__body ul.gb-bullets{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:8px}
  .nf-catseo__body ul.gb-bullets li{position:relative;padding-left:26px}
  .nf-catseo__body ul.gb-bullets li::before{content:"";position:absolute;left:2px;top:.55em;width:12px;height:7px;border-left:2px solid var(--nf-ok);border-bottom:2px solid var(--nf-ok);transform:rotate(-45deg)}
  .nf-catseo__body dl.gb-speclist{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);margin:16px 0;border:1px solid var(--nf-b);border-radius:var(--nf-rm);overflow:hidden;background:var(--nf-card)}
  .nf-catseo__body dl.gb-speclist dt,.nf-catseo__body dl.gb-speclist dd{margin:0;padding:10px 14px;border-top:1px solid var(--nf-b);font-size:14px}
  .nf-catseo__body dl.gb-speclist dt{font-weight:700;background:var(--nf-s2)}
  .nf-catseo__body dl.gb-speclist dt:first-of-type,.nf-catseo__body dl.gb-speclist dt:first-of-type+dd{border-top:0}
  .nf-catseo__body .gb-hi-note{margin:18px 0;padding:14px 16px;border-left:3px solid var(--nf-warn);border-radius:var(--nf-rs);background:var(--nf-s2);font-size:14.5px}
  .nf-catseo__body .gb-hi-note b{display:block;margin-bottom:4px}
  .nf-catseo__body blockquote.gb-hi-tip{margin:18px 0;padding:16px 18px;border-radius:var(--nf-rm);background:color-mix(in srgb,var(--nf-p) 8%,var(--nf-card));border:1px solid color-mix(in srgb,var(--nf-p) 20%,transparent)}
  .nf-catseo__body blockquote.gb-hi-tip cite{display:block;margin-bottom:4px;font-style:normal;font-weight:700;color:var(--nf-p)}
  .nf-catseo__links{display:flex;flex-direction:column;gap:10px;margin-top:24px}
  .nf-catseo__links>div{display:flex;flex-wrap:wrap;gap:8px}
  .nf-catseo__links a{padding:8px 14px;border:1px solid var(--nf-b);border-radius:999px;background:var(--nf-card);font-size:13.5px;font-weight:600;color:var(--nf-t)}
  .nf-catseo__links a:hover{border-color:var(--nf-p);color:var(--nf-p)}
  .nf-catseo__faq details{border-bottom:1px solid var(--nf-b)}
  .nf-catseo__faq summary{display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:700;font-size:15.5px;cursor:pointer;list-style:none}
  .nf-catseo__faq summary::-webkit-details-marker{display:none}
  .nf-catseo__faq summary::after{content:"+";flex:none;font-size:20px;font-weight:400;line-height:1;color:var(--nf-tm);transition:transform .25s ease}
  .nf-catseo__faq details[open] summary::after{transform:rotate(45deg)}
  .nf-catseo__faq details p{margin:0 0 16px;font-size:14.5px;line-height:1.6;color:var(--nf-tm)}
  @media(max-width:960px){.nf-catseo{grid-template-columns:minmax(0,1fr)}}
  .nf-facets,.nf-facets__list{display:flex;flex-direction:column;gap:24px}
  .nf-facets{align-self:start;position:sticky;top:110px}
  .nf-facet{display:flex;flex-direction:column;gap:10px}
  .nf-facet label:has(input:disabled){opacity:.45;cursor:default}
  .nf-range{display:flex;gap:10px;align-items:center}
  .nf-range input{width:80px;padding:9px 10px;border:1px solid var(--nf-b);border-radius:var(--nf-rs);background:var(--nf-card);font:inherit;font-size:13px;color:var(--nf-t)}
  .nf-facet label{display:flex;gap:9px;align-items:center;font-size:14px;cursor:pointer}
  .nf-facet input{width:17px;height:17px;margin:0;accent-color:var(--nf-p)}
  .nf-facet .nf-count{color:var(--nf-tm)}
  /* Categorie zonder filters: geen lege filterkolom die de productkaarten in 250px perst. */
  .nf-plp:not(:has(>.nf-facets)){grid-template-columns:1fr}
  /* Prijsfilter: slider met twee grepen boven de invulvelden. De algemene 17px-regel voor
     checkboxes maakte van de getalvelden rondjes, daarom hier met hogere specificiteit. */
  .nf-facet .nf-range{flex-wrap:wrap;gap:8px 10px}
  .nf-facet .nf-range input[type=number]{width:88px;height:auto;padding:8px 10px}
  .nf-slider{position:relative;flex:0 0 100%;height:28px;margin-bottom:2px}
  .nf-slider__track{position:absolute;left:0;right:0;top:12px;height:4px;border-radius:4px;background:var(--nf-b)}
  .nf-slider__fill{position:absolute;top:12px;height:4px;border-radius:4px;background:var(--nf-p)}
  .nf-facet .nf-slider input[type=range]{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
  .nf-slider input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--nf-card);border:2px solid var(--nf-p);cursor:grab}
  .nf-slider input[type=range]::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:var(--nf-card);border:2px solid var(--nf-p);cursor:grab}
  .nf-slider input[type=range]::-webkit-slider-runnable-track{background:none}
  .nf-slider input[type=range]::-moz-range-track{background:none}
  .nf-facets[data-nf-live] .nf-facets__apply{display:none}
  .nf-plp.is-loading>div:last-child{opacity:.5;transition:opacity .15s}
  .nf-advies{padding:16px;border-radius:var(--nf-rl);background:var(--nf-s2);display:flex;flex-direction:column;gap:8px;font-size:12.5px;line-height:1.5;color:var(--nf-tm)}
  .nf-advies b{font-size:14px;color:var(--nf-t)}
  .nf-advies .nf-link{font-size:13px;color:color-mix(in srgb,var(--nf-a) 75%,#000);text-decoration:underline;text-underline-offset:3px}
  /* Filters op tablet en mobiel: een knop boven de lijst, het filterformulier zelf wordt een lade
     (tablet van links, mobiel een sheet van onderen, zelfde vorm als .nf-drawer). Alleen met script
     (data-nf-live), zodat de filters zonder JS gewoon in de pagina blijven staan. */
  .nf-plpbar,.nf-facets .nf-facets__head,.nf-facets .nf-facets__foot{display:none}
  @media(max-width:960px){
    .nf-plpbar{position:sticky;top:0;z-index:40;display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:10px 0;background:var(--nf-s)}
    .nf-plpbar__btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:48px;border:0;border-radius:var(--nf-rm);background:var(--nf-p);color:var(--nf-pc);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
    .nf-plpbar__btn svg{width:18px;height:18px}
    .nf-plpbar__n{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--nf-a);color:#fff;font-size:12px;line-height:22px;text-align:center}
    .nf-plpbar__n:empty{display:none}
    .nf-plpbar__chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
    .nf-plpbar__chips::-webkit-scrollbar{display:none}
    .nf-plpbar__chips:empty{display:none}
    .nf-pchip{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 13px;border:1px solid var(--nf-b);border-radius:999px;background:var(--nf-card);color:var(--nf-t);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
    .nf-pchip svg{width:12px;height:12px}
    .nf-pchip--clear{border-color:transparent;background:none;padding:0 4px;color:color-mix(in srgb,var(--nf-a) 75%,#000);text-decoration:underline;text-underline-offset:3px}
    .nf-plpbar__btn:focus-visible,.nf-pchip:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
    html.nf-filters-open{overflow:hidden}
    .nf-plp .nf-facets[data-nf-live]{position:fixed;top:0;bottom:0;left:0;z-index:250;display:flex;flex-direction:column;gap:0;width:420px;max-width:92vw;background:var(--nf-s);color:var(--nf-t);
      box-shadow:16px 0 44px rgba(35,20,8,.28);transform:translateX(-105%);visibility:hidden;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s}
    html.nf-filters-open .nf-plp .nf-facets[data-nf-live]{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s}
    .nf-plp .nf-facets[data-nf-live].is-dragging{transition:none}
    .nf-plp .nf-facets .nf-facets__head{display:flex;position:relative}
    .nf-plp .nf-facets[data-nf-live] .nf-facets__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;gap:0;padding:4px 24px 12px}
    .nf-plp .nf-facets[data-nf-live] .nf-facet{gap:12px;padding:20px 0;border-bottom:1px solid var(--nf-b)}
    .nf-plp .nf-facets[data-nf-live] .nf-facet:last-child{border-bottom:0}
    .nf-plp .nf-facets[data-nf-live] .nf-facet label{min-height:40px;font-size:15px}
    .nf-plp .nf-facets[data-nf-live] .nf-facet label input{width:20px;height:20px}
    .nf-plp .nf-facets[data-nf-live] .nf-facet .nf-range input[type=number]{flex:1;width:auto;min-width:0;height:46px;font-size:16px}
    .nf-plp .nf-facets[data-nf-live] .nf-slider input[type=range]::-webkit-slider-thumb{width:24px;height:24px}
    .nf-plp .nf-facets[data-nf-live] .nf-slider input[type=range]::-moz-range-thumb{width:20px;height:20px}
    .nf-plp .nf-facets[data-nf-live] .nf-advies{display:none}
    .nf-plp .nf-facets .nf-facets__foot{display:flex;flex-direction:row;gap:10px}
    .nf-facets__reset{flex:none;height:50px;padding:0 18px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:none;color:var(--nf-t);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
    .nf-facets__reset:disabled{opacity:.45;cursor:default}
    .nf-facets__show{flex:1;height:50px;border:0;border-radius:var(--nf-rm);background:var(--nf-a);color:#fff;font:inherit;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}
    .nf-plp.is-loading .nf-facets__show{opacity:.7}
    .nf-facets__reset:focus-visible,.nf-facets__show:focus-visible{outline:2px solid var(--nf-p);outline-offset:2px}
    .nf-facets__grip{display:none}
  }
  @media(max-width:720px){
    .nf-plp .nf-facets[data-nf-live]{top:auto;right:0;width:auto;max-width:none;height:88vh;height:88dvh;border-radius:20px 20px 0 0;box-shadow:0 -16px 44px rgba(35,20,8,.28);transform:translateY(110%)}
    .nf-plp .nf-facets .nf-facets__head{border-radius:20px 20px 0 0;padding:24px 20px 14px;touch-action:none}
    .nf-facets__grip{display:block;position:absolute;top:9px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:9px;background:var(--nf-b)}
    .nf-plp .nf-facets[data-nf-live] .nf-facets__list{padding:4px 20px 12px}
    .nf-plp .nf-facets .nf-facets__foot{padding:14px 20px calc(18px + env(safe-area-inset-bottom))}
  }
  @media(prefers-reduced-motion:reduce){.nf-plp .nf-facets[data-nf-live],html.nf-filters-open .nf-plp .nf-facets[data-nf-live]{transition:none}}
  /* Paginering als de outline-knop "Toon meer" uit het ontwerp. */
  .nf-pager{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:28px;font-size:13px;color:var(--nf-tm)}
  .nf-pager a{padding:13px 32px;border:1.5px solid var(--nf-p);border-radius:var(--nf-rm);background:transparent;color:var(--nf-p);font-size:14.5px;font-weight:600}
  .nf-pager a:hover{background:var(--nf-p);color:var(--nf-pc)}
  /* PDP: thumbs, stage, koopkolom. */
  /* PDP (ontwerp pages/product/desktop.html): thumbs 88px, stage hooguit 720px, koopkolom 440px. */
  /* Foto en thumbnail-rail zijn altijd even hoog en eindigen boven de vouw: de hoogte
     volgt de viewport minus aankondigingsbalk, zwevende header, kruimelpad en marge (260px, gemeten 15-09), en
     nooit hoger dan de fotokolom breed is (smalle desktops, 961-1150px).
     Foto, rail en 3D-viewer plakken onder de zwevende header tot het einde van de koopkolom (Bobby, 15-09:
     tot voorbij de USP's onder de koopknop). Daarom staat de koopkolom alleen in rij 1 en begint de
     beschrijving in rij 2, onder zowel foto als koopkolom. */
  .nb-pdp{--nb-stage-h:max(320px,min(720px,calc(100vh - 260px),calc(100vw - 640px)));--nb-sticky-top:116px;display:grid;grid-template-columns:88px minmax(0,1fr) 440px;
    grid-template-rows:auto auto;column-gap:28px;padding:22px clamp(16px,3.1vw,44px) 64px;align-items:start}
  /* De mediakolom is zelf een cel van rij 1 (even hoog als de koopkolom): daarbinnen plakken rail en foto, zodat ze nooit over de beschrijving schuiven. */
  .nb-pdp__media{grid-column:1/3;grid-row:1;align-self:stretch;display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:28px;align-items:start}
  /* De mobiele veeggalerij bestaat op desktop niet. */
  .nb-swipe{display:none}
  /* Rail met op- en neerknoppen: die verschijnen alleen als er meer thumbnails zijn dan in beeld passen. */
  .nb-pdp__rail{position:sticky;top:var(--nb-sticky-top);align-self:start;grid-column:1;grid-row:1;height:var(--nb-stage-h)}
  .nb-pdp__thumbs{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  .nb-pdp__thumbs::-webkit-scrollbar{display:none}
  .nb-pdp__railnav{position:absolute;left:50%;z-index:2;display:grid;place-items:center;width:32px;height:32px;margin-left:-16px;padding:0;
    border:1px solid var(--nf-b);border-radius:50%;background:rgba(255,253,248,.94);color:var(--nf-t);box-shadow:0 4px 12px rgba(35,20,8,.18);cursor:pointer}
  .nb-pdp__railnav[hidden]{display:none}
  .nb-pdp__railnav svg{width:15px;height:15px}
  .nb-pdp__railnav--up{top:6px}.nb-pdp__railnav--up svg{transform:rotate(-90deg)}
  .nb-pdp__railnav--down{bottom:6px}.nb-pdp__railnav--down svg{transform:rotate(90deg)}
  .nb-pdp__railnav:hover{border-color:var(--nf-p)}
  .nb-pdp__railnav:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nb-pdp__thumbs-photos{display:contents}
  .nb-pdp__thumb{flex:none;width:88px;height:88px;border-radius:var(--nf-rs);overflow:hidden;border:1px solid var(--nf-b);box-sizing:border-box;
    background:var(--nf-card);padding:0;cursor:pointer;opacity:.75;transition:opacity .2s ease,border-color .2s ease}
  .nb-pdp__thumb:hover{opacity:1;border-color:var(--nf-a)}
  .nb-pdp__thumb[aria-current="true"]{opacity:1;border:2px solid var(--nf-p)}
  .nb-pdp__thumb img{width:100%;height:100%;object-fit:cover}
  .nb-pdp__thumb--3d,.nb-pdp__thumb--video{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--nf-tm)}
  .nb-pdp__thumb--3d svg,.nb-pdp__thumb--video svg{width:22px;height:22px}
  .nb-pdp__thumb--3d span,.nb-pdp__thumb--video span{font-size:9px;font-weight:700;letter-spacing:.06em}
  .nb-pdp__thumb-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .nb-pdp__thumb--3d:has(.nb-pdp__thumb-poster) span,.nb-pdp__thumb--video span{position:absolute;right:3px;bottom:3px;
    padding:1px 4px;border-radius:99px;background:rgba(0,0,0,.62);color:#fff}
  .nb-pdp__stage{position:sticky;top:var(--nb-sticky-top);align-self:start;grid-column:2;grid-row:1;height:var(--nb-stage-h);border-radius:var(--nf-rl);overflow:hidden;background:var(--nf-card);cursor:zoom-in}
  /* De foto vult het vak (Bobby, 15-09): geen witte randen links en rechts. */
  .nb-pdp__img{width:100%;height:100%;object-fit:cover}
  .nb-pdp__embed{position:absolute;inset:0;width:100%;height:100%;border:0}
  /* Pijlen en vergroot-knop in het kader, zoals op Grill Bill: pijlen verschijnen bij hover (touch: altijd). */
  .nb-pdp__nav{position:absolute;top:50%;z-index:4;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;
    border:1px solid var(--nf-b);border-radius:50%;background:rgba(255,253,248,.86);color:var(--nf-t);cursor:pointer;opacity:0;transition:opacity .2s ease,border-color .2s ease}
  .nb-pdp__nav svg{width:18px;height:18px}
  .nb-pdp__nav--prev{left:14px}.nb-pdp__nav--prev svg{transform:rotate(180deg)}
  .nb-pdp__nav--next{right:14px}
  .nb-pdp__stage:hover .nb-pdp__nav,.nb-pdp__viewer:hover .nb-pdp__nav{opacity:1}
  .nb-pdp__nav:hover{border-color:var(--nf-p)}
  .nb-pdp__nav:focus-visible,.nb-pdp__zoom:focus-visible{opacity:1;outline:2px solid var(--nf-a);outline-offset:2px}
  .nb-pdp__zoom{position:absolute;right:14px;bottom:14px;z-index:3;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;
    background:rgba(255,253,248,.86);border:1px solid var(--nf-b);color:var(--nf-t);cursor:zoom-in}
  /* Geen pijl terug op de eerste foto en geen pijl verder op de laatste. */
  .nb-pdp__media[data-single] .nb-pdp__nav,.nb-pdp__media[data-at-start] .nb-pdp__nav--prev,.nb-pdp__media[data-at-end] .nb-pdp__nav--next{display:none}
  .nb-pdp__zoom svg{width:15px;height:15px}
  @media(hover:none){.nb-pdp__nav{opacity:1}}
  /* De 3D-viewer neemt de cel van de stage over en vult hem helemaal, zoals het fotokader op Grill Bill:
     geen blokkop, geen maatcijfers en geen achtergrondbalk (die zitten in de optielade van de viewer). */
  .nb-pdp__viewer{position:sticky;top:var(--nb-sticky-top);align-self:start;grid-column:2;grid-row:1;height:var(--nb-stage-h);border-radius:var(--nf-rl);overflow:hidden;background:var(--nf-s2)}
  .nb-pdp__viewer .nb--product-3d,.nb-pdp__viewer .nb-container,.nb-lb__3d .nb--product-3d,.nb-lb__3d .nb-container{padding:0;margin:0;max-width:none;height:100%}
  .nb-pdp__viewer .n3d-wrap,.nb-lb__3d .n3d-wrap{height:100%;display:flex;flex-direction:column}
  .nb-pdp__viewer .n3d-stage,.nb-lb__3d .n3d-stage{flex:1 1 auto;min-height:0;aspect-ratio:auto;border:0;border-radius:0}
  /* !important: de CSS van het 3D-blok komt later in de cascade dan deze bundle-stylesheet. De spiegel-knop voor
     volledig scherm in de optielade opent de eigen weergave van de viewer; hier is de lightbox de grote weergave. */
  .nb-pdp__viewer .n3d-head,.nb-pdp__viewer .n3d-dims,.nb-pdp__viewer .n3d-bgbar,.nb-pdp__viewer .n3d-phototools,.nb-pdp__viewer .n3d-fsmirror,
  .nb-lb__3d .n3d-head,.nb-lb__3d .n3d-dims,.nb-lb__3d .n3d-bgbar,.nb-lb__3d .n3d-phototools,.nb-lb__3d .n3d-fs,.nb-lb__3d .n3d-fsmirror,
  .n3d-sheet .n3d-fsmirror{display:none!important}
  .nb-pdp__viewer .n3d-fs{top:auto;bottom:14px;right:14px}
  /* ── Stapelvariant (pdpTemplate=stack) ──────────────────────────────────────
     De stapel is de lange kant en plakt dus niet; rail en koopkolom wel. De modus-selector is
     :has() op de mediakolom (zelfde conventie als .nb-pdp__thumb--3d:has(...) hierboven), zodat
     classic byte-gelijk blijft en er geen klasse via JS gezet hoeft te worden. */
  .nb-pdp__stack{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:20px;min-width:0}
  .nb-pdp__fig{position:relative;margin:0;border-radius:var(--nf-rl);overflow:hidden;background:var(--nf-card);aspect-ratio:1/1;
    cursor:zoom-in;scroll-margin-top:var(--nb-sticky-top)}
  .nb-pdp__figimg{width:100%;height:100%;object-fit:cover;display:block}
  .nb-pdp__fig--viewer{background:var(--nf-s2);cursor:default}
  .nb-pdp__fig--video{cursor:pointer}
  .nb-pdp__fig--video .nb-pdp__figimg{opacity:.7}
  .nb-pdp__fig .nb-pdp__embed{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
  .nb-pdp__figcue{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none}
  .nb-pdp__figcue-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--nf-a);color:#FCF3E9;box-shadow:0 10px 30px rgba(184,74,25,.5)}
  .nb-pdp__figcue-icon svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
  .nb-pdp__figcue-label{padding:6px 12px;border-radius:999px;background:rgba(11,11,11,.6);color:#F7F1E5;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  /* Ritme uit het prototype: na de eerste foto en het model wisselen duo (twee naast elkaar, 4:5)
     en breed (4:3) elkaar af. Puur :nth-child op de lijst-items, geen extra data. */
  .nb-pdp__stackrest{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .nb-pdp__stackrest .nb-pdp__fig{aspect-ratio:4/5}
  .nb-pdp__stackrest .nb-pdp__fig:nth-child(3n){grid-column:1/-1;aspect-ratio:4/3}
  /* De 3D-viewer in de stapel deelt de overrides van het fotokader (zie de .nb-pdp__viewer-regels hierboven). */
  .nb-pdp__fig--viewer .nb--product-3d,.nb-pdp__fig--viewer .nb-container{padding:0;margin:0;max-width:none;height:100%}
  .nb-pdp__fig--viewer .n3d-wrap{height:100%;display:flex;flex-direction:column}
  .nb-pdp__fig--viewer .n3d-stage{flex:1 1 auto;min-height:0;aspect-ratio:auto;border:0;border-radius:0}
  .nb-pdp__fig--viewer .n3d-head,.nb-pdp__fig--viewer .n3d-dims,.nb-pdp__fig--viewer .n3d-bgbar,
  .nb-pdp__fig--viewer .n3d-phototools,.nb-pdp__fig--viewer .n3d-fsmirror{display:none!important}
  .nb-pdp__fig--viewer .n3d-fs{top:auto;bottom:14px;right:14px}
  /* Koopkolom: geen eigen scrollvak (0.23.4, Bobby 16-09: de bundel was onbereikbaar en de pagina scrolde
     niet door boven de kolom). De kolom scrolt mee met de pagina tot zijn onderkant in beeld is en blijft
     dan staan: het script zet --nf-buy-top op min(sticky-top, viewport - kolomhoogte - 16px). Past de
     kolom in de viewport, dan is dat gewoon --nb-sticky-top. */
  .nb-pdp:has(.nb-pdp__media--stack) .nf-buy{position:sticky;top:var(--nf-buy-top,var(--nb-sticky-top));align-self:start}
  /* In de stapel is er geen hoofdfoto om de rail op uit te lijnen: de thumbnails gebruiken de hele viewporthoogte
     onder de header (0.26.1, Bobby 17-09). */
  .nb-pdp:has(.nb-pdp__media--stack) .nb-pdp__rail{height:calc(100vh - var(--nb-sticky-top) - 24px)}
  .nf-buy__ctabar{display:contents}
  .nb-pdp:has(.nb-pdp__media--stack) .nf-buy__ctabar{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:14px;
    padding:12px 0 4px;margin-top:-6px;background:var(--nf-s);box-shadow:0 -18px 16px -12px var(--nf-s)}
  /* Lightbox (Grill Bill-patroon): donker scherm, foto op contain, pijlen, en onderin een glazen rail met ronde thumbnails. */
  .nb-lb{position:fixed;inset:0;z-index:300;display:none;background:rgba(12,10,8,.97);color:#F7F1E5;overscroll-behavior:contain}
  .nb-lb.is-open{display:block}
  .nb-lb__frame{position:absolute;inset:64px 72px 124px;display:grid;place-items:center}
  /* min-width/min-height 0: als grid-item krijgt de foto anders zijn eigen breedte als minimum en loopt hij op mobiel het scherm uit. */
  .nb-lb__img{min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;user-select:none}
  .nb-lb__3d{position:absolute;inset:0;z-index:1;display:none;overflow:hidden}
  .nb-lb.is-3d .nb-lb__3d{display:block}.nb-lb.is-3d .nb-lb__img{display:none}
  .nb-lb__close,.nb-lb__nav{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid rgba(247,241,229,.22);border-radius:50%;
    background:rgba(0,0,0,.35);color:inherit;cursor:pointer;transition:border-color .2s ease}
  .nb-lb__close{top:16px;right:18px;width:44px;height:44px}
  .nb-lb__close svg{width:20px;height:20px}
  .nb-lb__nav{top:50%;width:50px;height:50px;transform:translateY(-50%)}
  .nb-lb__nav svg{width:20px;height:20px}
  .nb-lb__nav--prev{left:16px}.nb-lb__nav--prev svg{transform:rotate(180deg)}
  .nb-lb__nav--next{right:16px}
  .nb-lb[data-at-start] .nb-lb__nav--prev,.nb-lb[data-at-end] .nb-lb__nav--next{display:none}
  .nb-lb__close:hover,.nb-lb__nav:hover{border-color:var(--nf-a)}
  .nb-lb__count{position:absolute;z-index:3;top:28px;left:24px;font-size:12px;font-weight:700;letter-spacing:.14em;opacity:.7}
  .nb-lb__rail{position:absolute;left:50%;bottom:24px;z-index:3;display:flex;gap:10px;padding:8px;max-width:min(500px,calc(100% - 32px));
    transform:translateX(-50%);overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;border:1px solid rgba(255,255,255,.1);border-radius:999px;
    background:rgba(10,9,8,.55);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .nb-lb__rail::-webkit-scrollbar{display:none}
  .nb-lb__thumb{position:relative;flex:none;width:64px;height:64px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:50%;
    background:#1b1814;cursor:pointer;overflow:hidden;transition:border-color .2s ease,transform .2s ease}
  .nb-lb__thumb img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
  .nb-lb__thumb:hover{transform:scale(1.06)}
  .nb-lb__thumb[aria-current="true"]{border-color:var(--nf-a);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
  .nb-lb__thumb--3d{display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;color:inherit}
  .nb-lb__thumb--3d img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px)}
  .nb-lb__thumb--3d span{position:absolute;right:-1px;bottom:-1px;padding:2px 5px;border-radius:99px;background:var(--nf-a);color:#fff;font-size:9px}
  .nf-lb-lock{overflow:hidden}
  /* Zijlade (winkelwagen, reviews), ontwerp README: desktop rechts (460px), mobiel een sheet van onderen. */
  .nf-drawer-back{position:fixed;inset:0;z-index:240;background:rgba(33,28,21,.45);opacity:0;transition:opacity .32s ease}
  .nf-drawer-back.is-open{opacity:1}
  .nf-drawer{position:fixed;top:0;right:0;bottom:0;z-index:250;display:flex;flex-direction:column;width:460px;max-width:92vw;background:var(--nf-s);color:var(--nf-t);
    box-shadow:-16px 0 44px rgba(35,20,8,.28);transform:translateX(105%);visibility:hidden;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s}
  .nf-drawer.is-open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s}
  .nf-drawer__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--nf-b);background:var(--nf-card)}
  .nf-drawer__titles{display:flex;flex-direction:column;gap:4px;min-width:0}
  /* Ladetitels zijn interface, geen inhoud: een <p> met kopopmaak, zodat ze niet in de kopstructuur tellen. */
  .nf-drawer__title{margin:0;font-size:19px;font-weight:var(--nf-hw);line-height:1.1;letter-spacing:var(--nf-hls);color:var(--nf-t);
    font-family:var(--brand-font-heading,var(--brand-font-display,inherit))}
  .nf-drawer__note{font-size:13px;color:var(--nf-ok)}
  .nf-drawer__note:empty{display:none}
  .nf-drawer__note[data-tone="warn"]{color:var(--nf-warn)}
  .nf-drawer__close{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--nf-b);border-radius:999px;background:var(--nf-card);color:var(--nf-t);cursor:pointer}
  .nf-drawer__close svg{width:17px;height:17px}
  .nf-drawer__close:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-drawer__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;display:flex;flex-direction:column;gap:14px}
  .nf-drawer__foot{display:flex;flex-direction:column;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--nf-b);background:var(--nf-card)}
  .nf-drawer__foot[hidden],.nf-rv__hist[hidden],.nf-cd__row[hidden]{display:none}
  .nf-rv__sum{display:flex;gap:7px;align-items:center;font-size:13px}
  .nf-rv__hist{display:flex;flex-direction:column;gap:7px;padding:18px 24px;border-bottom:1px solid var(--nf-b);background:var(--nf-card)}
  .nf-rv__bar{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--nf-tm)}
  .nf-rv__bar>span:first-child{width:26px}
  .nf-rv__bar>span:last-child{width:40px;text-align:right}
  .nf-rv__track{flex:1;height:7px;border-radius:999px;background:var(--nf-s2);overflow:hidden}
  .nf-rv__track span{display:block;height:100%;background:var(--nf-star)}
  .nf-rv__card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);box-shadow:var(--nf-sh)}
  .nf-rv__top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px}
  .nf-rv__card h3{margin:0;font-size:14.5px;font-weight:700}
  .nf-rv__card p{margin:0;font-size:13.5px;line-height:1.6;white-space:pre-line}
  .nf-rv__by{font-size:12.5px;color:var(--nf-tm)}
  .nf-rv__by b{color:var(--nf-t)}
  .nf-rv__verified{color:var(--nf-ok)}
  .nf-cd__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
  .nf-cd__item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--nf-b)}
  .nf-cd__item:first-child{padding-top:0}
  .nf-cd__item[aria-busy="true"]{opacity:.5;pointer-events:none}
  .nf-cd__img{display:block;width:64px;height:64px;border-radius:var(--nf-rs);overflow:hidden;background:var(--nf-s2)}
  .nf-cd__img img{width:100%;height:100%;object-fit:cover}
  .nf-cd__main{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:13.5px}
  .nf-cd__main .nf-muted{font-size:12.5px}
  .nf-cd__qty{display:flex;gap:6px;align-items:center;margin-top:6px}
  .nf-cd__qtybtn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--nf-b);border-radius:50%;background:var(--nf-card);color:var(--nf-t);font:inherit;cursor:pointer}
  .nf-cd__qtybtn:disabled{opacity:.4;cursor:default}
  .nf-cd__qtyval{min-width:20px;text-align:center;font-weight:700}
  .nf-cd__remove{margin-left:8px;padding:0;border:0;background:none;color:var(--nf-tm);font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer}
  .nf-cd__total{white-space:nowrap;font-size:14px}
  .nf-cd__row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
  .nf-cd__row--total{font-size:17px}
  .nf-cd__note{margin:0;font-size:12.5px}
  .nf-cd__view{text-align:center;font-size:13.5px;font-weight:600;color:var(--nf-t);text-decoration:underline;text-underline-offset:3px}
  .nf-cd__price{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
  .nf-cd__price s{font-size:12px;color:var(--nf-tm)}
  .nf-cd__price--off .nf-cd__total{color:var(--nf-a)}
  /* Bundeldeal: de accessoires met bundelkorting onder hun hoofdproduct, plus wat er nog met korting bij kan. */
  .nf-cd__bundle{margin:0 0 14px;border:1px solid var(--nf-a);border-radius:var(--nf-rm);background:var(--nf-card);overflow:hidden}
  .nf-cd__bhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px;border-bottom:1px solid var(--nf-b)}
  .nf-cd__eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-a)}
  .nf-cd__saved{font-size:12px;color:var(--nf-tm);white-space:nowrap}
  .nf-cd__saved:empty{display:none}
  .nf-cd__bundle .nf-cd__items{padding:0 14px}
  .nf-cd__bundle .nf-cd__item,.nf-cd__bundle .nf-cd__item:first-child{grid-template-columns:48px minmax(0,1fr) auto;padding:12px 0}
  .nf-cd__bundle .nf-cd__item:last-child{border-bottom:0}
  .nf-cd__bundle .nf-cd__img{width:48px;height:48px}
  .nf-cd__up{border-top:1px solid var(--nf-b)}
  .nf-cd__bundle .nf-cd__bhead+.nf-cd__up{border-top:0}
  .nf-cd__uptoggle{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:0;background:none;color:var(--nf-t);font:inherit;text-align:left;cursor:pointer}
  .nf-cd__uptoggle strong{display:block;font-size:13.5px;color:var(--nf-a)}
  .nf-cd__uptoggle small{display:block;margin-top:2px;font-size:12px;color:var(--nf-tm)}
  .nf-cd__chev{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--nf-b);border-radius:50%;transform:rotate(90deg);transition:transform .2s ease}
  .nf-cd__uptoggle[aria-expanded="true"] .nf-cd__chev{transform:rotate(-90deg)}
  .nf-cd__uptoggle:focus-visible,.nf-cd__uptab:focus-visible,.nf-cd__upadd:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-cd__uppanel{padding:0 14px 12px}
  .nf-cd__uppanel[hidden]{display:none}
  .nf-cd__uptabs{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:3px;margin-bottom:4px;border:1px solid var(--nf-b);border-radius:var(--nf-rs)}
  .nf-cd__uptab{padding:7px 4px;border:0;border-radius:6px;background:none;color:var(--nf-tm);font:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
  .nf-cd__uptab[aria-selected="true"]{background:var(--nf-t);color:var(--nf-s)}
  .nf-cd__upitems{list-style:none;margin:0;padding:0}
  .nf-cd__upitem{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--nf-b)}
  .nf-cd__upitem:last-child{border-bottom:0;padding-bottom:0}
  .nf-cd__upimg{flex:none;display:block;width:44px;height:44px;border-radius:var(--nf-rs);overflow:hidden;background:var(--nf-s2)}
  .nf-cd__upimg img{width:100%;height:100%;object-fit:cover}
  .nf-cd__upmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px}
  .nf-cd__upmain a{color:var(--nf-t);font-weight:600;line-height:1.3}
  .nf-cd__upmain span{font-size:12.5px}
  .nf-cd__upmain s{margin-right:6px;color:var(--nf-tm)}
  .nf-cd__upmain b{color:var(--nf-a)}
  .nf-cd__upadd{flex:none;padding:7px 11px;border:1.5px solid var(--nf-p);border-radius:var(--nf-rs);background:none;color:var(--nf-p);font:inherit;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
  .nf-cd__upadd:hover{background:var(--nf-p);color:var(--nf-pc)}
  .nf-cd__upadd:disabled{opacity:.5;cursor:default}
  .nf-cd__warn{position:relative;margin:0 0 14px;padding:12px 40px 12px 14px;border:1px solid var(--nf-warn);border-radius:var(--nf-rm);background:var(--nf-card);font-size:13px}
  .nf-cd__warn strong{display:block;color:var(--nf-warn)}
  .nf-cd__warn p{margin:4px 0 8px;color:var(--nf-tm)}
  .nf-cd__warnx{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;color:var(--nf-tm);cursor:pointer}
  .nf-cd__warnx svg{width:15px;height:15px}
  .nf-cd__save{display:inline-flex;gap:7px;align-items:center;justify-content:center;align-self:center;padding:4px;border:0;background:none;color:var(--nf-tm);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
  .nf-cd__save:hover{color:var(--nf-a)}
  .nf-cd__save[aria-busy="true"]{opacity:.6;cursor:progress}
  @media (prefers-reduced-motion:reduce){.nf-cd__chev{transition:none}}
  @media(max-width:720px){
    .nf-drawer{top:auto;left:0;width:auto;max-width:none;max-height:86vh;max-height:86dvh;border-radius:20px 20px 0 0;box-shadow:0 -16px 44px rgba(35,20,8,.28);transform:translateY(110%)}
    .nf-drawer__head{border-radius:20px 20px 0 0;padding:16px 20px}
    .nf-drawer__title{font-size:16px}
    .nf-drawer__body{padding:16px 20px calc(16px + env(safe-area-inset-bottom))}
    .nf-drawer__foot{padding:14px 20px calc(18px + env(safe-area-inset-bottom))}
  }
  /* Sterren en score openen de reviewlade (README): een knop zonder eigen opmaak. */
  button.nb-pdp__rating{align-self:flex-start;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:12.5px;cursor:pointer;text-align:left}
  button.nb-pdp__rating .nb-pdp__count{text-decoration:underline;text-underline-offset:3px}
  button.nb-pdp__rating:focus-visible{outline:2px solid var(--nf-a);outline-offset:3px;border-radius:4px}
  @media(max-width:720px){.nb-lb__frame{inset:60px 8px 110px}.nb-lb__nav{display:none}.nb-lb__thumb{width:54px;height:54px}}
  .nb-pdp__desc{grid-column:1/3;grid-row:2;margin-top:44px;max-width:820px}
  .nb-pdp__desc .nf-desc{margin-top:0}
  .nf-buy{display:flex;flex-direction:column;gap:14px;grid-column:3;grid-row:1}
  /* Beoordeling boven de titel en de modelaanduiding gedempt in de titel (ontwerp Shop Mobiel). */
  .nb-pdp__rating{display:flex;gap:7px;align-items:center;font-size:12.5px}
  /* Sterren naar de echte score: een grijze basis met daarover een gekleurde laag die score/5 breed is. */
  .nb-pdp__stars{position:relative;display:inline-flex}
  .nb-pdp__stars-base,.nb-pdp__stars-fill{display:flex;gap:2px}
  .nb-pdp__stars-base{color:var(--nf-b)}
  .nb-pdp__stars-fill{position:absolute;top:0;bottom:0;left:0;width:0;overflow:hidden;color:var(--nf-star)}
  .nb-pdp__stars svg{flex:none;width:14px;height:14px}
  .nb-pdp__score{font-weight:600}
  .nb-pdp__count{color:var(--nf-tm);text-decoration:underline;text-underline-offset:3px}
  .nb-pdp__accent{color:var(--nf-tm);font-weight:500}
  .nb-pdp__feat{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
  .nb-pdp__feat li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45}
  .nb-pdp__check{display:none;flex:none;color:var(--nf-ok)}
  .nb-pdp__check svg{width:15px;height:15px}
  .nb-pdp__ic{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--nf-s2);color:var(--nf-ok)}
  .nb-pdp__ic svg{width:15px;height:15px}
  .nb-pdp__usps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .nb-pdp__usp{display:flex;gap:10px;align-items:center;min-width:0;padding:10px 12px;border:1px solid var(--nf-b);border-radius:var(--nf-rs);background:var(--nf-card)}
  .nb-pdp__usp-txt{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;font-size:12.5px;color:var(--nf-tm)}
  .nb-pdp__usp-txt b{font-size:13px;color:var(--nf-t)}
  /* "Meer productinfo": tekstlink met een zacht deinende chevron, gecentreerd onder de USP-badges. */
  .nb-pdp__more{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:12px;border-radius:var(--nf-rs);
    color:var(--nf-p);font-weight:600;font-size:15px;text-decoration:none}
  .nb-pdp__more[hidden]{display:none}
  .nb-pdp__more:hover{background:var(--nf-s2)}
  .nb-pdp__more:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nb-pdp__more-ic{display:grid;place-items:center;width:28px;height:28px;border:1.5px solid currentColor;border-radius:50%;animation:nb-bob 1.6s ease-in-out infinite}
  .nb-pdp__more-ic svg{width:14px;height:14px;transform:rotate(90deg)}
  @keyframes nb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
  @media(prefers-reduced-motion:reduce){.nb-pdp__more-ic{animation:none}}
  .nb-pdp__usps[data-usp-style="ledger"]{display:block;border:1px solid var(--nf-b);border-radius:var(--nf-rs);overflow:hidden;background:var(--nf-card)}
  .nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp{border:0;border-bottom:1px solid var(--nf-b);border-radius:0;background:none}
  .nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp:last-child{border-bottom:0}
  .nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp-txt{flex:1;flex-direction:row;align-items:baseline;gap:12px}
  .nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp-txt span{margin-left:auto;text-align:right}
  .nf-buy h1{font-size:clamp(26px,3vw,34px);line-height:1.12}
  .nb-pdp__price{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
  .nb-pdp__now{font-size:30px;font-weight:700}
  .nb-pdp__price .nf-was{font-size:14px}
  .nb-pdp__pct{padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--nf-a) 12%,transparent);color:var(--nf-a);font-size:11px;font-weight:700}
  .nf-taxnote{font-size:12.5px;color:var(--nf-tm)}
  .nf-stock{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--nf-ok)}
  .nf-stock--pre{color:var(--nf-warn)}
  .nf-stock--out{color:var(--nf-tm)}
  .nf-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
  /* Levertijd onder de voorraadregel. Rendert onderaan <main> (geen verschoven vertaal-id's)
     en een script zet hem onder .nf-stock; tot dan onzichtbaar, dus geen sprong in beeld. */
  .nf-dlv{display:inline-flex;gap:8px;align-items:center;margin-top:-6px;font-size:13.5px;color:var(--nf-t)}
  .nf-dlv:not(.is-placed){display:none}
  .nf-dlv__ic{flex:none;width:17px;height:17px;color:var(--nf-a)}
  .nf-dlv__i{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--nf-b);background:none;color:var(--nf-tm);cursor:pointer;transition:border-color .16s,color .16s}
  .nf-dlv__i:hover,.nf-dlv__i:focus-visible{border-color:var(--nf-a);color:var(--nf-a)}
  .nf-dlv__i svg{width:13px;height:13px}
  .nf-dlv__steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:dlv}
  .nf-dlv__steps li{position:relative;padding-left:32px;counter-increment:dlv;font-size:15px;line-height:1.55}
  .nf-dlv__steps li::before{content:counter(dlv);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--nf-a)}
  /* Pre-orderkaart (ontwerp Shop Mobiel): label met stip, aftelklok tot het einde van de actie en het voordeel. */
  .nb-preorder{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card)}
  .nb-preorder__head{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .nb-preorder__label{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8A3A12}
  .nb-preorder__label::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--nf-a)}
  .nb-preorder__timer{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .nb-preorder__timer[hidden]{display:none}
  .nb-preorder__deal{margin:0;font-size:13px;line-height:1.45}
  .nb-preorder__more{margin-left:6px;padding:0;border:0;background:none;color:var(--nf-p);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
  .nb-dealpop{position:fixed;inset:0;z-index:310;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(33,28,21,.55)}
  .nb-dealpop.is-open{display:flex}
  .nb-dealpop__card{position:relative;width:min(440px,100%);max-height:80vh;overflow:auto;padding:22px 22px 24px;border-radius:var(--nf-rl);background:var(--nf-card);color:var(--nf-t);box-shadow:0 24px 60px rgba(0,0,0,.35)}
  .nb-dealpop__title{margin:0 40px 10px 0;font-size:18px;font-weight:700}
  .nb-dealpop__body{font-size:14px;line-height:1.6}
  .nb-dealpop__close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--nf-b);border-radius:50%;background:var(--nf-card);color:inherit;cursor:pointer}
  .nb-dealpop__close svg{width:16px;height:16px}
  /* Maatkeuze zoals op Grill Bill: compacte tegels op één rij met naam, prijs en diameter; vanaf 5 maten een grid. */
  /* Basis wrapt, zodat browsers zonder :has() bij veel maten een tweede rij krijgen in plaats van samengeperste tegels. */
  .nb-variants{display:flex;flex-wrap:wrap;gap:8px;margin:0}
  .nb-variants:has(> :nth-child(5)){display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .nb-variant{flex:1 1 72px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;text-align:center;color:var(--nf-t);
    border:1px solid var(--nf-b);border-radius:var(--nf-rs);background:var(--nf-card);font-size:14px;font-weight:700;transition:border-color .18s ease,background .18s ease}
  .nb-variant:hover{border-color:var(--nf-p)}
  .nb-variant[data-active]{border-color:var(--nf-p);background:var(--nf-s2)}
  .nb-variant[data-out]{opacity:.45}
  .nb-variant__name{overflow-wrap:anywhere}
  .nb-variant__price{font-size:12px;font-weight:600;color:var(--nf-tm);white-space:nowrap}
  .nb-variant[data-active] .nb-variant__price{color:var(--nf-p)}
  .nb-variant__dia{font-size:12px;font-weight:600;white-space:nowrap}
  /* Videokaart onder de maatkeuze bestaat alleen mobiel (Shop Mobiel). */
  .nb-pdp__videocard{display:none;gap:12px;align-items:center;width:100%;padding:10px 12px 10px 10px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);
    background:var(--nf-card);color:var(--nf-t);font:inherit;text-align:left;cursor:pointer}
  .nb-pdp__videothumb{position:relative;flex:none;width:64px;height:48px;border-radius:8px;overflow:hidden;background:#0B0B0B}
  .nb-pdp__videothumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
  .nb-pdp__videoplay{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:var(--nf-a);color:#FCF3E9}
  .nb-pdp__videoplay svg{width:11px;height:11px;fill:currentColor;margin-left:1px}
  .nb-pdp__videotxt{flex:1;display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--nf-tm)}
  .nb-pdp__videotxt b{font-size:14px;color:var(--nf-t)}
  .nb-pdp__videocard > svg{flex:none;width:16px;height:16px;color:#8A3A12}
  /* Bundelblok "Voeg accessoires toe" (ontwerp Shop Mobiel, gedrag als Grill Bill). */
  .nb-bundle{border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);overflow:hidden;color:var(--nf-t)}
  .nb-bundle__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--nf-b)}
  .nb-bundle__step{display:flex;gap:8px;align-items:baseline}
  .nb-bundle__num{font-size:11px;font-weight:700;color:#8A3A12}
  .nb-bundle__title{font-size:15px;font-weight:700}
  .nb-bundle__badge{padding:4px 9px;border:1px solid var(--nf-a);border-radius:6px;color:var(--nf-a);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
  .nb-bundle__tabs{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:10px 12px 0}
  .nb-bundle__tabs:has(> :only-child){display:none}
  .nb-bundle__tab{padding:9px 6px;border:0;border-radius:8px;background:transparent;color:var(--nf-tm);font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
  .nb-bundle__tab[aria-selected="true"]{background:var(--nf-t);color:var(--nf-s)}
  .nb-bundle__tab:focus-visible,.nb-bundle__toggle:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nb-bundle__group{padding:6px 12px 10px}
  .nb-bundle__group[hidden]{display:none}
  .nb-bundle__items{display:flex;flex-direction:column}
  .nb-bundle__item{display:flex;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--nf-b);cursor:pointer}
  .nb-bundle__item:last-child{border-bottom:0}
  .nb-bundle__img{flex:none;width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--nf-s2)}
  .nb-bundle__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .nb-bundle__name{font-size:13px;font-weight:700;line-height:1.25}
  .nb-bundle__sub{font-size:11.5px;line-height:1.4;color:var(--nf-tm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .nb-bundle__price{display:flex;gap:6px;align-items:baseline}
  .nb-bundle__was{font-size:11.5px;color:var(--nf-tm);text-decoration:line-through}
  .nb-bundle__now{font-size:13px;font-weight:700;color:var(--nf-a)}
  .nb-bundle__toggle{position:relative;flex:none;width:40px;height:24px;padding:0;border:0;border-radius:999px;background:var(--nf-b);cursor:pointer;transition:background .2s ease}
  .nb-bundle__toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--nf-card);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s ease}
  .nb-bundle__toggle[aria-checked="true"]{background:var(--nf-p)}
  .nb-bundle__toggle[aria-checked="true"]::after{left:19px}
  .nb-bundle__msg{margin:0;padding:0 16px 12px;font-size:12px;color:var(--nf-a)}
  .nb-bundle__msg:empty{display:none}
  /* Gratis erbij (Nomad 0.25.0): vast aan, geen schakelaar. Staat er ook een tabblok onder, dan scheidt een lijn ze. */
  .nb-bundle__incl+.nb-bundle__head{border-top:1px solid var(--nf-b)}
  /* 0.26.0: compact, de cadeaus naast elkaar in plaats van drie volle regels (kortere koopkolom). */
  .nb-bundle__incl .nb-bundle__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;padding:12px 16px 6px}
  .nb-bundle__item--incl{position:relative;flex-direction:column;align-items:stretch;gap:6px;padding:0;border-bottom:0;cursor:default}
  .nb-bundle__item--incl .nb-bundle__img{width:100%;height:64px;object-fit:contain;border-radius:8px}
  .nb-bundle__item--incl .nb-bundle__name{font-size:11.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .nb-bundle__item--incl .nb-bundle__sub{display:none}
  .nb-bundle__item--incl .nb-bundle__price{flex-wrap:wrap;gap:4px}
  .nb-bundle__item--incl .nb-bundle__check{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:var(--nf-card)}
  .nb-bundle__item--incl .nb-bundle__check svg{width:14px;height:14px}
  .nb-bundle__more{align-self:flex-start;margin:2px 4px 0;padding:8px 0 2px;border:0;background:none;color:var(--nf-a);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
  .nb-bundle__more:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nb-bundle__item[hidden]{display:none}
  /* Mini-koopbalk (0.26.0): verschijnt op desktop zodra de koopknop boven uit beeld is. Mobiel heeft de zwevende knop al.
     Breedte laat rechts ruimte voor de chatknop (ca. 110px) op smallere desktops. */
  .nb-minibuy{position:fixed;left:50%;bottom:18px;z-index:80;display:flex;align-items:center;gap:16px;width:min(720px,calc(100vw - 260px));
    padding:10px 10px 10px 20px;border:1px solid var(--nf-b);border-radius:999px;background:var(--nf-card);box-shadow:0 18px 40px rgba(8,26,24,.18);
    transform:translate(-50%,0);transition:transform .25s ease,opacity .25s ease}
  .nb-minibuy[hidden]{display:flex;opacity:0;pointer-events:none;transform:translate(-50%,120%)}
  .nb-minibuy__name{flex:1;min-width:0;font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* Dubbele klasse: .nf-cta{width:100%;padding:17px} staat verderop en won, waardoor de knop de naam wegdrukte en buiten de pil stak. */
  .nb-minibuy .nb-minibuy__cta{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:0;
    padding:12px 24px;border-radius:999px;font-size:14px;line-height:1;white-space:nowrap}
  .nb-minibuy .nb-minibuy__cta svg{width:18px;height:18px;flex:none}
  @media(max-width:960px){.nb-minibuy{display:none!important}}
  @media(prefers-reduced-motion:reduce){.nb-minibuy{transition:none}}
  .nb-bundle__badge--ok{border-color:var(--nf-ok);color:var(--nf-ok);text-transform:none;letter-spacing:0}
  .nb-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nb-bundle__free{font-size:13px;font-weight:700;color:var(--nf-ok)}
  .nb-bundle__check{flex:none;display:grid;place-items:center;color:var(--nf-ok)}
  .nb-bundle__inclnote{margin:0;padding:2px 16px 12px;font-size:12px;color:var(--nf-tm)}
  .nb-cta__total{white-space:nowrap}
  .nf-cta{width:100%;padding:17px;font-size:16px;font-weight:700}
  .nf-desc{margin-top:10px;font-size:15px;line-height:1.65}
  .nf-desc h2,.nf-desc h3{margin-top:1.2em}
  /* Formulieren en smalle pagina's. */
  .nf-narrow{max-width:640px}
  .nf-form{display:flex;flex-direction:column;gap:14px}
  .nf-input{background:var(--nf-card);border:1px solid var(--nf-b);border-radius:var(--nf-rm);padding:13px 15px;color:inherit;font:inherit;width:100%}
  .nf-input:focus{outline:2px solid var(--nf-p);outline-offset:1px}
  .nf-cart{list-style:none;padding:0;margin:0}
  .nf-cart li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--nf-b)}
  .nf-cart img{width:72px;height:72px;object-fit:cover;border-radius:var(--nf-rs);background:var(--nf-s2)}
  .nf-total{display:flex;justify-content:space-between;margin-top:24px;font-size:18px}
  /* Inloggen en account aanmaken: gecentreerde kaart (Inloggen.dc.html). */
  .nf-auth{display:flex;justify-content:center;padding:clamp(40px,8vw,96px) 16px}
  .nf-auth__card{width:100%;max-width:470px;display:flex;flex-direction:column;gap:12px;padding:clamp(28px,5vw,44px);
    background:var(--nf-card);border:1px solid var(--nf-b);border-radius:var(--nf-rxl);box-shadow:var(--nf-sh)}
  .nf-auth__card h1{font-size:clamp(30px,4vw,40px);margin:0}
  .nf-auth__alt{margin:6px 0 0;text-align:center;font-size:14px}
  .nf-auth__trust{display:flex;gap:6px;justify-content:center;align-items:center;margin:4px 0 0;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-tm)}
  .nf-auth__trust svg{color:var(--nf-ok)}
  .nf-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--nf-t)}
  .nf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .nf-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--nf-tm)}
  .nf-check input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--nf-p)}
  .nf-alert,.nf-notice{padding:12px 14px;border-radius:var(--nf-rm);font-size:13.5px}
  .nf-alert{border:1px solid color-mix(in srgb,var(--brand-error,#9C3B11) 35%,transparent);background:color-mix(in srgb,var(--brand-error,#9C3B11) 8%,transparent);color:var(--brand-error,#9C3B11)}
  .nf-notice{border:1px solid color-mix(in srgb,var(--nf-ok) 35%,transparent);background:color-mix(in srgb,var(--nf-ok) 9%,transparent);color:var(--nf-ok)}
  /* Mijn account: zijnavigatie plus panelen (Account.dc.html). */
  .nf-acc{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:36px 0 var(--nf-pad)}
  .nf-acc__nav{display:flex;flex-direction:column;gap:4px;align-self:start;position:sticky;top:130px}
  .nf-acc__nav a{padding:10px 14px;border-radius:var(--nf-rm);color:var(--nf-t);font-weight:600;font-size:14.5px}
  .nf-acc__nav a:hover,.nf-acc__nav a[aria-current="page"]{background:var(--nf-s2);color:var(--nf-p)}
  .nf-acc__main{display:flex;flex-direction:column;gap:22px;min-width:0}
  .nf-acc__main h1{margin:4px 0 0}
  .nf-panel{background:var(--nf-card);border:1px solid var(--nf-b);border-radius:var(--nf-rl);padding:24px}
  .nf-panel__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
  .nf-panel__head h2{font-size:20px;margin:0}
  .nf-orders{list-style:none;margin:0;padding:0}
  .nf-orders li{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--nf-b)}
  .nf-orders li:first-child{border-top:0}
  .nf-orders a{color:var(--nf-t)}
  .nf-orders small{display:block;color:var(--nf-tm);font-size:12.5px}
  /* De renderer stript witruimte tussen elementen: woorden uit losse bindingen krijgen hun spatie via gap. */
  .nf-inline{display:inline-flex;flex-wrap:wrap;gap:0 .3em}
  .nf-orders small.nf-inline{display:flex}
  .nf-pill{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--nf-s2);color:var(--nf-tm)}
  .nf-pill--ok{background:color-mix(in srgb,var(--nf-ok) 14%,transparent);color:var(--nf-ok)}
  .nf-addr{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
  .nf-addr>div{padding:16px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);font-size:14px;line-height:1.55}
  .nf-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:0}
  .nf-dl dt{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-tm)}
  .nf-dl dd{margin:2px 0 0;font-weight:600}
  .nf-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
  .nf-fieldset legend{font-size:18px;font-weight:700;margin-bottom:6px}
  .nf-sum{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:14.5px}
  .nf-sum>div{display:flex;justify-content:space-between;gap:12px}
  .nf-sum .nf-sum__total{font-size:18px;font-weight:700;padding-top:10px;border-top:1px solid var(--nf-b)}
  /* Winkelwagen, afrekenen, keuzepagina en orderbevestiging (ontwerp pages/cart, checkout,
     checkout-gate, order-confirmation). Scripts tonen en verbergen met het hidden-attribuut. */
  [hidden]{display:none!important}
  /* Alleen boven en onder: de zijmarge komt van .nf-wrap. */
  .nf-shop{padding-top:26px;padding-bottom:var(--nf-pad);display:flex;flex-direction:column;gap:22px}
  .nf-shop__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
  .nf-shop__head h1{margin:0;font-size:clamp(30px,3.4vw,38px)}
  .nf-shop__head h1 small{font-size:16px;font-weight:500;letter-spacing:0;color:var(--nf-tm)}
  .nf-shop__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:44px;align-items:start}
  .nf-shop__grid--co{grid-template-columns:minmax(0,1fr) 400px;gap:40px;max-width:1140px;width:100%;margin:0 auto}
  .nf-shop__aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px;min-width:0}
  .nf-empty{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 0}
  .nf-line{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--nf-b)}
  .nf-line[aria-busy="true"]{opacity:.5;pointer-events:none}
  .nf-line__img{display:block;width:110px;height:110px;border-radius:var(--nf-rm);overflow:hidden;background:var(--nf-s2)}
  .nf-line__img img{width:100%;height:100%;object-fit:cover}
  .nf-line__body{display:flex;flex-direction:column;gap:5px;min-width:0}
  .nf-line__name{font-size:16px;font-weight:600;color:var(--nf-t)}
  .nf-line__meta{font-size:13px;color:var(--nf-tm)}
  .nf-line__acts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px}
  .nf-line__price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:17px;font-weight:700}
  .nf-line__price s{font-size:13px;font-weight:500;color:var(--nf-tm)}
  .nf-qty{display:inline-flex;align-items:center;border:1px solid var(--nf-b);border-radius:var(--nf-rs);background:var(--nf-card)}
  .nf-qty button{width:34px;height:34px;border:0;background:transparent;color:var(--nf-t);cursor:pointer;display:flex;align-items:center;justify-content:center}
  .nf-qty button:disabled{opacity:.35;cursor:default}
  .nf-qty span{min-width:28px;text-align:center;font-size:14px;font-weight:600}
  .nf-textbtn{display:inline-flex;gap:5px;align-items:center;padding:0;border:0;background:none;cursor:pointer;font:600 12.5px/1.2 inherit;font-family:inherit;color:var(--nf-tm)}
  .nf-textbtn:hover{color:var(--nf-a)}
  .nf-box{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);box-shadow:var(--nf-sh)}
  .nf-box h2{margin:0;font-size:20px}
  .nf-kv{display:flex;flex-direction:column;gap:9px;font-size:14px}
  .nf-kv>div{display:flex;justify-content:space-between;gap:12px}
  .nf-kv>div>span:first-child{color:var(--nf-tm)}
  .nf-kv .nf-kv__total{align-items:baseline;padding-top:12px;border-top:1px solid var(--nf-b)}
  .nf-kv .nf-kv__total>span:first-child{font-size:15px;font-weight:700;color:var(--nf-t)}
  .nf-kv__total strong{font-size:26px;font-weight:800;letter-spacing:-.01em}
  .nf-ok{color:var(--nf-ok);font-weight:700}
  .nf-code{display:flex;gap:8px}
  .nf-code .nf-input{padding:11px 12px;font-size:13.5px}
  .nf-btn--line{padding:0 16px;background:transparent;color:var(--nf-p);border:1.5px solid var(--nf-p);font-size:13px;font-weight:700}
  .nf-msg{margin:0;font-size:12.5px;color:var(--nf-tm)}
  .nf-msg:empty{display:none}
  .nf-msg[data-state="error"]{color:var(--brand-error,#9C3B11)}
  .nf-msg[data-state="ok"]{color:var(--nf-ok);font-weight:600}
  /* Bundeldeal op de winkelwagenpagina: accessoires met bundelkorting in een kader onder hun hoofdproduct. */
  .nf-cartbundle{margin:0 0 20px;border:1px solid var(--nf-a);border-radius:var(--nf-rl);background:var(--nf-card);overflow:hidden}
  .nf-cartbundle__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 20px;border-bottom:1px solid var(--nf-b)}
  .nf-cartbundle__eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-a)}
  .nf-cartbundle__saved{font-size:13px;color:var(--nf-tm);white-space:nowrap}
  .nf-cartbundle__saved:empty{display:none}
  .nf-cartbundle__lines{padding:0 20px}
  .nf-cartbundle .nf-line:last-child{border-bottom:0}
  .nf-cartbundle .nf-line__price s+span{color:var(--nf-a)}
  .nf-savecart{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;flex-wrap:wrap}
  .nf-savecart>div{display:flex;flex-direction:column;gap:4px;flex:1 1 260px;min-width:0}
  .nf-savecart strong{font-size:14px}
  .nf-savecart span{font-size:12.5px;color:var(--nf-tm)}
  .nf-savecart .nf-btn--line{display:inline-flex;gap:8px;align-items:center;min-height:42px;white-space:nowrap}
  .nf-savecart .nf-btn--line[aria-busy="true"]{opacity:.6;cursor:progress}
  .nf-resume{margin:16px 0 0;padding:12px 16px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:var(--nf-card);font-size:14px}
  .nf-resume[hidden]{display:none}
  .nf-pays{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
  .nf-pays:has(img){gap:5px}
  .nf-pays img{width:35px;height:26.25px;border-radius:5px;box-shadow:0 0 0 1px var(--nf-b)}
  .nf-pays span{padding:5px 9px;border:1px solid var(--nf-b);border-radius:4px;background:var(--nf-card);font-size:10.5px;font-weight:700;color:var(--nf-tm)}
  .nf-lock{display:flex;gap:8px;align-items:center;margin:0;font-size:12.5px;color:var(--nf-tm)}
  .nf-lock svg{color:var(--nf-ok)}
  .nf-recs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .nf-rec{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:var(--nf-card)}
  .nf-rec img{width:56px;height:56px;flex:none;border-radius:var(--nf-rs);object-fit:cover;background:var(--nf-s2)}
  .nf-rec a{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--nf-t);font-size:13.5px;font-weight:600;line-height:1.3}
  .nf-rec a strong{font-size:13px}
  .nf-round{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid var(--nf-p);background:transparent;color:var(--nf-p);cursor:pointer}
  .nf-round:disabled{opacity:.4}
  .nf-trustrow{display:flex;gap:22px;flex-wrap:wrap;font-size:12.5px;color:var(--nf-tm)}
  .nf-trustrow span{display:flex;gap:6px;align-items:center}
  .nf-trustrow svg{color:var(--nf-ok)}
  .nf-co__top{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1140px;width:100%;margin:0 auto;font-size:13px;font-weight:600}
  .nf-co__top a{display:inline-flex;gap:6px;align-items:center;color:var(--nf-tm)}
  .nf-co__form{display:flex;flex-direction:column;gap:28px;min-width:0}
  .nf-co__form h1{margin:0 0 6px;font-size:clamp(28px,3vw,34px)}
  .nf-co__sec{display:flex;flex-direction:column;gap:12px}
  .nf-co__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:16px;font-weight:700}
  .nf-co__h a{font-size:13px;font-weight:600}
  .nf-co .nf-input{padding:14px;border-radius:var(--nf-rs);font-size:15px}
  .nf-co .nf-input:focus{outline:0;border-color:var(--nf-p);box-shadow:0 0 0 .5px var(--nf-p)}
  .nf-input[aria-invalid="true"]{border-color:var(--brand-error,#9C3B11)}
  .nf-co__pc{display:grid;grid-template-columns:140px 110px minmax(0,1fr) 150px;gap:12px}
  .nf-co__found{grid-column:3;display:flex;gap:8px;align-items:center;padding:0 14px;border:1px solid color-mix(in srgb,var(--nf-ok) 40%,transparent);border-radius:var(--nf-rs);background:color-mix(in srgb,var(--nf-ok) 6%,transparent);font-size:14px;min-width:0}
  .nf-co__found svg{color:var(--nf-ok)}
  .nf-co__found span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nf-co__pc select{grid-column:4}
  .nf-opts{display:flex;flex-direction:column;gap:8px}
  .nf-opt{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:var(--nf-card);cursor:pointer}
  .nf-opt:has(input:checked){border:1.5px solid var(--nf-p);background:color-mix(in srgb,var(--nf-p) 4%,var(--nf-card))}
  .nf-opt input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--nf-p)}
  .nf-opt__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .nf-opt__txt strong{font-size:14.5px}
  .nf-opt__txt small{font-size:12.5px;color:var(--nf-tm)}
  .nf-opt__price{font-size:14px;font-weight:700}
  .nf-co__paynote{display:flex;gap:10px;align-items:center;padding:14px 16px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:var(--nf-card);font-size:14px;color:var(--nf-tm)}
  .nf-co__paynote svg{color:var(--nf-p)}
  .nf-co__pay{padding:18px}
  .nf-co__pay[aria-busy="true"]{opacity:.7;cursor:progress}
  .nf-co__terms{margin:-16px 0 0;text-align:center;font-size:12px;line-height:1.5;color:var(--nf-tm)}
  .nf-sumbox{border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);box-shadow:var(--nf-sh);overflow:hidden}
  .nf-sumbox__head{padding:16px 20px;border-bottom:1px solid var(--nf-b);font-size:15px;font-weight:700}
  .nf-sumbox__line{display:flex;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--nf-b);font-size:14px}
  .nf-sumbox__thumb{position:relative;flex:none}
  .nf-sumbox__thumb img{width:60px;height:60px;object-fit:cover;border-radius:var(--nf-rs);background:var(--nf-s2)}
  .nf-sumbox__thumb img:not([src]){visibility:hidden}
  .nf-sumbox__thumb>span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--nf-tm);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
  .nf-sumbox__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .nf-sumbox__txt small{font-size:12.5px;color:var(--nf-tm)}
  .nf-sumbox__code{display:flex;flex-direction:column;gap:6px;padding:14px 18px;border-bottom:1px solid var(--nf-b)}
  .nf-sumbox__tot{padding:16px 18px}
  .nf-sumbox .nf-kv__total strong{font-size:24px}
  .nf-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .nf-tiles span{display:flex;gap:7px;align-items:center;padding:10px 12px;border:1px solid var(--nf-b);border-radius:var(--nf-rs);background:var(--nf-card);font-size:11.5px;font-weight:700;color:var(--nf-tm)}
  .nf-tiles svg{color:var(--nf-ok)}
  .nf-gate{display:flex;flex-direction:column;align-items:center;gap:28px;padding:48px 16px var(--nf-pad)}
  .nf-steps{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:12.5px;font-weight:600;color:var(--nf-tm)}
  .nf-steps__sep{width:24px;height:1px;background:var(--nf-b)}
  .nf-steps .is-done{display:inline-flex;gap:6px;align-items:center;color:var(--nf-ok)}
  .nf-steps .is-now{color:var(--nf-t)}
  .nf-gate__card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}
  .nf-gate__card h1{margin:0;text-align:center;font-size:clamp(28px,3vw,32px)}
  .nf-gate__lead,.nf-gate__mini{margin:0;text-align:center;font-size:14.5px;color:var(--nf-tm)}
  .nf-gate__mini{font-size:12.5px}
  .nf-gate .nf-input{padding:15px 16px;font-size:16px}
  .nf-or{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--nf-tm)}
  .nf-or::before,.nf-or::after{content:"";flex:1;height:1px;background:var(--nf-b)}
  .nf-why{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--nf-rl);background:var(--nf-s2);font-size:13px;line-height:1.55}
  .nf-why svg{margin-top:2px;color:var(--nf-p)}
  .nf-thanks__hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:clamp(56px,9vw,110px) 16px;text-align:center;color:#F7F1E5;
    background:linear-gradient(180deg,color-mix(in srgb,var(--nf-p) 70%,#000) 0%,color-mix(in srgb,var(--nf-p) 42%,#000) 100%)}
  .nf-thanks__hero h1{max-width:820px;margin:0;color:inherit;font-size:clamp(32px,4.4vw,48px)}
  .nf-thanks__hero p{max-width:640px;margin:0;font-size:16px;color:rgba(247,241,229,.85)}
  .nf-thanks__tick{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--nf-ok);color:#fff;box-shadow:0 0 0 8px color-mix(in srgb,var(--nf-ok) 30%,transparent)}
  .nf-thanks{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;max-width:1100px;margin:0 auto;padding:40px clamp(16px,3.1vw,44px) 0}
  .nf-thanks__main{display:flex;flex-direction:column;gap:20px;min-width:0}
  .nf-thanks__main h2{margin:0;font-size:18px}
  .nf-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .nf-info>div{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);box-shadow:var(--nf-sh);font-size:14.5px;font-weight:700;line-height:1.35;animation:nf-up .3s ease both}
  .nf-info>div:nth-child(2){animation-delay:.08s}
  .nf-info>div:nth-child(3){animation-delay:.16s}
  .nf-info svg{color:var(--nf-p)}
  .nf-info .nf-muted{font-size:13px;font-weight:500}
  @keyframes nf-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.nf-info>div{animation:none}}
  .nf-links2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .nf-links2 a{display:flex;flex-direction:column;gap:3px;padding:16px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);background:var(--nf-card);box-shadow:var(--nf-sh);color:var(--nf-t);font-size:14px;font-weight:700}
  .nf-links2 small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--nf-a)}
  .nf-track{list-style:none;margin:0;padding:0}
  .nf-track li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;padding:12px 0;border-top:1px solid var(--nf-b)}
  .nf-track li:first-child{border-top:0}
  .nf-track small{display:block;font-size:12.5px;color:var(--nf-tm)}
  .nf-track__dot{width:14px;height:14px;margin-top:4px;border-radius:999px;border:2px solid var(--nf-b)}
  .nf-track li[data-state="done"] .nf-track__dot{background:var(--nf-ok);border-color:var(--nf-ok)}
  .nf-track li[data-state="now"] .nf-track__dot{border-color:var(--nf-a);box-shadow:0 0 0 4px color-mix(in srgb,var(--nf-a) 20%,transparent)}
  @media(max-width:960px){
    .nf-shop__grid,.nf-shop__grid--co,.nf-thanks{grid-template-columns:1fr}
    .nf-shop__aside{position:static}
    .nf-recs,.nf-info{grid-template-columns:1fr}}
  @media(max-width:640px){
    .nf-line{grid-template-columns:80px minmax(0,1fr);gap:14px}
    .nf-line__img{width:80px;height:80px}
    .nf-line__price{grid-column:2;align-items:flex-start}
    .nf-co__pc{grid-template-columns:1fr 1fr}
    .nf-co__found,.nf-co__pc select{grid-column:1 / -1}
    .nf-links2,.nf-tiles{grid-template-columns:1fr}
    .nf-cta,.nf-co__pay{min-height:52px}}
  /* Blog, artikel, contact, service en 404 (ontwerp pages/blog-index, blog-post, contact,
     service, not-found). */
  .nf-bloghero{margin:0 16px;border-radius:24px;padding:clamp(56px,8vw,96px) 0 clamp(28px,4vw,40px);color:#F7F1E5;
    background:linear-gradient(180deg,var(--nf-p) 0%,color-mix(in srgb,var(--nf-p) 55%,#000) 100%)}
  .nf-bloghero__eyebrow,.nf-404__eyebrow{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
  .nf-bloghero__eyebrow{color:rgba(247,241,229,.8)}
  .nf-bloghero h1{margin:0;color:inherit;font-size:clamp(34px,4.6vw,46px)}
  .nf-bloghero p:not(.nf-bloghero__eyebrow){margin:8px 0 0;max-width:620px;font-size:16px;color:rgba(247,241,229,.85)}
  .nf-blog{padding-top:22px;padding-bottom:var(--nf-pad);display:flex;flex-direction:column;gap:24px}
  .nf-chips{display:flex;gap:8px;flex-wrap:wrap}
  .nf-chips__list{display:contents}
  .nf-chip{padding:8px 16px;border-radius:999px;border:1px solid var(--nf-b);color:var(--nf-t);font-size:13px;font-weight:600}
  .nf-chip:hover{border-color:var(--nf-p)}
  .nf-chip.is-active{background:var(--nf-p);border-color:var(--nf-p);color:var(--nf-pc);font-weight:700}
  /* Blogcategorieën (zoals neuramerce.com/blog): één rij met menuknop, Alles en de chips die passen.
     De volledige boom met aantallen staat in een lade van links, op elke breedte. Zonder script
     blijven alle chips gewoon zichtbaar en wrappen ze. */
  .nf-blogcats{display:flex;align-items:center;gap:10px}
  .nf-blogcats .nf-chips{flex:1;min-width:0}
  .nf-blogcats.is-fit .nf-chips{flex-wrap:nowrap;overflow:hidden;padding:2px}
  .nf-blogcats .nf-chip{flex:none;white-space:nowrap}
  .nf-blogcats .nf-chip[data-nf-out]{display:none}
  .nf-blogcats__menu{flex:none;display:none;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--nf-b);border-radius:12px;background:var(--nf-card);color:var(--nf-t);cursor:pointer;transition:border-color .2s,color .2s}
  .nf-blogcats.is-fit .nf-blogcats__menu{display:grid}
  .nf-blogcats__menu:hover,.nf-blogcats__menu[aria-expanded="true"]{border-color:var(--nf-p);color:var(--nf-p)}
  .nf-blogcats__menu:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
  .nf-bcd{position:fixed;top:0;bottom:0;left:0;z-index:250;display:flex;flex-direction:column;width:360px;max-width:88vw;background:var(--nf-s);color:var(--nf-t);
    box-shadow:16px 0 44px rgba(35,20,8,.28);transform:translateX(-105%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
  .nf-bcd[hidden]{display:none}
  .nf-bcd.is-open{transform:none}
  .nf-bcd__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px calc(24px + env(safe-area-inset-bottom))}
  .nf-bcd__list{list-style:none;margin:0;padding:0}
  .nf-bcd__list--sub{margin:2px 0 6px 18px;padding-left:8px;border-left:1px solid var(--nf-b)}
  .nf-bcd__link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;border-radius:var(--nf-rm);font-size:15px;font-weight:600;color:var(--nf-t)}
  .nf-bcd__list--sub .nf-bcd__link{min-height:38px;font-size:14px;font-weight:500}
  .nf-bcd__link:hover{background:var(--nf-s2)}
  .nf-bcd__link[aria-current="page"]{background:var(--nf-p);color:var(--nf-pc);font-weight:700}
  .nf-bcd__n{flex:none;min-width:26px;padding:2px 8px;border-radius:999px;background:var(--nf-s2);color:var(--nf-tm);font-size:12px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
  .nf-bcd__link[aria-current="page"] .nf-bcd__n{background:rgba(255,255,255,.16);color:var(--nf-pc)}
  .nf-bcd__link:focus-visible{outline:2px solid var(--nf-a);outline-offset:-2px}
  @media(prefers-reduced-motion:reduce){.nf-bcd{transition:none}}
  .nf-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .nf-post{display:flex;flex-direction:column;color:var(--nf-t);background:var(--nf-card);border:1px solid var(--nf-b);
    border-radius:var(--nf-rl);overflow:hidden;box-shadow:var(--nf-sh);transition:transform .2s ease,box-shadow .2s ease}
  .nf-post:hover{transform:translateY(-2px);box-shadow:var(--nf-shh)}
  .nf-post:hover .nf-post__title{color:var(--nf-a)}
  .nf-post__media{position:relative;height:190px;background:var(--nf-s2)}
  .nf-post__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .nf-post__media img:not([src]){visibility:hidden}
  .nf-post__body{padding:18px;display:flex;flex-direction:column;gap:8px}
  .nf-post__cat{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--nf-a) 75%,#000)}
  .nf-post__title{margin:0;font-size:17px;line-height:1.3;transition:color .15s ease}
  .nf-post__meta{font-size:12.5px;color:var(--nf-tm)}
  .nf-post__excerpt,.nf-post__more{display:none}
  /* Uitgelicht = de eerste kaart van dezelfde lijst: de renderer kent geen offset. */
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child{grid-column:1/-1;display:grid;grid-template-columns:58fr 42fr}
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__media{height:auto;min-height:360px}
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__body{padding:36px;justify-content:center;gap:14px}
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__title{font-size:clamp(24px,2.6vw,30px);line-height:1.15}
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__excerpt{display:block;margin:0;font-size:15px;line-height:1.6;color:var(--nf-tm)}
  .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__more{display:inline-flex;gap:8px;align-items:center;font-size:14.5px;font-weight:700;color:color-mix(in srgb,var(--nf-a) 75%,#000)}
  .nf-readbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:var(--nf-a);transform:scaleX(0);transform-origin:0 50%}
  /* Net als .nf-hero: -90px = 20px marge boven de header plus 70px header, de foto loopt tot onder de glazen balk door.
     object-position bottom: de onderkant van de foto is het onderwerp (mensen, vuurschalen), de lucht mag wegvallen. */
  .nf-posthero{position:relative;margin:-90px 0 0;min-height:clamp(520px,58vw,760px);overflow:hidden;display:flex;
    align-items:flex-end;justify-content:center;background:linear-gradient(180deg,var(--nf-p) 0%,color-mix(in srgb,var(--nf-p) 55%,#000) 100%)}
  .nf-posthero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
  .nf-posthero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,35,35,.15) 0%,rgba(15,35,35,.78) 100%)}
  .nf-posthero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
    color:#F7F1E5;padding:150px 24px 44px;max-width:900px}
  .nf-posthero h1{margin:0;color:inherit;font-size:clamp(30px,4.4vw,46px);line-height:1.08}
  .nf-posthero__meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:13px;color:rgba(247,241,229,.85)}
  .nf-posthero__cat{padding:4px 10px;border-radius:var(--nf-rs);background:var(--nf-a);color:var(--nf-ac);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .nf-posthero__author{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}
  .nf-posthero__author img{width:38px;height:38px;border-radius:999px;object-fit:cover}
  .nf-article{display:grid;grid-template-columns:1fr minmax(0,680px) 1fr;gap:0 36px;padding-top:48px;padding-bottom:56px}
  .nf-share{justify-self:end;align-self:start;position:sticky;top:130px;display:flex;flex-direction:column;gap:10px;align-items:center}
  .nf-share__btn{width:40px;height:40px;padding:0;border-radius:999px;border:1px solid var(--nf-b);background:var(--nf-card);color:var(--nf-tm);
    display:flex;align-items:center;justify-content:center;cursor:pointer}
  .nf-share__btn svg{width:16px;height:16px}
  .nf-share__btn:hover,.nf-share__btn[data-copied]{border-color:var(--nf-p);color:var(--nf-p)}
  .nf-prose{min-width:0;font-size:17px;line-height:1.75}
  .nf-prose h2{margin:1.4em 0 .5em;font-size:27px;line-height:1.2}
  .nf-prose h3{margin:1.2em 0 .4em;font-size:21px}
  .nf-prose p{margin:0 0 1em}
  .nf-prose img{height:auto;border-radius:var(--nf-rl)}
  .nf-prose figure{margin:1.6em 0}
  .nf-prose figcaption{margin-top:8px;font-size:13px;color:var(--nf-tm);text-align:center}
  .nf-prose blockquote{margin:1.4em 0;padding:20px 26px;border-radius:var(--nf-rl);background:var(--nf-s2);font-size:19px;line-height:1.55;font-weight:600}
  .nf-prose a{text-decoration:underline;text-underline-offset:3px}
  .nf-prose ul,.nf-prose ol{margin:0 0 1em;padding-left:1.3em}
  .nf-authorbox{display:flex;gap:14px;align-items:center;margin-top:28px;padding:18px;border-radius:var(--nf-rl);background:var(--nf-s2)}
  .nf-authorbox img{width:56px;height:56px;border-radius:999px;object-fit:cover}
  .nf-authorbox p{margin:3px 0 0;font-size:13.5px;line-height:1.5;color:var(--nf-tm)}
  .nf-related{padding-bottom:var(--nf-pad)}
  .nf-related .nf-section__head h2{margin:0;font-size:26px}
  .nf-help{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:start;padding-top:32px;padding-bottom:var(--nf-pad)}
  .nf-help__main{display:flex;flex-direction:column;gap:30px;min-width:0}
  .nf-help__main h1,.nf-svc__main h1{margin:0;font-size:clamp(30px,3.4vw,38px)}
  .nf-help__lead{margin:8px 0 0;max-width:640px;font-size:15.5px;line-height:1.55;color:var(--nf-tm)}
  .nf-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .nf-topic{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);
    background:var(--nf-card);color:var(--nf-t);box-shadow:var(--nf-sh);transition:border-color .15s ease}
  .nf-topic:hover{border-color:var(--nf-a)}
  .nf-topic svg{width:22px;height:22px;color:var(--nf-a)}
  .nf-topic strong{font-size:14.5px;line-height:1.3}
  .nf-topic span{font-size:12.5px;line-height:1.45;color:var(--nf-tm)}
  .nf-help__aside,.nf-svc__aside{position:sticky;top:130px;display:flex;flex-direction:column;gap:16px}
  .nf-helpcard{display:flex;gap:12px;align-items:flex-start;padding:22px;border:1px solid var(--nf-b);border-radius:var(--nf-rl);
    background:var(--nf-card);box-shadow:var(--nf-sh);font-size:13.5px;line-height:1.5}
  .nf-helpcard svg{width:20px;height:20px;color:var(--nf-a);flex:none}
  .nf-helpcard strong{display:block;font-size:15px}
  .nf-helpcard span{color:var(--nf-tm)}
  .nf-helpcard--col{flex-direction:column}
  .nf-svc{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:44px;align-items:start;padding-top:32px;padding-bottom:var(--nf-pad)}
  .nf-svc__nav{position:sticky;top:130px;display:flex;flex-direction:column;gap:2px}
  .nf-svc__nav .nf-eyebrow{padding:0 12px 10px}
  .nf-svc__nav a{padding:10px 12px;border-left:3px solid transparent;border-radius:var(--nf-rs);font-size:14px;font-weight:500;color:var(--nf-tm)}
  .nf-svc__nav a:hover{color:var(--nf-t)}
  .nf-svc__nav a[aria-current="page"]{border-left-color:var(--nf-p);background:var(--nf-s2);font-weight:700;color:var(--nf-p)}
  .nf-svc__main{display:flex;flex-direction:column;gap:26px;max-width:720px;min-width:0}
  .nf-404{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1280px;padding-top:clamp(40px,6vw,72px);padding-bottom:var(--nf-pad)}
  .nf-404__text{display:flex;flex-direction:column;gap:20px}
  .nf-404__eyebrow{color:color-mix(in srgb,var(--nf-a) 75%,#000)}
  .nf-404 h1{margin:0;font-size:clamp(40px,5.6vw,64px);line-height:.98;letter-spacing:-.03em}
  .nf-404 h1 span{color:var(--nf-a)}
  .nf-404__links{display:flex;gap:8px;flex-wrap:wrap}
  .nf-404__links a{padding:9px 15px;border-radius:999px;border:1px solid var(--nf-p);font-size:13px;font-weight:600;color:var(--nf-p)}
  .nf-404__links a:hover{background:var(--nf-p);color:var(--nf-pc)}
  .nf-404__card{position:relative;overflow:hidden;min-height:360px;padding:32px;border-radius:var(--nf-rl);display:flex;flex-direction:column;
    justify-content:flex-end;align-items:flex-start;gap:10px;color:#F7F1E5;box-shadow:0 20px 50px rgba(60,35,15,.18);
    background:linear-gradient(160deg,var(--nf-p) 0%,color-mix(in srgb,var(--nf-p) 45%,#000) 100%)}
  .nf-404__card svg{position:absolute;top:28px;right:28px;width:64px;height:64px;color:var(--nf-a);opacity:.9}
  .nf-404__card .nf-404__eyebrow{margin:0;color:rgba(247,241,229,.75)}
  .nf-404__card strong{max-width:320px;font-size:24px;line-height:1.2}
  @media(max-width:1100px){.nf-svc{grid-template-columns:220px minmax(0,1fr)}.nf-svc__aside{display:none}}
  @media(max-width:960px){
    .nf-posts{grid-template-columns:1fr 1fr}
    .nf-posts:not(.nf-posts--plain) .nf-post:first-child{grid-template-columns:1fr}
    .nf-posts:not(.nf-posts--plain) .nf-post:first-child .nf-post__media{min-height:240px}
    .nf-article{grid-template-columns:minmax(0,1fr)}
    .nf-share{position:static;order:2;flex-direction:row;justify-self:start;margin-top:24px}
    .nf-article>[aria-hidden="true"]{display:none}
    .nf-help,.nf-svc,.nf-404{grid-template-columns:1fr}
    .nf-help__aside,.nf-svc__nav{position:static}
    .nf-svc__nav{flex-direction:row;flex-wrap:wrap;gap:6px}
    .nf-svc__nav .nf-eyebrow{display:none}
    .nf-topics{grid-template-columns:1fr 1fr}}
  @media(max-width:640px){
    .nf-posts{grid-template-columns:1fr}
    .nf-bloghero{margin:0;border-radius:0}
    .nf-404__card{min-height:240px}}
  /* Footer: donkere petrol-kaart met nieuwsbrief en het grote woordmerk. */
  /* Footer (ontwerp partials/footer.html): afgeronde petrol-kaart 16px van de rand. */
  .nf-footer{margin:var(--nf-pad) 16px 16px;border-radius:24px;position:relative;overflow:hidden;
    background:var(--nf-p);background:linear-gradient(180deg,var(--nf-p) 0%,color-mix(in srgb,var(--nf-p) 62%,#000) 55%,color-mix(in srgb,var(--nf-p) 40%,#000) 100%);
    color:#F7F1E5;padding:72px clamp(24px,5vw,64px) 0}
  .nf-footer__glow{position:absolute;left:0;right:0;bottom:-140px;height:380px;
    background:radial-gradient(ellipse 70% 100% at 50% 100%,color-mix(in srgb,var(--nf-a) 45%,transparent) 0%,color-mix(in srgb,var(--nf-a) 18%,transparent) 45%,transparent 72%)}
  .nf-footer__cols{position:relative;display:grid;grid-template-columns:1fr 1.25fr;gap:56px;padding-bottom:48px}
  .nf-footer__pitch{display:flex;flex-direction:column;gap:20px}
  .nf-footer__pitch h2{color:inherit;font-size:clamp(28px,3.5vw,42px);max-width:480px}
  .nf-footer__pitch p{margin:0;font-size:15px;line-height:1.6;color:rgba(247,241,229,.7);max-width:420px}
  .nf-news{display:flex;max-width:440px;border:1px solid rgba(247,241,229,.25);border-radius:var(--nf-rm);overflow:hidden;background:rgba(0,0,0,.25)}
  .nf-news input{flex:1;min-width:0;padding:14px 16px;border:none;background:transparent;font:inherit;font-size:14px;color:#F7F1E5;outline:none}
  .nf-news input::placeholder{color:rgba(247,241,229,.55)}
  .nf-news button{padding:14px 24px;border:none;background:var(--nf-a);color:var(--nf-ac);font:600 14.5px inherit;font-family:inherit;cursor:pointer}
  .nf-footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
  .nf-footer__nav .nf-fcol__h{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.14em;color:rgba(247,241,229,.45)}
  .nf-footer__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
  .nf-footer__nav a{color:#F7F1E5;font-size:14px;white-space:nowrap}
  .nf-footer__legal{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
    padding:18px 0;border-top:1px solid rgba(247,241,229,.15);font-size:12.5px;color:rgba(247,241,229,.55)}
  .nf-socials{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 0;padding:0;list-style:none}
  .nf-socials a{font-size:13px;font-weight:600;color:rgba(247,241,229,.7)}
  .nf-socials a:hover{color:#F7F1E5}
  .nf-pay{display:flex;gap:8px}
  .nf-pay span{padding:4px 10px;border-radius:4px;background:rgba(247,241,229,.1);font-size:11px;font-weight:700}
  .nf-footer__mark{position:relative;height:clamp(60px,12vw,150px);overflow:hidden}
  .nf-footer__mark div{font-size:clamp(90px,20vw,250px);font-weight:800;letter-spacing:-.04em;line-height:.78;text-align:center;
    color:rgba(247,241,229,.1);user-select:none;white-space:nowrap;font-family:var(--brand-font-display,inherit)}
  /* Mobiele onderdelen bestaan op desktop niet. */
  .nf-msearch,.nf-dock,.nf-mback,.nf-mmenu{display:none}
  /* minmax(0,1fr), niet 1fr: een 1fr-kolom wordt nooit smaller dan zijn breedste kind, en de
     fotostrook (.nb-swipe) duwde de PDP op een telefoon 40-60px buiten beeld. */
  @media(max-width:960px){.nb-pdp{grid-template-columns:minmax(0,1fr)}
    /* Mobiel volgens het ontwerp Shop Mobiel: veegbare galerij bovenaan, daaronder het koopblok en de omschrijving.
       Het fotokader, de thumbnail-rail en de 3D-cel van desktop bestaan hier niet; 3D opent via zijn slide in de lightbox. */
    .nb-pdp{grid-template-rows:none;row-gap:0;padding:0 20px 170px}
    .nb-pdp__stage,.nb-pdp__rail,.nb-pdp__viewer{display:none!important}
    /* Onder 960px is er geen stapel: beide modi tonen de veeggalerij en de koopkolom scrollt gewoon mee. */
    .nb-pdp__stack{display:none!important}
    .nb-pdp:has(.nb-pdp__media--stack) .nf-buy{position:static}
    .nb-pdp:has(.nb-pdp__media--stack) .nf-buy__ctabar{position:static;display:contents;padding:0;margin:0;background:none;box-shadow:none}
    .nf-buy,.nb-pdp__desc{grid-column:auto;grid-row:auto}
    .nb-pdp__media{grid-column:auto;grid-row:auto;display:block}
    .nb-pdp-crumbs{display:none}
    .nf-buy{gap:12px;padding-top:18px}
    .nf-buy > .nf-eyebrow{display:none}
    .nf-buy h1{font-size:26px;line-height:1.15}
    .nb-pdp__feat{gap:6px;margin:0}
    .nb-pdp__feat li{gap:8px;font-size:13px}
    .nb-pdp__feat .nb-pdp__ic{display:none}
    .nb-pdp__check{display:inline-flex;margin-top:2px}
    .nb-variants,.nb-variants:has(> :nth-child(5)){display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px 2px}
    .nb-variants::-webkit-scrollbar{display:none}
    .nb-variant{flex:none;min-width:72px;align-items:flex-start;gap:2px;padding:10px 14px;text-align:left;border-width:1.5px;border-radius:var(--nf-rm);font-size:13.5px}
    .nb-variant[data-active]{background:color-mix(in srgb,var(--nf-p) 5%,transparent)}
    .nb-variant__dia{display:none}
    .nb-variant__price,.nb-variant[data-active] .nb-variant__price{font-weight:400;color:var(--nf-tm)}
    .nb-pdp__videocard{display:flex}
    .nb-pdp__now{font-size:28px}
    .nb-pdp__now.nf-sale{color:inherit}
    .nb-pdp__price .nf-taxnote{font-size:12px}
    .nb-bundle{margin-top:4px}
    .nb-pdp__usps,.nb-pdp__usps[data-usp-style="ledger"]{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;background:none;overflow:visible}
    .nb-pdp__usps .nb-pdp__usp,.nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp{align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--nf-b);border-radius:var(--nf-rm);background:var(--nf-card)}
    .nb-pdp__usps .nb-pdp__ic{width:auto;height:auto;background:none;color:var(--nf-p)}
    .nb-pdp__usps .nb-pdp__ic svg{width:16px;height:16px}
    .nb-pdp__usps .nb-pdp__usp-txt,.nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp-txt{flex-direction:column;align-items:flex-start;gap:1px;font-size:11px}
    .nb-pdp__usps .nb-pdp__usp-txt b{font-size:12px}
    .nb-pdp__usps[data-usp-style="ledger"] .nb-pdp__usp-txt span{margin-left:0;text-align:left}
    /* Zwevende koopknop boven het dock; zakt mee als het dock bij omlaag scrollen verdwijnt. */
    .nf-buy form[data-nf-add-to-cart]{position:fixed;left:50%;bottom:104px;z-index:85;width:min(338px,calc(100vw - 52px));transform:translateX(-50%);
      transition:transform .35s cubic-bezier(.4,0,.2,1)}
    .nf-buy form[data-nf-add-to-cart][data-dock-hidden]{transform:translate(-50%,90px)}
    .nf-buy form[data-nf-add-to-cart][data-footer-visible]{transform:translate(-50%,200px);pointer-events:none}
    .nf-buy .nf-cta{padding:15px;border-radius:999px;font-size:14.5px;white-space:nowrap;box-shadow:0 14px 34px rgba(8,26,24,.45)}
    .nb-pdp__desc{margin-top:28px}
    /* Veegbare galerij: slides van de volle breedte min 38px, zodat de volgende foto net zichtbaar is. */
    .nb-swipe{position:relative;display:block;height:min(calc(100vw * 1.14),70svh);margin:0 -20px;background:#0B0B0B;overflow:hidden}
    .nb-swipe__track{display:flex;gap:8px;height:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
    .nb-swipe__track::-webkit-scrollbar{display:none}
    .nb-swipe__slides{display:contents}
    .nb-swipe__slide{position:relative;flex:none;width:calc(100% - 38px);height:100%;overflow:hidden;scroll-snap-align:start;background:#0B0B0B;cursor:zoom-in}
    .nb-swipe__slide img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
    .nb-swipe__slide--video,.nb-swipe__slide--3d{cursor:pointer}
    .nb-swipe__slide--video img{opacity:.7}
    .nb-swipe__cue{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none}
    .nb-swipe__cue-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--nf-a);color:#FCF3E9;box-shadow:0 10px 30px rgba(184,74,25,.5)}
    .nb-swipe__cue-icon svg{width:26px;height:26px}
    .nb-swipe__cue-icon--play svg{fill:currentColor;margin-left:3px}
    .nb-swipe__cue-label{padding:6px 12px;border-radius:999px;background:rgba(11,11,11,.6);color:#F7F1E5;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .nb-swipe__embed{position:absolute;inset:0;width:100%;height:100%;border:0}
    .nb-swipe__spacer{flex:none;width:30px}
    .nb-swipe__zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:999px;
      background:rgba(11,11,11,.55);color:#F7F1E5;cursor:zoom-in}
    .nb-swipe__zoom svg{width:15px;height:15px}
    .nb-swipe[hidden],.nb-swipe__zoom[hidden]{display:none}
    .nb-swipe__nav{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;transform:translateY(-50%);
      background:rgba(251,246,238,.92);color:#211C15;box-shadow:0 4px 12px rgba(0,0,0,.3);cursor:pointer;transition:opacity .2s ease}
    .nb-swipe__nav svg{width:20px;height:20px}
    .nb-swipe__nav--prev{left:10px}.nb-swipe__nav--prev svg{transform:rotate(180deg)}
    .nb-swipe__nav--next{right:10px}
    .nb-swipe[data-at-start] .nb-swipe__nav--prev,.nb-swipe[data-at-end] .nb-swipe__nav--next,.nb-swipe[data-single] .nb-swipe__nav{opacity:0;pointer-events:none}
    .nb-swipe__count{position:absolute;top:14px;right:14px;padding:4px 9px;border-radius:999px;background:rgba(11,11,11,.55);color:#F7F1E5;font-size:11.5px;font-weight:600}
    .nb-swipe__count:empty{display:none}
    .nb-swipe__dots{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;align-items:center;height:34px;pointer-events:none}
    .nb-swipe__dot{width:7px;height:7px;border-radius:999px;background:rgba(247,241,229,.45);transition:width .25s ease,background .25s ease}
    .nb-swipe__dot[aria-current="true"]{width:20px;background:#F7F1E5}
    .nf-plp{grid-template-columns:1fr}.nf-facets{position:static}
    /* Mobiel (ontwerp pages/category/notes.md): twee kolommen, gap 12px. */
    .nf-plp .nf-grid{grid-template-columns:1fr 1fr;gap:12px}
    .nf-plp .nf-card__media{height:180px}
    .nf-plp .nf-card__body{padding:11px;gap:4px}
    .nf-acc{grid-template-columns:1fr}.nf-acc__nav{position:static;flex-direction:row;flex-wrap:wrap}
    /* Mobiele header (partials/header-mobile.html): zoeken, logo, account. Verdwijnt bij omlaag scrollen. */
    .nf-bar{display:none}
    .nf-sticky{top:0;margin:0;padding:12px 14px;transition:transform .35s cubic-bezier(.4,0,.2,1)}
    .nf-sticky.is-hidden{transform:translateY(-130%)}
    .nf-header{grid-template-columns:1fr auto 1fr;padding:14px 18px;border-radius:14px;
      background:color-mix(in srgb,var(--nf-s) 90%,transparent);box-shadow:0 8px 24px rgba(35,20,8,.22)}
    .nf-header.is-scrolled{padding:10px 18px}
    .nf-navwrap,.nf-tools .nf-tools__search,.nf-tools .nf-tools__cart{display:none}
    /* Verlanglijst zit mobiel in de dock, de taalkiezer onderin het menu (JS verhuist hem). */
    .nf-tools .nf-tools__wish,.nf-tools .nf-tools__lang,.nf-tools>.nlsw-h{display:none}
    .nf-mmenu__top{display:flex;align-items:center;gap:16px;margin:-6px -4px 4px 4px}
    .nf-mmenu__top>a{display:inline-flex;align-items:center;gap:6px;color:var(--nf-t);font-size:13.5px;font-weight:600}
    .nf-mmenu__top>a svg{color:var(--nf-tm)}
    .nf-mmenu__top>a:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
    .nf-mmenu__lang{display:flex;margin-left:auto}
    .nf-mmenu__lang summary{border:0!important;background:none!important}
    .nf-mmenu__lang:empty{display:none}
    .nf-dock__btn .nf-wishcount{top:-7px;right:-9px}
    .nf-msearch{display:inline-flex;justify-self:start;color:var(--nf-t)}
    .nf-logo{width:150px;height:44px;font-size:18px;white-space:nowrap}
    .is-scrolled .nf-logo{height:34px}
    .nf-logo__icon{width:30px;height:31px;margin:-15.5px 0 0 -15px}
    .nf-hero,.nf-posthero{margin-top:-96px}
    .nf-hero-zone{margin-top:-96px}
    .nf-hero-zone .nb--hero-slider .nb-hs{padding-top:calc(40px + 96px)}
    /* Dock (partials/mobile-dock.html): donkere pil onderin met de vlamknop in het midden. */
    .nf-dock{display:block;position:fixed;left:50%;bottom:14px;width:min(338px,calc(100vw - 52px));z-index:90;
      transform:translateX(-50%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
    .nf-dock.is-hidden{transform:translate(-50%,140%)}
    .nf-dock__pill{display:grid;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;padding:12px 18px;
      background:#211C15;border-radius:999px;box-shadow:0 12px 32px rgba(35,20,8,.4)}
    .nf-dock__btn{position:relative;justify-self:center;display:inline-flex;color:rgba(247,241,229,.55)}
    .nf-dock__btn:hover{color:#F7F1E5}
    .nf-dock__chat{padding:0;border:0;background:none;cursor:pointer;font:inherit}
    .nf-dock__online{position:absolute;top:-3px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--nf-ok);border:2px solid #211C15}
    .nf-dock__face{display:none;width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(247,241,229,.75)}
    .nf-dock__chat.has-face .nf-dock__face{display:block}
    .nf-dock__chat.has-face>svg{display:none}
    .nf-dock__chat.has-face .nf-dock__online{top:auto;bottom:-2px;right:-3px;width:11px;height:11px}
    /* Proactieve melding boven de dock (widget-loader stuurt neura:nudge, wij tonen hem). */
    .nf-dock__chat.is-nudging::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(63,181,107,.75);animation:nf-ring 1.4s ease-out infinite;pointer-events:none}
    @keyframes nf-ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.5);opacity:0}}
    /* Kind van de dock: schuift mee als de dock bij scrollen wegglijdt of terugkomt. */
    .nf-nudge{position:absolute;right:0;bottom:calc(100% + 12px);z-index:91;width:min(280px,calc(100vw - 40px));padding:12px 14px 14px;border-radius:18px;background:#F7F1E5;color:#231B16;
      box-shadow:0 12px 30px rgba(20,12,6,.35);opacity:0;transform:translateY(8px) scale(.92);transition:opacity .28s ease,transform .32s cubic-bezier(.3,1.4,.5,1);cursor:pointer}
    .nf-nudge.is-in{opacity:1;transform:none}
    .nf-nudge::after{content:"";position:absolute;left:var(--nf-nudge-tail,70%);bottom:-7px;width:14px;height:14px;margin-left:-7px;background:#F7F1E5;transform:rotate(45deg);border-radius:2px}
    .nf-nudge__who{font-size:11px;color:#8A7D72;margin:0 22px 4px 0}
    .nf-nudge__who b{font-weight:700;color:#231B16}
    .nf-nudge__dots{display:inline-flex;gap:5px;padding:8px 2px}
    .nf-nudge__dots i{width:7px;height:7px;border-radius:50%;background:#8A7D72;animation:nf-dot 1.1s infinite ease-in-out}
    .nf-nudge__dots i:nth-child(2){animation-delay:.15s}.nf-nudge__dots i:nth-child(3){animation-delay:.3s}
    @keyframes nf-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
    .nf-nudge__txt{margin:0;font-size:14px;line-height:1.4;color:#231B16}
    .nf-nudge__cta{display:flex;gap:6px;margin-top:10px}
    .nf-nudge__cta button{border:0;border-radius:12px;padding:9px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
    .nf-nudge__go{flex:1;background:#211C15;color:#F7F1E5}
    .nf-nudge__later{background:transparent;color:#8A7D72;box-shadow:inset 0 0 0 1px #E3D9CE}
    .nf-nudge__x{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border:0;border-radius:50%;background:#211C15;color:#F7F1E5;display:flex;align-items:center;justify-content:center;cursor:pointer}
    @media(prefers-reduced-motion:reduce){.nf-nudge,.nf-nudge__dots i,.nf-dock__chat.is-nudging::after{animation:none;transition:none}}
    .nf-dock__menu{display:flex;flex-direction:column;align-items:center;gap:3px;margin:-30px 6px -6px;padding:0;border:0;background:none;
      cursor:pointer;color:#F7F1E5;font-family:inherit;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
    .nf-dock__fire{position:relative;width:54px;height:54px;border-radius:999px;background:var(--nf-a);
      box-shadow:0 6px 18px rgba(184,74,25,.5),0 0 0 5px var(--nf-s);transition:background .25s ease,transform .3s cubic-bezier(.4,0,.2,1)}
    .nf-dock__flame,.nf-dock__x{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#FCF3E9;transition:opacity .2s ease}
    .nf-dock__x{opacity:0}
    .nf-dock__menu.is-open .nf-dock__fire{background:#211C15;transform:rotate(90deg)}
    .nf-dock__menu.is-open .nf-dock__flame{opacity:0}
    .nf-dock__menu.is-open .nf-dock__x{opacity:1}
    /* Menupaneel (partials/mobile-menu-open.html): boven de dock, achterlaag verduisterd en geblurd. */
    .nf-mback:not([hidden]){display:block;position:fixed;inset:0;z-index:88;background:rgba(33,28,21,.35);
      -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
    .nf-mmenu:not([hidden]){display:block;position:fixed;left:50%;bottom:92px;width:min(366px,calc(100vw - 24px));z-index:89;
      max-height:calc(100dvh - 150px);overflow-y:auto;padding:18px 16px 14px;transform:translateX(-50%);
      background:color-mix(in srgb,var(--nf-s) 96%,transparent);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);
      border-radius:22px;box-shadow:0 18px 44px rgba(35,20,8,.32);animation:nf-menu-up .4s cubic-bezier(.4,0,.2,1) both}
    .nf-mmenu__label{margin-bottom:8px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nf-tm)}
    .nf-mmenu__tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .nf-mmenu__tiles>li>a{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--nf-b);border-radius:12px;
      background:var(--nf-card);color:var(--nf-t);font-size:13px;font-weight:700}
    .nf-mmenu__tiles>li>a>span:last-child{padding:8px 12px;color:var(--nf-t)}
    .nf-mmenu__img{display:block;height:72px;background:color-mix(in srgb,var(--nf-p) 14%,var(--nf-card))}
    .nf-mmenu__img img{display:block;width:100%;height:100%;object-fit:cover}
    /* Pentekeningen per hoofdcategorie. Het categoriebeeld wint in de navigatiedata en dient ook
       de categoriekop, dus het menu krijgt zijn eigen beeld hier en de foto eronder blijft onzichtbaar. */
    .nf-mmenu__tiles>li>a:is([href$="/kamado-bbq"],[href$="/planchas"],[href*="tafel-bbq"],[href$="/bbq-accessoires"],[href$="/recepten"],[href$="/bbq-recipes"],[href$="/rezepte"]) .nf-mmenu__img{background-color:#fff;background-position:center;background-size:contain;background-repeat:no-repeat}
    .nf-mmenu__tiles>li>a:is([href$="/kamado-bbq"],[href$="/planchas"],[href*="tafel-bbq"],[href$="/bbq-accessoires"],[href$="/recepten"],[href$="/bbq-recipes"],[href$="/rezepte"]) .nf-mmenu__img img{opacity:0}
    .nf-mmenu__tiles>li>a:is([href$="/recepten"],[href$="/bbq-recipes"],[href$="/rezepte"]) .nf-mmenu__img{background-image:url("/_i/384/media/i63zzk0c1zk1/1564f992-ba91-4b65-97c3-1cfe1e6e291f/pentekening-bbq-recepten.webp")}
    .nf-mmenu__tiles>li>a[href$="/kamado-bbq"] .nf-mmenu__img{background-image:url("/_i/384/media/i63zzk0c1zk1/3966c2a9-0b48-4a82-9ec2-226bf7596e5e/pentekening-kamado-barbecue.webp")}
    .nf-mmenu__tiles>li>a[href$="/planchas"] .nf-mmenu__img{background-image:url("/_i/384/media/i63zzk0c1zk1/e6f75e95-53ff-4361-8116-b511d9d55151/pentekening-tiger-fire-plancha-bbq.webp")}
    .nf-mmenu__tiles>li>a[href*="tafel-bbq"] .nf-mmenu__img{background-image:url("/_i/384/media/i63zzk0c1zk1/a3a120e8-c2fe-4824-86a8-c445e098a142/pentekening-japanse-tafelbbq.webp")}
    .nf-mmenu__tiles>li>a[href$="/bbq-accessoires"] .nf-mmenu__img{background-image:url("/_i/384/media/i63zzk0c1zk1/af5e3324-d2d0-430f-ab6d-381226e19347/pentekening-bbq-accessoires-v2.webp")}
    .nf-mmenu__footcols{margin-bottom:6px}
    .nf-mmenu__footcols>.nf-mmenu__acc:first-child{display:none}
    .nf-mmenu__acc{border-top:1px solid var(--nf-b)}
    .nf-mmenu__acc:nth-child(2){border-top:0}
    .nf-mmenu__acc>summary{display:flex;justify-content:space-between;align-items:center;padding:13px 4px;list-style:none;cursor:pointer;
      color:var(--nf-t);font-size:15px;font-weight:700}
    .nf-mmenu__acc>summary::-webkit-details-marker{display:none}
    .nf-mmenu__acc>summary svg{color:var(--nf-tm);transition:transform .2s}
    .nf-mmenu__acc[open]>summary svg{transform:rotate(180deg)}
    .nf-mmenu__acc .nf-mmenu__rows{margin:0 0 8px}
    .nf-mmenu__acc .nf-mmenu__rows>li>a{border-top:0;padding:9px 4px;font-size:14px;font-weight:500;color:var(--nf-t)}
    .nf-mmenu__acc>summary:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
    .nf-mmenu__rows{list-style:none;margin:0;padding:0}
    .nf-mmenu__rows>li>a{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-top:1px solid var(--nf-b);
      color:var(--nf-t);font-size:14px;font-weight:600}
    .nf-mmenu__rows svg{color:var(--nf-tm)}
    /* Het footermenu vult ook de sitefooter (daar blijven juridische links staan); in het mobiele menu
       vallen dubbelingen met Klantenservice/Mijn account en de juridische pagina's weg. */
    .nf-mmenu__rows--footer>li:has(>a[href$="/contact"],>a[href$="/account"],>a[href$="/privacybeleid"],>a[href$="/algemene-voorwaarden"]){display:none}
    /* Drilldown: een tegel of rij met subitems opent een paneel over het menu heen, met Terug erboven.
       Het paneel ligt absoluut in de dichtstbijzijnde scroller (menu of vorig paneel); die scrollt zolang niet. */
    .nf-mmenu.is-covered:not([hidden]),.nf-mmenu__panel.is-covered:not([hidden]){overflow:hidden}
    .nf-mmenu__panel:not([hidden]){position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
      padding:14px 16px;background:var(--nf-s);border-radius:22px;animation:nf-mpanel-in .28s cubic-bezier(.4,0,.2,1) both}
    @keyframes nf-mpanel-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
    .nf-mmenu__back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin:0 0 8px -6px;padding:8px 10px 8px 4px;border:0;border-radius:8px;
      background:none;color:var(--nf-tm);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
    .nf-mmenu__title{margin:0 0 4px;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:var(--nf-hls);color:var(--nf-p)}
    .nf-mmenu__all{align-self:flex-start;margin-bottom:14px;font-size:13.5px;font-weight:700;color:color-mix(in srgb,var(--nf-a) 75%,#000);text-decoration:underline;text-underline-offset:3px}
    .nf-mmenu__group{padding-top:16px}
    .nf-mmenu__group .nf-mmenu__label{margin:0 4px 6px;color:var(--nf-a)}
    .nf-mmenu__back:focus-visible,.nf-mmenu__all:focus-visible,.nf-mmenu__rows a:focus-visible,.nf-mmenu__tiles>li>a:focus-visible{outline:2px solid var(--nf-a);outline-offset:2px}
    @media(prefers-reduced-motion:reduce){.nf-mmenu__panel:not([hidden]){animation:none}}
    /* Footer mobiel (pages/home/mobile.html): kolommen als accordeon, ruimte onderin voor de dock. */
    .nf-footer{margin:var(--nf-pad) 12px 12px;border-radius:22px;padding:36px 20px 0}
    .nf-footer::after{content:"";position:relative;display:block;height:78px}
    .nf-footer__cols{grid-template-columns:1fr;gap:18px;padding-bottom:18px}
    .nf-footer__pitch h2{font-size:26px;margin:0}
    .nf-footer__pitch p{display:none}
    .nf-footer__nav{grid-template-columns:1fr;gap:0}
    .nf-footer__nav .nf-fcol__h{display:flex;justify-content:space-between;align-items:center;margin:0;padding:15px 0;cursor:pointer;
      border-bottom:1px solid rgba(247,241,229,.15);font-size:14.5px;letter-spacing:0;text-transform:none;color:#F7F1E5}
    .nf-footer__nav .nf-fcol__h::after{content:"+";font-size:19px;font-weight:400;line-height:1;color:rgba(247,241,229,.6);transition:transform .3s cubic-bezier(.4,0,.2,1)}
    .nf-fcol.is-open .nf-fcol__h::after{transform:rotate(45deg)}
    .nf-footer__nav ul{display:none;padding:14px 0;border-bottom:1px solid rgba(247,241,229,.15)}
    .nf-fcol.is-open ul{display:flex}
    .nf-footer__nav a{color:rgba(247,241,229,.85)}
    .nf-footer__legal{flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:11.5px}
    .nf-footer__mark{height:84px;margin:6px -20px 0}
    .nf-footer__mark div{font-size:126px;letter-spacing:-.05em}}
  @keyframes nf-menu-up{from{opacity:0;transform:translate(-50%,16px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
  @media(max-width:640px){.nf-hero{min-height:520px}.nf-row{grid-template-columns:1fr}
    .nf-orders li{grid-template-columns:1fr auto}}
