@media (max-width:767px){[data-neura-hide~="mobile"]{display:none!important}}@media (min-width:768px) and (max-width:1023px){[data-neura-hide~="tablet"]{display:none!important}}@media (min-width:1024px){[data-neura-hide~="desktop"]{display:none!important}}

.nb{
  --nb-accent:var(--gb-ember,var(--gb-flame,var(--brand-accent,#F39019)));
  --nb-bg:var(--gb-charcoal,var(--brand-bg-base,#0A0908));
  --nb-surface:var(--gb-coal,var(--gb-black,var(--brand-bg-surface,#141210)));
  --nb-text:var(--gb-cream,var(--brand-text-primary,#EEE7DB));
  --nb-text-soft:var(--gb-bone,var(--gb-cream,var(--brand-text-primary,#EEE7DB)));
  --nb-muted:var(--gb-fog,var(--brand-text-muted,#8A8178));
  --nb-line:var(--gb-ash,var(--gb-line,#2A2622));
  --nb-font-display:var(--font-display,var(--brand-font-heading,inherit));
  --nb-font-body:var(--font-body,var(--brand-font-body,inherit));
  --nb-font-mono:var(--font-mono,ui-monospace,monospace);
  padding:clamp(64px,10vw,120px) 0;
  color:var(--nb-text);
  font-family:var(--nb-font-body);
  border-top:1px solid var(--nb-line);
}
.nb *,.nb *::before,.nb *::after{box-sizing:border-box}
.nb img{max-width:100%;display:block}
.nb-container{max-width:var(--container,1440px);margin:0 auto;padding:0 var(--pad-x,clamp(18px,4vw,56px))}
.nb-title{font-family:var(--nb-font-display);font-size:clamp(28px,3.4vw,44px);font-weight:700;letter-spacing:-0.02em;line-height:1.08;margin:0 0 36px}
.nb-cta{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:4px;background:var(--nb-accent);color:var(--nb-bg);font-weight:600;font-size:14px;text-decoration:none;transition:filter .2s,border-color .2s,color .2s}
.nb-cta:hover{filter:brightness(1.08)}
.nb-cta--ghost{background:transparent;color:var(--nb-text);border:1px solid color-mix(in srgb,var(--nb-text) 30%,transparent)}
.nb-cta--ghost:hover{filter:none;border-color:var(--nb-text)}
.nb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Neuramerce-secties onder de eerste schermhoogte: layout en paint pas als ze in beeld
   komen. Op neuramerce.com ging een volledige relayout mobiel van ~28 naar ~13 ms en
   Lighthouse mat 1,7 s style/layout (24-09-2026). Alleen blokken zonder fixed/sticky
   positionering en zonder JS die bij load maten leest; per blok gemeten dat geen kind
   buiten de sectie steekt, want content-visibility knipt de paint op de sectierand. */
.nb--nm-own-brands,.nb--nm-module-grid,.nb--nm-plans,.nb--nm-home-faq,.nb--nm-facts,.nb--nm-launch-road,.nb--nm-brands-list,.nb--nm-jaartabs,.nb--nm-rules,.nb--nm-spreadsheet,.nb--nm-story,.nb--nm-team{content-visibility:auto;contain-intrinsic-size:auto 800px}
/* Rijk-tekst (renderRichText) in blok-containers: neutraliseer UA-marges op <p>/lijsten uit de
   WYSIWYG-editor — behoud alinea-ritme, geen dubbele witruimte onder de laatste alinea. */
.nb-acc__a>p,.nb-tl__desc>p,.nb-tl__intro>p,.nb-fcard__desc>p,.nb-fcard__intro>p,.nb-guide__desc>p,.nb-guide__intro>p,.nb-hero__sub>p,.nb-rev__quote>p{margin:0 0 .6em}
.nb-acc__a>:last-child,.nb-tl__desc>:last-child,.nb-tl__intro>:last-child,.nb-fcard__desc>:last-child,.nb-fcard__intro>:last-child,.nb-guide__desc>:last-child,.nb-guide__intro>:last-child,.nb-hero__sub>:last-child,.nb-rev__quote>:last-child{margin-bottom:0}
.nb-acc__a ul,.nb-acc__a ol,.nb-tl__desc ul,.nb-tl__desc ol,.nb-fcard__desc ul,.nb-fcard__desc ol,.nb-guide__desc ul,.nb-guide__desc ol,.nb-hero__sub ul,.nb-hero__sub ol,.nb-rev__quote ul,.nb-rev__quote ol{margin:.3em 0 .6em;padding-left:1.4em}


.nb-cmp__scroll{border:1px solid var(--nb-line);border-radius:10px;overflow-x:auto}
.nb-cmp__scroll:focus-visible{outline:2px solid var(--nb-accent);outline-offset:2px}
.nb-cmp__table{width:100%;border-collapse:collapse;min-width:560px}
.nb-cmp__table th,.nb-cmp__table td{padding:15px 22px;border-bottom:1px solid var(--nb-line);text-align:left;vertical-align:middle}
.nb-cmp__table th:not(:first-child),.nb-cmp__table td{border-left:1px solid var(--nb-line)}
.nb-cmp__table thead th{font-family:var(--nb-font-display);font-size:clamp(16px,1.8vw,22px);font-weight:700;letter-spacing:-0.02em;color:var(--nb-text);padding-top:24px;padding-bottom:20px}
.nb-cmp__table tbody th{font-family:var(--nb-font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--nb-muted);font-weight:400}
.nb-cmp__table td{font-family:var(--nb-font-mono);font-size:13px;color:var(--nb-text)}
.nb-cmp__table tbody tr:last-child th,.nb-cmp__table tbody tr:last-child td{border-bottom:none}
@media (max-width:720px){.nb-cmp__table th,.nb-cmp__table td{padding:12px 14px;font-size:12px}}

/* variant "kamado" — de kb-compare-grid heeft VASTE kolombreedtes
   (var(--cmp-labelw) + N × var(--cmp-colw)), maar .kb-cmp-scroll is een blok en
   rekt naar 100%. Bij weinig kolommen bleef rechts een leeg vlak binnen de
   omrande box staan: 5 kolommen = 1100px tracks in een container van 1600px.
   Het blok kamado-vergelijk heeft dat niet, want dat vult de breedte met tot 16
   productkolommen — vandaar dat dit hier gescoped hoort en niet in de gedeelde CSS.
   fit-content laat de hele component om de tracks krimpen (meta-balk incl., zodat
   de schakelaar aan de tabelrand blijft); max-width houdt 'm scrollbaar zodra de
   tabel juist breder is dan de ruimte.
   Gescoped op de wrapper, niet op de bloknaam: de wrapper bestaat alleen in deze
   variant, en een bloknaam-selector zou die klassenaam in de stylesheet zetten —
   waar de volgorde-test op de gebundelde output (cssTag + html) op zoekt. */
.nb--kamado-scope .kb-cmp{width:fit-content;max-width:100%}
/* De filterchips mogen de fit-content-breedte hierboven niet bepalen. Zonder dit
   rekt een rij lange chip-labels de hele component op tot voorbij de tabel, en
   staat het lege vlak er weer (gemeten: 1458px -> 1600px bij lange labels).
   width:0 haalt de balk uit de max-content-berekening, min-width:100% geeft 'm
   daarna alsnog de volle breedte zodat de chips netjes afbreken. */
.nb--kamado-scope .kb-cmp-filters{width:0;min-width:100%}

/* variant "table": dezelfde scroll-regio en tokens als "kamado", maar een <table>
   op volle breedte in plaats van de grid met vaste tracks. table-layout:fixed
   deelt de breedte gelijk over de modelkolommen; de ondergrens (labelkolom plus
   N keer de kolombreedte, N inline via --kb-cmp-cols) laat de regio horizontaal
   scrollen zodra de kolommen te smal worden, met de sticky labelkolom, de fade
   en de veeg-hint uit de kamado-CSS. Dezelfde --cmp-labelw/--cmp-colw als de
   grid, dus onder 720px volgt de tabel vanzelf de smallere waarden. */
.nb--kamado-scope .kb-cmp--table{width:100%}
/* Geen max-height: de kamado-grid begrenst zijn regio op 78vh en scrolt daarbinnen
   verticaal, maar een gewone tabel op een contentpagina loopt met de pagina mee.
   Gemeten 29-09-2026 op neuramerce.com/cases/nomad-fire (9 rijen, 375px): 825px
   tabel in een regio van 631px, dus een geneste scroller waar de bezoeker in
   vast komt te zitten. Prijs: de kop plakt niet meer (sticky heeft een verticaal
   scrollende container nodig); de labelkolom blijft wel sticky bij horizontaal
   scrollen. */
.kb-cmp--table .kb-cmp-scroll{max-height:none}
/* De veeg-pill staat in de kamado-CSS op 50% van de (hooguit 720px hoge) regio.
   Zonder begrenzing zit die bij een lange tabel buiten beeld terwijl de bezoeker
   naar de bovenkant kijkt; in de tabelvariant hangt hij daarom onder de koprij. */
.kb-cmp--table .kb-cmp-swipe{top:96px}
/* Veeg-hint en fade pas tonen als de client gemeten heeft dat de regio overloopt
   (is-overflowing op de wrap, gezet in onScroll van blocks-core.js). Een tabel
   die past, het gewone geval op desktop, zou anders tot de deferred init een
   pulserende pill en een donkere fade over de laatste kolom tonen. De client
   zet inline display '' of 'none'; bij '' gelden deze regels. */
.kb-cmp--table .kb-cmp-fade,.kb-cmp--table .kb-cmp-swipe{display:none}
.kb-cmp--table .kb-cmp-wrap.is-overflowing .kb-cmp-fade{display:block}
.kb-cmp--table .kb-cmp-wrap.is-overflowing .kb-cmp-swipe{display:inline-flex}
/* eigen stacking context: de sticky cellen (z 1-3) en de veeg-pill (z 5) mogen
   niet over thema-koppen of dropdowns van de pagina heen schilderen */
.kb-cmp--table .kb-cmp-wrap{isolation:isolate}
.kb-cmpt{width:100%;min-width:calc(var(--cmp-labelw) + var(--kb-cmp-cols,2) * var(--cmp-colw));table-layout:fixed;border-collapse:separate;border-spacing:0}
/* expliciet, ook waar de waarde de standaard is: dit is de eerste <table> in de
   kamado-opmaak en bundle- of thema-CSS op tr/td (zebra, randen) mag er niet in lekken */
.kb-cmpt tr{background:transparent}
.kb-cmpt th,.kb-cmpt td{margin:0;padding:15px 20px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--cmp-line);font-size:14px;line-height:1.5;color:var(--kb-cream);overflow-wrap:anywhere}
/* kop en labelkolom staan op --cmp-surf, en dat is het merkoppervlak: op een licht
   merk is dat wit, en dan is cream onleesbaar. De tekst volgt daarom de merktekst-
   tokens, met de kamado-kleuren als terugval voor een bundle zonder merk-kit. */
.kb-cmpt thead th{position:sticky;top:0;z-index:2;background:var(--cmp-surf);font-family:var(--kb-font-display);font-size:15px;font-weight:700;letter-spacing:-0.01em;padding-top:20px;padding-bottom:16px;border-bottom:1px solid var(--cmp-line2);color:var(--brand-text-primary,var(--kb-cream))}
/* hoek- en labelcel als th.klasse: de element-selectors hierboven (0,1,2 en 0,1,1)
   winnen anders van een kale klasse (0,1,0), waardoor de hoek zijn z-index verloor
   en de labels de gewone celopmaak kregen */
.kb-cmpt th.kb-cmpt__corner{left:0;z-index:3;width:var(--cmp-labelw)}
.kb-cmpt th.kb-cmpt__label{position:sticky;left:0;z-index:1;background:var(--cmp-surf);font-weight:400;font-size:13px;color:var(--brand-text-muted,var(--kb-fog))}
.kb-cmpt__head,.kb-cmpt__val{border-left:1px solid var(--cmp-line)}
.kb-cmpt tbody tr:last-child th,.kb-cmpt tbody tr:last-child td{border-bottom:none}
.kb-cmpt__head.is-hl{color:var(--kb-ember);background:linear-gradient(180deg,rgba(var(--brand-primary-rgb, 243,144,25),0.28),rgba(var(--brand-primary-rgb, 243,144,25),0.10)),var(--cmp-surf)}
.kb-cmpt__val.is-hl{background:rgba(var(--brand-primary-rgb, 243,144,25),0.10)}
/* rij-hover alleen voor een muis: op een touchscreen blijft :hover na een tik
   op de rij hangen, en dat lijkt dan een selectie */
@media (hover:hover){.kb-cmpt tbody tr:hover .kb-cmpt__val:not(.is-hl){background:rgba(255,255,255,0.025)}}
@media (max-width:720px){
  .kb-cmpt th,.kb-cmpt td{padding:12px 14px;font-size:13px}
  .kb-cmpt thead th{padding-top:16px;padding-bottom:12px}
}


.nb--article-section .nb-artbody{max-width:720px;margin:0 auto;font-size:17px;line-height:1.7;color:var(--nb-text)}
.nb--article-section .nb-artbody h2{font-family:var(--nb-font-display);font-size:clamp(26px,3vw,38px);line-height:1.15;margin:64px 0 24px}
.nb--article-section .nb-artbody h3{font-family:var(--nb-font-display);font-size:22px;margin:44px 0 16px}
.nb--article-section .nb-artbody p{margin:0 0 22px}
.nb--article-section .nb-artbody>:first-child{margin-top:0}
.nb--article-section .nb-artbody ul,.nb--article-section .nb-artbody ol{padding-left:22px}
.nb--article-section .nb-artbody li{margin:6px 0}
.nb--article-section .nb-artbody img{max-width:100%;height:auto;border-radius:10px}
.nb--article-section .nb-artbody blockquote{border-left:2px solid var(--nb-accent);margin:28px 0;padding:6px 0 6px 20px;font-style:italic}
.nb--article-section .nb-artbody a{color:var(--nb-accent);text-decoration:underline;text-underline-offset:3px}

/**
 * article-section is meerdere blokken (één per H2) die sámen één doorlopend
 * artikel vormen — geen losse pagina-secties. De generieke .nb-padding
 * (clamp(64px,10vw,120px) top+bottom) en border-top uit shared.ts zijn
 * bedoeld voor visueel losse blokken (hero, kaartenraster, …) en stapelen bij
 * opeenvolgende artikel-koppen op tot een kloof van 128–240px met een lijn
 * erdoorheen — precies wat een lopend artikel niet moet doen.
 */
.nb--article-section{padding:clamp(8px,2vw,24px) 0;border-top:none}


[class*="nb--kamado-"]{
  --kb-charcoal:var(--gb-charcoal,#0A0908);--kb-black:var(--gb-black,#141210);--kb-coal:var(--gb-coal,#1C1A17);
  --kb-ash:rgba(255,255,255,0.08);--kb-ash-2:rgba(255,255,255,0.14);
  --kb-ember:var(--gb-ember,var(--gb-flame,var(--brand-accent,#F39019)));--kb-ember-hot:var(--brand-primary-hover,#FF7D33);--kb-ember-glow:rgba(var(--brand-primary-rgb, 243,144,25),0.16);
  --kb-cream:var(--gb-cream,#EEE7DB);--kb-bone:rgba(238,231,219,0.78);--kb-fog:rgba(238,231,219,0.5);
  --kb-font-display:var(--font-display,var(--brand-font-heading,inherit));
  --kb-font-body:var(--font-body,var(--brand-font-body,inherit));
  --kb-font-mono:var(--font-mono,'JetBrains Mono',ui-monospace,monospace);
  --kb-ease:var(--brand-easing-default,cubic-bezier(.16,1,.3,1));--kb-maxw:1320px;
  padding:0;border-top:0;
  background:var(--kb-charcoal);color:var(--kb-cream);font-family:var(--kb-font-body);font-size:15px;line-height:1.6;
}
[class*="nb--kamado-"]>.nb-container{max-width:none;padding:0}
:where([class*="nb--kamado-"]) *,:where([class*="nb--kamado-"]) *::before,:where([class*="nb--kamado-"]) *::after{box-sizing:border-box}
:where([class*="nb--kamado-"]) img{display:block;max-width:100%}
:where([class*="nb--kamado-"]) a{color:inherit;text-decoration:none}
:where([class*="nb--kamado-"]) button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}
:where([class*="nb--kamado-"]) h1,:where([class*="nb--kamado-"]) h2,:where([class*="nb--kamado-"]) h3,:where([class*="nb--kamado-"]) h4{margin:0;font-family:var(--kb-font-display);font-weight:700;letter-spacing:-0.025em;line-height:1}
.kb-wrap{max-width:var(--kb-maxw);margin:0 auto;padding:0 40px}
.kb-eyebrow{font-family:var(--kb-font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--kb-ember);display:inline-flex;align-items:center;gap:10px;margin-bottom:20px}
.kb-head{max-width:760px;margin-bottom:56px}
.kb-h2{font-size:clamp(34px,4.4vw,64px);font-weight:700;letter-spacing:-0.03em;line-height:0.98}
.kb-h2 em{color:var(--kb-ember);font-style:normal}
.kb-lead{margin-top:20px;font-size:17px;line-height:1.66;color:var(--kb-bone);max-width:580px}
.kb-arr{display:inline-flex;transition:transform .4s var(--kb-ease)}
.kb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--kb-font-mono);font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;padding:16px 26px;border-radius:3px;cursor:pointer;transition:all .4s var(--kb-ease);white-space:nowrap}
.kb-btn:hover .kb-arr{transform:translateX(4px)}
.kb-btn--primary{background:var(--kb-ember);color:var(--kb-charcoal)}
.kb-btn--primary:hover{background:var(--kb-ember-hot);box-shadow:0 0 36px var(--kb-ember-glow);transform:translateY(-1px)}
.kb-btn--ghost{border:1px solid var(--kb-ash-2);color:var(--kb-cream)}
.kb-btn--ghost:hover{border-color:var(--kb-ember);color:var(--kb-ember)}
.kb-btn--block{width:100%}
.kb-sect{padding:92px 0;border-bottom:1px solid var(--kb-ash)}
.kb-sect--alt{background:var(--kb-black)}
.kb-prose p{font-size:16.5px;line-height:1.78;color:var(--kb-bone);margin:0 0 18px}
.kb-prose p:last-child{margin-bottom:0}

/* reveal — generiek per kamado-blok (js zet .in; no-js/reduced-motion toont alles) */
:where([class*="nb--kamado-"]) .rv{opacity:0;transform:translateY(28px);transition:opacity var(--brand-duration-dramatic,.9s) var(--kb-ease),transform var(--brand-duration-dramatic,.9s) var(--kb-ease)}
:where([class*="nb--kamado-"]) .rv.in{opacity:1;transform:none}
:where([class*="nb--kamado-"]).no-js .rv,:where([class*="nb--kamado-"]) .no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){:where([class*="nb--kamado-"]) .rv{opacity:1!important;transform:none!important;transition:none}}

@media (max-width:880px){
  .kb-wrap{padding:0 22px}
  .kb-sect{padding:64px 0}
  .kb-head{margin-bottom:36px}
  .kb-h2{font-size:clamp(30px,8.5vw,44px)}
  .kb-lead{font-size:15.5px;margin-top:16px}
}
/* Rijk-tekst (renderRichText) in kamado-containers: neutraliseer UA-marges op <p>/lijsten uit de WYSIWYG-editor. */
.kb-faq-a>p,.kb-lead>p,.kb-tl__desc>p,.kb-step-p>p,.kb-tech-p>p,.kb-guide-card__d>p,.kb-guide-row__w>p{margin:0 0 .6em}
.kb-faq-a>:last-child,.kb-lead>:last-child,.kb-tl__desc>:last-child,.kb-step-p>:last-child,.kb-tech-p>:last-child,.kb-guide-card__d>:last-child,.kb-guide-row__w>:last-child{margin-bottom:0}
.kb-faq-a ul,.kb-faq-a ol,.kb-lead ul,.kb-lead ol,.kb-step-p ul,.kb-step-p ol,.kb-tech-p ul,.kb-tech-p ol,.kb-guide-card__d ul,.kb-guide-card__d ol{margin:.3em 0 .6em;padding-left:1.4em}


.kb-cmp{--cmp-labelw:210px;--cmp-colw:178px;--cmp-line:var(--kb-ash);--cmp-line2:var(--kb-ash-2);--cmp-surf:var(--brand-bg-surface,#141210);--cmp-surf2:#1b1916;--cmp-cell:#0f0d0b}
.kb-cmp-filters{display:flex;flex-wrap:wrap;gap:22px 40px;padding:2px 20px 22px;margin-bottom:20px;border-bottom:1px solid var(--cmp-line)}
.kb-cmp-fgroup{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1 auto}
.kb-cmp-flabel{font-family:var(--kb-font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--kb-fog)}
.kb-cmp-chips{display:flex;flex-wrap:wrap;gap:8px}
.kb-cmp-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:100px;cursor:pointer;background:var(--cmp-surf);border:1px solid var(--cmp-line2);color:var(--kb-cream);font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .22s var(--kb-ease),border-color .22s var(--kb-ease),color .22s var(--kb-ease),transform .18s var(--kb-ease)}
.kb-cmp-chip:hover{border-color:rgba(var(--brand-primary-rgb, 243,144,25),0.5);transform:translateY(-1px)}
.kb-cmp-chip[aria-pressed="true"]{background:var(--kb-ember);border-color:var(--kb-ember);color:#1a160f}
.kb-cmp-chip:focus-visible{outline:2px solid var(--kb-ember);outline-offset:2px}
.kb-cmp-chip__sub{font-family:var(--kb-font-mono);font-size:10.5px;opacity:0.6;font-weight:400}
.kb-cmp-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px;margin-bottom:18px;flex-wrap:wrap}
.kb-cmp-count{font-family:var(--kb-font-mono);font-size:12px;letter-spacing:0.04em;color:var(--kb-fog)}
.kb-cmp-count strong{color:var(--kb-cream);font-weight:600}
.kb-cmp-meta__actions{display:flex;align-items:center;gap:16px}
.kb-cmp-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;color:var(--kb-fog);font-size:13px;padding:4px 0;transition:color .2s var(--kb-ease)}
.kb-cmp-toggle:hover{color:var(--kb-cream)}
.kb-cmp-toggle[aria-checked="true"]{color:var(--kb-cream)}
.kb-cmp-toggle:focus-visible{outline:2px solid var(--kb-ember);outline-offset:2px}
.kb-cmp-toggle__track{width:38px;height:22px;border-radius:100px;background:var(--cmp-surf2);border:1px solid var(--cmp-line2);position:relative;transition:background .25s var(--kb-ease),border-color .25s var(--kb-ease);flex-shrink:0}
.kb-cmp-toggle[aria-checked="true"] .kb-cmp-toggle__track{background:var(--kb-ember);border-color:var(--kb-ember)}
.kb-cmp-toggle__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--kb-cream);transition:transform .28s cubic-bezier(.5,1.4,.4,1)}
.kb-cmp-toggle[aria-checked="true"] .kb-cmp-toggle__knob{transform:translateX(16px);background:#1a160f}
.kb-cmp-reset{cursor:pointer;color:var(--kb-ember);font-size:13px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.kb-cmp-wrap{position:relative}
.kb-cmp-scroll{overflow:auto;max-height:min(78vh,720px);border:1px solid var(--cmp-line);border-radius:16px;background:var(--cmp-cell);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--cmp-line2) transparent}
/* grab-cursor alleen als er echt te slepen valt (is-overflowing komt uit onScroll in
   blocks-core.js); een regio die past belooft anders een pan die niets doet */
.kb-cmp-wrap.is-overflowing .kb-cmp-scroll{cursor:grab}
.kb-cmp-scroll.is-grabbing{cursor:grabbing;user-select:none}
.kb-cmp-scroll.is-grabbing *{cursor:grabbing!important}
.kb-cmp-scroll:focus-visible{outline:2px solid var(--kb-ember);outline-offset:2px}
.kb-cmp-scroll::-webkit-scrollbar{height:9px;width:9px}
.kb-cmp-scroll::-webkit-scrollbar-thumb{background:var(--cmp-line2);border-radius:6px;border:2px solid var(--cmp-cell)}
.kb-cmp-scroll::-webkit-scrollbar-track{background:transparent}
/* VASTE kolombreedte (géén 1fr): met min-width:max-content maakt een 1fr-max de
   kolom zo breed als de langste niet-afbrekende celinhoud — bv. een lange
   "Gebruikt voor"-waarde → ~600px-kolommen (maar 2 zichtbaar). Een vaste px-track
   negeert celinhoud (die breekt netjes af binnen de track) → ~6 modellen in beeld
   + horizontaal scrollen, zoals het ontwerp. (Weinig modellen → strook rechts;
   acceptabel — Grill Bill heeft er 14, dus scrollt sowieso.) */
.kb-cmp-grid{display:grid;min-width:max-content;position:relative;grid-template-columns:var(--cmp-labelw) repeat(var(--kb-cmp-vis,1),var(--cmp-colw,178px))}
.kb-cmp-cell{padding:14px 18px;min-width:0;border-bottom:1px solid var(--cmp-line);border-left:1px solid var(--cmp-line);display:flex;align-items:center;font-size:14px;color:var(--kb-cream);overflow-wrap:anywhere}
.kb-cmp-cell[hidden]{display:none!important}
.kb-cmp-label{position:sticky;left:0;z-index:3;background:var(--cmp-surf);border-left:none;flex-direction:column;align-items:flex-start;gap:3px;color:var(--kb-fog);font-size:13px}
.kb-cmp-rlabel{line-height:1.25}
.kb-cmp-mhead{position:sticky;top:0;z-index:4;flex-direction:column;align-items:flex-start;gap:6px;padding:26px 16px 14px;background:var(--cmp-surf);border-bottom:1px solid var(--cmp-line2);transition:padding .22s var(--kb-ease)}
/* opaque base ONDER de amber-gradient — anders schijnen scrollende rijen door de
   "Populair"-kop heen (de gradient is translucent) */
.kb-cmp-mhead.is-feat{background:linear-gradient(180deg,rgba(var(--brand-primary-rgb, 243,144,25),0.14),rgba(var(--brand-primary-rgb, 243,144,25),0.04)),var(--cmp-surf)}
.kb-cmp-badge{position:absolute;top:10px;left:16px;z-index:1;font-family:var(--kb-font-mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:#1a160f;background:var(--kb-ember);padding:3px 8px;border-radius:5px}
.kb-cmp-thumb{display:block;width:64px;height:64px;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--cmp-cell);margin-bottom:6px;transition:height .22s var(--kb-ease),opacity .22s var(--kb-ease),margin-bottom .22s var(--kb-ease)}
.kb-cmp-thumb img{width:100%;height:100%;object-fit:cover}
.kb-cmp-mname{font-family:var(--kb-font-display);font-size:15px;font-weight:700;letter-spacing:-0.01em;line-height:1.22;color:var(--kb-cream);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kb-cmp-mprice{font-family:var(--kb-font-display);font-size:16px;font-weight:600;color:var(--kb-ember);margin-top:2px}
/* sectie-koppen (AttributeGroup.name): volle breedte, sticky-links zodat het label
   in beeld blijft bij horizontaal scrollen */
.kb-cmp-section{grid-column:1/-1;position:sticky;left:0;z-index:2;padding:18px 18px 8px;background:var(--cmp-surf2);border-bottom:1px solid var(--cmp-line);font-family:var(--kb-font-mono);font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--kb-ember)}
.kb-cmp-section[hidden]{display:none!important}
/* verticaal-gescrolld: foto's + badge verdwijnen uit de blijvende model-koppen
   (compacter) — bij normale stand blijven ze zichtbaar */
.kb-cmp.is-scrolled .kb-cmp-thumb{height:0;opacity:0;margin-bottom:0}
.kb-cmp.is-scrolled .kb-cmp-badge{display:none}
.kb-cmp.is-scrolled .kb-cmp-mhead{padding-top:14px}
.kb-cmp-cta{margin-top:auto;align-self:stretch;text-align:center;padding:9px 12px;border-radius:9px;font-size:12.5px;font-weight:600;letter-spacing:0.02em;transition:transform .18s var(--kb-ease),background .2s var(--kb-ease),border-color .2s var(--kb-ease)}
.kb-cmp-cta.is-ghost{border:1px solid var(--cmp-line2);color:var(--kb-cream)}
.kb-cmp-cta.is-ghost:hover{border-color:var(--kb-ember);color:var(--kb-ember)}
.kb-cmp-cta.is-pri{background:var(--kb-ember);color:#1a160f}
.kb-cmp-cta.is-pri:hover{transform:translateY(-1px)}
.kb-cmp-corner{position:sticky;left:0;top:0;z-index:6;background:var(--cmp-surf2);border-left:none;border-bottom:1px solid var(--cmp-line2);flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
.kb-cmp-corner__tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.kb-cmp-corner__x{font-family:var(--kb-font-display);font-size:17px;font-weight:700;letter-spacing:-0.01em;color:var(--kb-cream)}
.kb-cmp-corner__y{font-family:var(--kb-font-mono);font-size:10px;letter-spacing:0.08em;color:var(--kb-fog);text-transform:uppercase}
.kb-cmp-collapse{flex-shrink:0;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--cmp-line2);background:var(--cmp-cell);color:var(--kb-cream);cursor:pointer;transition:border-color .2s var(--kb-ease),color .2s var(--kb-ease)}
.kb-cmp-collapse:hover{border-color:var(--kb-ember);color:var(--kb-ember)}
.kb-cmp.is-narrow{--cmp-labelw:40px}
.kb-cmp.is-narrow .kb-cmp-corner{justify-content:center;padding-left:0;padding-right:0}
.kb-cmp.is-narrow .kb-cmp-label{padding-left:0;padding-right:0;align-items:center;justify-content:center}
.kb-cmp.is-narrow .kb-cmp-rlabel{display:none}
/* collapsed: ook de hoek-tekst ("Vergelijk / N modellen") weg — anders breekt die
   in de 40px-kolom verticaal af (1 letter per regel) en wordt de koprij metershoog;
   de collapse-knop blijft staan om weer uit te klappen */
.kb-cmp.is-narrow .kb-cmp-corner__tx{display:none}
.kb-cmp-price{font-family:var(--kb-font-display);font-size:18px;font-weight:600;color:var(--kb-cream)}
.kb-cmp-val.is-feat{background:rgba(var(--brand-primary-rgb, 243,144,25),0.05)}
.kb-cmp-val.is-price .kb-cmp-price{color:var(--kb-ember)}
.kb-cmp-yes{color:#2fbf6b;display:inline-flex}
.kb-cmp-no{color:var(--kb-fog);font-size:16px}
.kb-cmp-fade{position:absolute;top:1px;bottom:10px;right:1px;width:56px;pointer-events:none;border-radius:0 16px 16px 0;background:linear-gradient(90deg,rgba(15,13,11,0),rgba(15,13,11,0.92));opacity:1;transition:opacity .3s var(--kb-ease)}
.kb-cmp-wrap.at-end .kb-cmp-fade{opacity:0}
.kb-cmp-swipe{position:absolute;top:50%;right:14px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;pointer-events:none;padding:7px 11px;border-radius:100px;background:rgba(var(--brand-primary-rgb, 243,144,25),0.92);color:#1a160f;font-family:var(--kb-font-mono);font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;box-shadow:0 8px 24px -8px rgba(0,0,0,0.6);z-index:5;animation:kbCmpSwipe 1.8s var(--kb-ease) infinite}
@keyframes kbCmpSwipe{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(5px)}}
@media (max-width:720px){
  .kb-cmp{--cmp-labelw:124px;--cmp-colw:150px}
  .kb-cmp-filters{gap:16px 0;flex-direction:column}
  .kb-cmp-cell{padding:12px 13px;font-size:13px}
  .kb-cmp-mname{font-size:14px}
  .kb-cmp-mprice{font-size:15px}
  .kb-cmp-price{font-size:15px}
  .kb-compare{margin-left:-16px;margin-right:-16px}
  .kb-compare .kb-cmp-filters,.kb-compare .kb-cmp-meta{padding-left:16px;padding-right:16px}
  .kb-compare .kb-cmp-scroll{border-radius:0;border-left:none;border-right:none}
  .kb-compare .kb-cmp-fade{border-radius:0}
}
@media (prefers-reduced-motion:reduce){
  .kb-cmp-swipe{animation:none}
  .kb-cmp-toggle__knob,.kb-cmp-chip,.kb-cmp-cta,.kb-cmp-thumb,.kb-cmp-mhead{transition:none}
}
