/* Flame Grill — v4 "crème & braise"
   Structuur: sweetgreen (crème grond, gesplitste nav met logo in het midden, serif-tabs, rustige kaarten, footer in kolommen).
   Energie: de referentievideo (karmijnrode scène, reuzetitel in condensed, gerechten als zwevende stickers).
   v3 = style.v3.css, v2 = style.v2.css, v1 = style.v1.css */
:root{
  --cream:#F4EFE3; --cream-2:#EBE3D0; --paper:#FBF8F1;
  --ink:#2A0F0B; --ink-2:#4A2A22; --muted:#6E5650;
  --crimson:#C8143A; --crimson-d:#9E0E2C; --flame:#FF5A1F;
  --sun:#FFC83A; --blush:#F5D8CE;
  --ok:#277A42; --wa:#25D366;
  --line:rgba(42,15,11,.12); --line-c:rgba(255,241,220,.22);
  --sans:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --serif:"Gloock",Georgia,serif;
  --r:20px;
  --ease:cubic-bezier(.19,1,.22,1); --kin:cubic-bezier(.65,.01,.05,.99);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:5.5rem;background:var(--cream)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--cream);color:var(--ink);font:1rem/1.55 var(--sans);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--sun);color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{width:100%;max-width:90rem;margin-inline:auto;padding-inline:clamp(1rem,3.5vw,3.25rem)}
.skip{position:absolute;left:-999px;top:8px;background:var(--sun);padding:8px 14px;border-radius:8px;z-index:300}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--crimson);outline-offset:3px;border-radius:4px}
.muted{color:var(--muted)} .small{font-size:.85rem} .center{margin-top:2.5rem}
.eyebrow{font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
h1,h2{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;line-height:.84;letter-spacing:-.01em}
h2{font-size:clamp(3rem,8vw,6.75rem);margin-top:.15em}
h2 em,h1 em{font-family:var(--serif);font-weight:400;font-style:normal;text-transform:none;font-variation-settings:normal;letter-spacing:-.02em}
h3{font-weight:500;font-size:1.05rem;line-height:1.25}

/* Buttons — pillen zoals de referentie */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;height:3rem;padding:0 1.6rem;border-radius:999px;font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;transition:background-color .25s,color .25s,transform .25s}
.btn:active{transform:scale(.97)}
.btn .arrow{width:1rem;height:1rem;stroke-linecap:square;transition:transform .3s}
.btn:hover .arrow{transform:translateX(3px)}
.btn--ink,.btn--fire{background:var(--ink);color:var(--sun)}
.btn--ink:hover,.btn--fire:hover{background:var(--crimson);color:var(--cream)}
.btn--sun{background:var(--sun);color:var(--ink)}
.btn--sun:hover{background:var(--cream)}
.btn--ghost,.btn--line{border:1.5px solid currentColor}
.btn--line:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn--dark{background:var(--ink);color:var(--cream)}
.btn--wa{background:var(--wa);color:#04210f}
.btn--sm{height:2.4rem;padding:0 1.15rem;font-size:.85rem}
.btn--lg{height:3.6rem;padding:0 2.2rem;font-size:1rem}
.btn--block{width:100%}
.btn.is-disabled{opacity:.4;pointer-events:none}
.link{font-weight:500;text-decoration:underline;text-underline-offset:3px}

/* Header — gesplitst, logo in het midden */
.header{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:1px solid transparent;transition:border-color .3s}
.header.is-solid{border-color:var(--line)}
.header__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:5.25rem;padding-inline:clamp(1rem,3.5vw,3.25rem)}
.nav{display:flex;gap:clamp(1.25rem,2.5vw,2.75rem)}
.nav a{font-size:.95rem;text-transform:uppercase;letter-spacing:.01em;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.logo{display:flex;align-items:center;gap:.4rem;color:var(--crimson)}
.logo__flame{width:1.5rem;height:1.5rem;fill:currentColor;stroke:none;margin-top:-.2rem}
.logo__txt{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:-.03em;line-height:1}
.header__right{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,2vw,2rem)}
.lang{display:flex;gap:2px}
.lang button{font-size:.75rem;font-weight:600;width:2rem;height:2rem;border-radius:50%;opacity:.55}
.lang button[aria-pressed=true]{opacity:1;background:var(--ink);color:var(--cream)}

/* Mobiel menuknop + kinetisch menu */
.mbtn{display:none;align-items:center;gap:10px;height:2.6rem;padding:0 .9rem 0 1.1rem;border-radius:999px;border:1.5px solid var(--ink);font-weight:500;font-size:.85rem;text-transform:uppercase}
.mbtn__txt{display:block;height:1.4em;line-height:1.4;overflow:hidden}
.mbtn__txt span{display:block;transition:transform .7s var(--kin)}
.mbtn[aria-expanded=true] .mbtn__txt span{transform:translateY(-100%)}
.mbtn__icon{width:13px;height:13px;stroke-width:1.6;stroke-linecap:butt;transition:transform .7s var(--kin)}
.mbtn[aria-expanded=true] .mbtn__icon{transform:rotate(315deg)}
.kmenu{position:fixed;inset:0;z-index:95;visibility:hidden;transition:visibility 0s .75s}
.kmenu.open{visibility:visible;transition:none}
.kmenu__overlay{position:absolute;inset:0;background:rgba(42,15,11,.45);opacity:0;transition:opacity .7s var(--kin);cursor:pointer}
.kmenu.open .kmenu__overlay{opacity:1}
.kmenu__panel{position:absolute;top:0;right:0;bottom:0;width:min(40rem,100%);overflow:hidden;color:var(--cream)}
.kmenu__bg{position:absolute;inset:0}
.kmenu__bg>i{position:absolute;inset:0;transform:translateX(101%);transition:transform .575s var(--kin)}
.kmenu__bg>i:nth-child(1){background:var(--sun)}
.kmenu__bg>i:nth-child(2){background:var(--flame);transition-delay:.06s}
.kmenu__bg>i:nth-child(3){background:var(--crimson);transition-delay:.12s}
.kmenu.open .kmenu__bg>i{transform:none}
.kmenu.open .kmenu__bg>i:nth-child(2){transition-delay:.12s}
.kmenu.open .kmenu__bg>i:nth-child(3){transition-delay:.24s}
.kmenu__shapes{position:absolute;inset:0;pointer-events:none}
.kshape{position:absolute;inset:auto 0 0 auto;width:min(100%,30rem);aspect-ratio:1;height:auto;opacity:0;transition:opacity .3s;stroke:none}
.kshape.on{opacity:1}
.kshape>*{transform-box:fill-box;transform-origin:center;transform:scale(.5) rotate(-10deg);opacity:0;transition:transform .3s ease-in,opacity .3s ease-in;fill:rgba(255,200,58,.28);stroke:rgba(255,200,58,.22)}
.kshape.on>*{transform:none;opacity:1;transition:transform .6s cubic-bezier(.34,1.7,.64,1),opacity .6s}
.kshape.on>*:nth-child(2){transition-delay:.08s}.kshape.on>*:nth-child(3){transition-delay:.16s}.kshape.on>*:nth-child(n+4){transition-delay:.24s}
.kmenu__in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:7rem clamp(1.5rem,5vw,3rem) 2.5rem}
.kmenu__list{list-style:none}
.kmenu__list li{overflow:hidden}
.kmenu__link{display:block;font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(3rem,10vh,5.75rem);line-height:.92}
.kmenu__link span{display:inline-block;transform:translateY(140%) rotate(10deg);transform-origin:left bottom;transition:transform .7s var(--kin),color .25s}
.kmenu.open .kmenu__link span{transform:none;transition-delay:calc(.35s + var(--i,0) * .05s),0s}
.kmenu__list li:nth-child(2){--i:1}.kmenu__list li:nth-child(3){--i:2}.kmenu__list li:nth-child(4){--i:3}.kmenu__list li:nth-child(5){--i:4}
.kmenu__link:hover span{color:var(--sun)}
.kmenu__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s}
.kmenu.open .kmenu__foot{opacity:1;transform:none;transition:opacity .7s var(--kin) .6s,transform .7s var(--kin) .6s}
.kmenu__cta{background:var(--sun);color:var(--ink)}
.kmenu__addr{font-size:.85rem;line-height:1.7;opacity:.85}
.kmenu__status{display:inline-flex;align-items:center;gap:8px}
body.menu-open{overflow:hidden}

/* Hero — karmijnrode scène met stickers */
.hero{padding:0 clamp(.5rem,1.2vw,1rem) clamp(.5rem,1.2vw,1rem)}
.stage{position:relative;overflow:hidden;min-height:calc(100svh - 5.25rem - 7.5rem);display:grid;place-items:center;border-radius:calc(var(--r) + 8px);
  background:radial-gradient(70% 60% at 50% 55%,#E01E48 0%,var(--crimson) 55%,var(--crimson-d) 100%);color:var(--cream);isolation:isolate}
.stage::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;mix-blend-mode:multiply;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.stage__in{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.75rem;padding:4.5rem 1rem}
.stage__tag{font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.stage__title{font-size:clamp(3.6rem,min(14vw,22svh),13rem);line-height:.8;color:var(--cream);max-width:12ch}
.stage__title em{display:block;margin-top:.12em;font-size:.36em;line-height:1;color:var(--sun)}
.stage__title br{display:none}
.stage__in>*{opacity:0;transform:translateY(24px);animation:up 1.1s var(--ease) forwards}
.stage__in>*:nth-child(2){animation-delay:.12s}.stage__in>*:nth-child(3){animation-delay:.28s}
@keyframes up{to{opacity:1;transform:none}}
.sticker{position:absolute;z-index:1;border-radius:50%;overflow:hidden;border:5px solid var(--cream);box-shadow:0 18px 40px -16px rgba(60,0,10,.6);animation:pop .9s cubic-bezier(.34,1.56,.64,1) both,float 7s ease-in-out infinite}
.sticker img{width:100%;height:100%;object-fit:cover;transform:scale(2.6)}
.s1{width:clamp(110px,14vw,210px);aspect-ratio:1;left:6%;top:12%;--r:-8deg;animation-delay:.3s,0s}
.s2{width:clamp(90px,11vw,170px);aspect-ratio:1;right:8%;top:9%;--r:10deg;animation-delay:.4s,1.2s;border-radius:28px}
.s3{width:clamp(100px,12vw,190px);aspect-ratio:1;left:10%;bottom:9%;--r:6deg;animation-delay:.5s,2.1s;border-radius:28px}
.s4{width:clamp(120px,15vw,230px);aspect-ratio:1;right:5%;bottom:10%;--r:-6deg;animation-delay:.6s,.6s}
.s5{width:clamp(70px,7vw,110px);aspect-ratio:1;left:28%;top:6%;--r:14deg;animation-delay:.7s,3s}
@keyframes pop{from{transform:scale(0) rotate(var(--r))}to{transform:scale(1) rotate(var(--r))}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.promo-badge{position:absolute;z-index:3;left:50%;bottom:1.25rem;translate:-50% 0;display:flex;align-items:center;gap:.6rem;padding:.4rem 1rem .4rem .45rem;border-radius:999px;background:var(--cream);color:var(--ink)}
.promo-badge__big{background:var(--sun);border-radius:999px;padding:.15rem .6rem;font-weight:900;font-variation-settings:"wdth" 62;font-size:1.3rem}
.promo-badge__txt{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}
.facts{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:0;margin-top:.5rem;border-radius:var(--r);background:var(--paper)}
.facts>div{padding:1.1rem 1.5rem}
.facts>div+div{border-left:1px solid var(--line)}
.facts dt{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.facts dd{font-weight:500;font-size:.95rem;margin-top:.15rem}
.facts__lead dd{font-size:.92rem;color:var(--ink-2);margin:0;max-width:44rem}
.facts__status{display:flex;align-items:center;gap:8px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}
.is-open .dot{background:var(--ok);box-shadow:0 0 0 3px rgba(47,143,78,.18)}
.is-closed .dot{background:var(--crimson)}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--cream);font-size:.82rem;font-weight:500}
.status-pill--inline{margin:6px 0 14px}

/* Lichtkrant */
.ticker{overflow:hidden;padding:1.1rem 0;white-space:nowrap}
.ticker .ticker__track{gap:1.25rem;padding-right:1.25rem;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.ticker__track{display:inline-flex;align-items:center;gap:2.25rem;padding-right:2.25rem;animation:tick 32s linear infinite;font-size:clamp(2rem,5vw,4.25rem);font-weight:400;letter-spacing:-.03em;line-height:1}
.ticker__track i{font-style:normal;color:var(--crimson);font-size:.6em}
@keyframes tick{to{transform:translateX(-50%)}}

/* Secties */
main{counter-reset:sec}
.section{padding:clamp(5rem,9vw,8rem) 0}
.section--alt{background:var(--paper)}
.section--dark{background:var(--cream)}
.head{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:52rem;margin:0 auto 3rem}
.head .muted{margin-top:1.1rem;font-size:1.1rem;max-width:36rem}

/* Menu — serif-tabs met stip */
#menu .head h2{display:none}
#menu .head .eyebrow{display:none}
.menu-tools{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:3rem}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.6rem;max-width:72rem}
.chip{position:relative;font-family:var(--serif);font-size:clamp(1.7rem,3.3vw,2.9rem);line-height:1.25;letter-spacing:-.025em;color:rgba(42,15,11,.32);transition:color .3s;white-space:nowrap;padding-bottom:.35em}
.chip:hover{color:rgba(42,15,11,.6)}
.chip[aria-selected=true]{color:var(--ink)}
.chip[aria-selected=true]::after{content:"";position:absolute;left:50%;bottom:0;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--ink)}
.chip--promo{color:rgba(200,20,58,.55)}
.chip--promo[aria-selected=true]{color:var(--crimson)}
.search{display:flex;align-items:center;gap:8px;height:2.75rem;padding:0 1.1rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);width:min(26rem,100%)}
.search input{background:none;border:0;color:inherit;font:inherit;outline:none;width:100%}
.search input::placeholder{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem 1.9rem}
.dish{display:flex;flex-direction:column;animation:up .6s var(--ease) both;opacity:0;transform:translateY(16px)}
.dish__img{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--r);background:var(--cream-2)}
.dish__img img{width:100%;height:100%;object-fit:cover;transform:scale(2.4);transition:transform 1s var(--ease)}
.dish:hover .dish__img img{transform:scale(2.55)}
.dish__img--none{display:grid;place-items:center;color:var(--crimson)}
.dish__img--none svg{width:56px;height:56px;opacity:.5}
.dish__tags{position:absolute;top:1.1rem;left:1.1rem;display:flex;gap:6px}
.tag{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:.35rem .85rem;border-radius:999px;background:var(--cream);color:var(--ink)}
.tag--promo{background:var(--sun)}
.tag--spicy{color:var(--crimson)}.tag--veggie{color:var(--ok)}
.dish__body{display:flex;flex-direction:column;gap:.6rem;padding-top:1.5rem;flex:1}
.dish__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.dish__name{font-size:clamp(1.25rem,1.7vw,1.6rem);font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.dish__price{font-size:1.1rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.dish__price s{color:var(--muted);font-size:.85rem;margin-right:.4rem}
.dish__desc{font-size:1.02rem;line-height:1.45;color:var(--ink-2);flex:1}
.dish__add{align-self:flex-start;margin-top:.8rem;font-size:1.02rem;display:inline-flex;align-items:center;gap:.35rem;border-bottom:1.5px solid transparent;transition:border-color .25s,color .25s}
.dish__add:hover{border-color:currentColor;color:var(--crimson)}
.dish__add.is-added{color:var(--ok)}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px 0}

/* Menukaart als lijst — zoals een echte kaart, zonder foto's */
#dishes.grid{display:flex;flex-direction:column;gap:3.5rem}
.mcat{animation:up .6s var(--ease) both;opacity:0;transform:translateY(16px)}
.mcat__head{display:flex;align-items:baseline;gap:.75rem;padding-bottom:1rem;border-bottom:1.5px solid var(--ink)}
.mcat__head h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1}
.mcat__head span{font-size:.8rem;font-weight:600;color:var(--crimson);font-variant-numeric:tabular-nums}
.mcat__rows{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,4.5rem)}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}
.row__main{min-width:0}
.row__name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.08rem;font-weight:500;text-transform:uppercase;letter-spacing:.01em;line-height:1.25}
.row__name .tag{font-size:.65rem;padding:.2rem .55rem;background:var(--paper);border:1px solid var(--line)}
.row__name .tag--promo{background:var(--sun);border-color:var(--sun)}
.row__desc{margin-top:.35rem;font-size:.95rem;line-height:1.45;color:var(--ink-2);max-width:34rem}
.row__side{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;flex:none}
.row__price{font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.row__price s{color:var(--muted);font-size:.82rem;margin-right:.35rem}
.row__add{height:2.25rem;padding:0 1rem;border-radius:999px;border:1.5px solid var(--ink);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.row__add:hover{background:var(--ink);color:var(--sun)}
.row__add--opts{background:var(--ink);color:var(--sun)}
.row__add--opts:hover{background:var(--crimson);border-color:var(--crimson);color:var(--cream)}
.row__add.is-added{background:var(--ok);border-color:var(--ok);color:#fff}
.composer__desc{padding:1rem 0 .25rem;color:var(--ink-2);font-size:.98rem}
@media (max-width:820px){.mcat__rows{grid-template-columns:1fr}}

/* Stel zelf samen — banner */
.compose-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin:0 0 3.5rem;padding:clamp(1.75rem,3.5vw,2.75rem) clamp(1.5rem,4vw,3.25rem);border-radius:var(--r);background:var(--crimson);color:var(--cream);position:relative;overflow:hidden}
.compose-cta::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:2px dashed rgba(255,200,58,.35);pointer-events:none}
.compose-cta__eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.compose-cta h3{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(2.2rem,4.5vw,3.75rem);line-height:.86;margin:.35rem 0 .6rem}
.compose-cta__txt p:last-child{max-width:34rem;opacity:.9}

/* Stel zelf samen — dialoog */
.composer{margin:auto;border:0;padding:0;width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:calc(var(--r) + 6px);background:var(--cream);color:var(--ink);overflow:hidden}
.composer::backdrop{background:rgba(42,15,11,.55);backdrop-filter:blur(3px)}
.composer[open]{animation:dlg .5s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(24px) scale(.98)}}
.composer__in{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.composer__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.75rem 1.1rem;border-bottom:1px solid var(--line)}
.composer__head .compose-cta__eyebrow{color:var(--crimson)}
.composer__head h2{font-size:clamp(2rem,5vw,3rem);margin-top:.25rem}
.composer__steps{overflow:auto;padding:.5rem 1.75rem 1rem}
.cstep{border:0;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.cstep:last-child{border-bottom:0}
.cstep legend{display:flex;align-items:baseline;gap:.6rem;font-family:var(--serif);font-size:1.55rem;letter-spacing:-.02em;margin-bottom:.8rem;width:100%}
.cstep__n{font-family:var(--sans);font-size:.75rem;font-weight:600;color:var(--crimson);letter-spacing:.06em}
.cstep legend small{font-family:var(--sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-left:auto}
.copts{display:flex;flex-wrap:wrap;gap:.5rem}
.copt input{position:absolute;opacity:0;pointer-events:none}
.copt span{display:inline-flex;align-items:center;gap:.5rem;height:2.6rem;padding:0 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-size:.95rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .15s}
.copt span em{font-style:normal;font-size:.8rem;opacity:.65}
.copt span:hover{border-color:var(--ink)}
.copt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--sun)}
.copt input:checked+span em{opacity:.8}
.copt input:active+span{transform:scale(.96)}
.copt input:disabled+span{opacity:.35;cursor:not-allowed}
.copt input:focus-visible+span{outline:2px solid var(--crimson);outline-offset:2px}
.composer__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.75rem 1.4rem;border-top:1px solid var(--line);background:var(--paper)}
.composer__sum{flex:1;min-width:12rem;font-size:.88rem;color:var(--ink-2);line-height:1.4}
.composer__foot .btn b{font-weight:700}
.cart__list .nm small{display:block;font-size:.75rem;text-transform:none;color:var(--muted);line-height:1.35;margin-top:2px}

/* Bestel via de app */
.apps{background:var(--paper)}
.apps__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:52rem;margin:0 auto}
.app{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;min-height:11rem;border-radius:var(--r);background:var(--cream);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
a.app:hover{transform:translateY(-4px);border-color:transparent;box-shadow:0 22px 40px -24px rgba(42,15,11,.45)}
.app__cta{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.app.is-soon .wm{opacity:.75}
.wm{display:inline-flex;align-items:center;gap:.35rem;font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1;letter-spacing:-.03em;font-weight:500}
.wm--uber{color:#141414}
.wm--uber b{color:#06C167;font-weight:700}
.wm--takeaway{color:#FF8000;font-weight:800}
.wm--takeaway svg{width:1.1em;height:1.1em;stroke-width:2.4}
.wm--takeaway small{font-size:.55em;font-weight:600;align-self:flex-end;margin-bottom:.2em}

/* Promo's */
.offers{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1rem}
.offer{border-radius:var(--r);padding:2rem;background:var(--cream);display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.offer h3{font-size:1.35rem;text-transform:uppercase;font-weight:500}
.offer p{color:var(--ink-2);flex:1}
.offer--hot{background:var(--crimson);color:var(--cream);position:relative;overflow:hidden}
.offer--hot p{color:rgba(244,239,227,.85)}
.offer__big{font-weight:900;font-variation-settings:"wdth" 62;font-size:clamp(5rem,10vw,8.5rem);line-height:.8;color:var(--sun)}
.offer__price{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--crimson)}
.offer--hot .btn--dark{background:var(--sun);color:var(--ink)}

/* Over ons */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.about{grid-template-columns:5fr 6fr}
.about__img{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-height:26rem;width:100%}
.about__img img{width:100%;height:100%;object-fit:cover;object-position:46% 45%;transform:scale(1.15)}
.about__tag{position:absolute;top:1.1rem;left:1.1rem;font-size:.78rem;font-weight:500;letter-spacing:.06em;background:var(--sun);padding:.35rem .85rem;border-radius:999px}
.about__txt h2{font-size:clamp(3rem,6.5vw,6rem)}
.about__txt p{font-size:1.15rem;line-height:1.55;color:var(--ink-2);margin-top:1.2rem;max-width:38rem}
.about__txt p:first-of-type:not(.eyebrow){font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.3;color:var(--ink)}
.stats{display:flex;gap:2.5rem;margin-top:2.5rem;flex-wrap:wrap}
.stats b{display:block;font-weight:900;font-variation-settings:"wdth" 62;font-size:3.5rem;line-height:.9;color:var(--crimson)}
.stats span{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.review{background:var(--cream);border-radius:var(--r);padding:2rem;display:flex;flex-direction:column}
.review .stars{color:var(--crimson);letter-spacing:3px}
.review p{font-family:var(--serif);font-size:1.5rem;line-height:1.25;margin:1rem 0 1.5rem;flex:1}
.review cite{font-style:normal;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}

/* Bestellen — zonnige band */
.order{background:var(--sun)}
.order{position:relative;overflow:hidden}
.order__in{position:relative;z-index:2;}
/* Bestellen: inhoud links, tekstmuur + vallende pitta rechts */
.order__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.order .order__in{position:relative;align-items:flex-start!important;text-align:left!important}
.order .order__in .services,.order .order__in .order__btns{justify-content:flex-start}
.o2 img{transform:none!important}
.o1{width:clamp(96px,10vw,150px);aspect-ratio:1;right:4%;top:-1.5rem;--r:9deg;border-radius:24px}
.o1 img{transform:scale(2.4)}
.o2{width:clamp(90px,9vw,130px);aspect-ratio:1;right:-1rem;bottom:-6.5rem;--r:-8deg;animation-delay:0s,1.4s}
.drop{position:relative;min-height:clamp(30rem,52vw,44rem);display:grid;place-items:center;overflow:hidden;border-radius:var(--r)}
.drop.reveal{opacity:1;transform:none}
.drop__wall{position:absolute;inset:-.1em 0 0;font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;text-align:center;font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:.92;letter-spacing:.005em;color:var(--ink);opacity:.9;user-select:none}
.drop__stack{position:relative;z-index:2;width:min(78%,24rem);height:auto;filter:drop-shadow(0 30px 30px rgba(90,40,0,.28));transform:translateY(-120%) rotate(-6deg);opacity:0}
.drop.in .drop__stack{animation:fall 1.3s cubic-bezier(.3,1.35,.5,1) .15s forwards,bob 5s ease-in-out 1.6s infinite}
@keyframes fall{0%{transform:translateY(-120%) rotate(-6deg);opacity:0}25%{opacity:1}100%{transform:none;opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1deg)}}
.crumb{position:absolute;z-index:3;top:-10%;width:var(--s,10px);height:var(--s,10px);border-radius:40% 60% 55% 45%;background:var(--c,#7a9a3a);opacity:0}
.drop.in .crumb{animation:crumb var(--t,4s) linear var(--d,0s) infinite}
@keyframes crumb{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(46rem) rotate(540deg);opacity:0}}
.c1{left:18%;--s:12px;--c:#5f8a2c;--t:4.2s;--d:.4s}
.c2{left:32%;--s:8px;--c:#d8a54a;--t:3.6s;--d:1.6s}
.c3{left:66%;--s:14px;--c:#c8143a;--t:4.8s;--d:.9s;border-radius:50%}
.c4{left:78%;--s:9px;--c:#e9c46a;--t:3.9s;--d:2.4s}
.c5{left:50%;--s:7px;--c:#4a7a2a;--t:5.2s;--d:3s}
.c6{left:86%;--s:11px;--c:#f2e2b8;--t:4.4s;--d:.1s;border-radius:2px}
@media (max-width:900px){
  .order__grid{grid-template-columns:1fr}
  .o1{right:0;top:-2.5rem}.o2{display:none}
  .drop{min-height:30rem}
}
.order__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem}
.order h2{font-size:clamp(3rem,9vw,7.5rem);max-width:14ch}
.order__btns{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin:.5rem 0}
.order .btn--fire{background:var(--ink);color:var(--sun)}
.services{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.service{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;text-transform:uppercase;padding:.4em 1em;border-radius:999px;border:1.5px solid var(--ink)}
.service.on::before{content:"✓"}
.service.off{opacity:.4;text-decoration:line-through}
.platforms{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.platform{height:2.75rem;display:inline-flex;align-items:center;padding:0 1.3rem;border-radius:999px;background:var(--cream);font-weight:500}
.soon{font-size:.85rem;font-style:italic}

/* FAQ — kaarten zoals in de video */
.faq__in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.faq__head h2{font-size:clamp(3rem,6.5vw,6rem)}
.faq__head .muted{margin-top:1rem;font-size:1.1rem}
.faq__foot{margin-top:1.25rem}
.faq__list{display:flex;flex-direction:column;gap:.6rem}
.faq__item{background:var(--paper);border-radius:var(--r);padding:0 1.5rem;transition:background .3s}
.faq__item[open]{background:var(--crimson);color:var(--cream)}
.faq__item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;cursor:pointer}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item h3{font-size:1.1rem;font-weight:500;text-transform:uppercase;letter-spacing:.01em}
.faq__item summary svg{width:2.2rem;height:2.2rem;padding:.55rem;border-radius:50%;background:var(--cream);color:var(--ink);transition:transform .4s var(--ease),background .3s}
.faq__item[open] summary svg{transform:rotate(180deg);background:var(--sun)}
.faq__item p{padding:0 3rem 1.4rem 0;color:inherit;opacity:.9}
.faq__item::details-content{block-size:0;overflow:hidden;transition:block-size .4s var(--ease),content-visibility .4s allow-discrete}
.faq__item[open]::details-content{block-size:auto}
@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:1rem}
.contact__info,.hours{background:var(--cream);border-radius:var(--r);padding:2rem}
.info+.info{margin-top:1.25rem}
.info h3,.hours h3{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.hours table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}
.hours td{padding:.55rem 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;color:var(--ink-2)}
.hours tr.today td{font-weight:700}
.hours tr.today td:first-child::before{content:"● ";color:var(--crimson)}
.map{border-radius:var(--r);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.25rem;padding:2rem 1rem;background:var(--crimson)}
.map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:var(--r)}
.map .btn--line{color:var(--cream)}
.map .btn--line:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

/* Locatiekaart */
.lmap{--rx:0deg;--ry:0deg;position:relative;perspective:1000px;cursor:pointer;user-select:none;outline-offset:6px;border-radius:18px}
.lmap__card{position:relative;overflow:hidden;width:240px;height:140px;max-width:calc(100vw - 64px);border-radius:18px;background:var(--paper);color:var(--ink);
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;box-shadow:0 24px 40px -20px rgba(60,0,10,.55);
  transition:width .5s cubic-bezier(.3,1.3,.5,1),height .5s cubic-bezier(.3,1.3,.5,1),transform .25s ease-out}
.lmap.is-open .lmap__card{width:360px;height:280px}
.lmap__grid{position:absolute;inset:0;opacity:.08;transition:opacity .3s;background-image:linear-gradient(var(--ink) 1px,transparent 1px),linear-gradient(90deg,var(--ink) 1px,transparent 1px);background-size:20px 20px}
.lmap.is-open .lmap__grid{opacity:0}
.lmap__city{position:absolute;inset:0;opacity:0;transition:opacity .4s .1s;pointer-events:none;background:var(--cream-2)}
.lmap__city::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--paper),transparent 60%);opacity:.9}
.lmap.is-open .lmap__city{opacity:1}
.lmap__city svg:not(.lmap__pin){position:absolute;inset:0;width:100%;height:100%}
.lmap__city line{stroke:var(--ink);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--d,0s)}
.lmap__city .r1{stroke-opacity:.2;stroke-width:4}.lmap__city .r2{stroke-opacity:.15;stroke-width:3}.lmap__city .r3{stroke-opacity:.08;stroke-width:1.5}
.lmap.is-open .lmap__city line{stroke-dashoffset:0;transition-delay:calc(var(--d,0s) + .2s)}
.lmap__city i{position:absolute;border-radius:3px;background:rgba(200,20,58,.14);border:1px solid rgba(200,20,58,.22);opacity:0;transform:scale(.8);transition:opacity .4s,transform .4s}
.lmap.is-open .lmap__city i{opacity:1;transform:none;transition-delay:var(--d)}
.lmap__pin{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;stroke:none;filter:drop-shadow(0 4px 8px rgba(200,20,58,.4));transform:translateY(-20px) scale(0);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.lmap__pin path{fill:var(--crimson)}.lmap__pin circle{fill:var(--paper)}
.lmap.is-open .lmap__pin{transform:none;transition-delay:.3s}
.lmap__body{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px}
.lmap__top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.lmap__icon{width:18px;height:18px;color:var(--crimson);stroke-width:2;transition:opacity .3s}
.lmap.is-open .lmap__icon{opacity:0}
.lmap__live{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--cream);font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;max-width:150px;transition:transform .2s}
.lmap__live .status-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lmap:hover .lmap__live{transform:scale(1.05)}
.lmap__name{font-family:var(--serif);font-weight:400;font-size:1.15rem;line-height:1.1;transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.lmap:hover .lmap__name{transform:translateX(4px)}
.lmap__coords{font:.7rem/1.5 ui-monospace,Consolas,monospace;color:var(--muted);max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);transition:max-height .25s,opacity .25s,transform .25s}
.lmap.is-open .lmap__coords{max-height:3em;opacity:1;transform:none;margin-top:4px}
.lmap__line{display:block;height:1.5px;margin-top:6px;background:linear-gradient(90deg,var(--crimson),transparent);transform:scaleX(.3);transform-origin:left;transition:transform .4s ease-out}
.lmap:hover .lmap__line,.lmap.is-open .lmap__line{transform:none}
.lmap__hint{position:absolute;left:50%;bottom:-24px;transform:translate(-50%,4px);font-size:.7rem;color:var(--cream);white-space:nowrap;opacity:0;transition:.2s}
.lmap:hover:not(.is-open) .lmap__hint{opacity:1;transform:translate(-50%,0)}

/* Footer — zoals sweetgreen: band, kolommen, groot merk */
.footer{background:var(--blush);padding-bottom:0;overflow:hidden;border-radius:calc(var(--r) + 8px) calc(var(--r) + 8px) 0 0;margin-top:1rem}
.footer__ticker{overflow:hidden;white-space:nowrap;padding:1rem 0;border-bottom:1px solid var(--line)}
.footer__ticker .ticker__track{animation-duration:40s;gap:1.25rem;padding-right:1.25rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:2rem;padding-top:2.5rem;padding-bottom:2.5rem}
.footer__cols h4{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;margin-bottom:1rem}
.footer__cols a,.footer__cols p{display:block;font-size:.92rem;line-height:1.9}
.footer__cols a:hover{color:var(--crimson)}
.footer__legal{text-align:right;font-size:.82rem!important;line-height:1.5!important}
.socials{display:flex;gap:.5rem}
.socials a{width:2.5rem;height:2.5rem;border-radius:50%;display:grid!important;place-items:center;background:var(--cream);transition:background .25s,color .25s}
.socials a:hover{background:var(--ink);color:var(--cream)!important}
.footer__mark{font-family:var(--serif);font-size:clamp(5rem,21vw,20rem);line-height:.78;letter-spacing:-.05em;color:var(--crimson);text-align:center;white-space:nowrap;margin-bottom:-.12em;padding-bottom:5.5rem}

/* Mandje */
.fab{position:fixed;right:24px;bottom:24px;z-index:90;width:3.75rem;height:3.75rem;border-radius:50%;background:var(--ink);color:var(--sun);display:grid;place-items:center;transform:scale(0);transition:transform .4s var(--ease)}
.fab.show{transform:scale(1)}
.fab svg{width:24px;height:24px}
.fab b{position:absolute;top:-2px;right:-2px;background:var(--sun);color:var(--ink);font-size:.72rem;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center}
.fab.bump{animation:bump .4s}
@keyframes bump{50%{transform:scale(1.15)}}
.cart{position:fixed;inset:0;z-index:150;background:rgba(42,15,11,.45);opacity:0;pointer-events:none;transition:opacity .3s}
.cart.open{opacity:1;pointer-events:auto}
.cart__panel{position:absolute;right:0;top:0;bottom:0;width:min(440px,100%);background:var(--cream);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .5s var(--ease)}
.cart.open .cart__panel{transform:none}
.cart__head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}
.cart__head h2{font-size:2.6rem;margin:0}
.x{font-size:2rem;line-height:1;width:44px;height:44px}
.cart__list{list-style:none;flex:1;overflow:auto;padding:12px 24px}
.cart__list li{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart__list .nm{flex:1;font-size:.95rem;text-transform:uppercase}
.cart__list .pr{min-width:64px;text-align:right;font-variant-numeric:tabular-nums}
.qty{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:999px}
.qty button{width:32px;height:32px;font-size:1.1rem}
.qty span{min-width:20px;text-align:center;font-weight:600}
.cart__empty{color:var(--muted);padding:30px 0;text-align:center;border:0!important;display:block!important}
.cart__foot{padding:18px 24px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.cart__foot textarea{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:12px;color:inherit;font:inherit;padding:10px 12px;resize:none}
.cart__total{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:600}
.seg{border:0;display:flex;gap:8px;flex-wrap:wrap}
.seg legend{font-size:.85rem;color:var(--muted);margin-bottom:6px;width:100%}
.seg label{flex:1}
.seg input{position:absolute;opacity:0}
.seg span{display:block;text-align:center;padding:.6em;border-radius:999px;border:1.5px solid var(--ink);font-size:.88rem;text-transform:uppercase;cursor:pointer}
.seg input:checked+span{background:var(--ink);color:var(--sun)}
.seg input:focus-visible+span{outline:2px solid var(--crimson)}
#cartClear{align-self:center;background:none}
.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);background:var(--ink);color:var(--sun);padding:10px 18px;border-radius:999px;font-weight:500;font-size:.9rem;opacity:0;pointer-events:none;transition:.3s var(--ease);z-index:160}
.toast.show{opacity:1;transform:translate(-50%,0)}
.mbar{display:none}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}

.logo{margin-inline:1.5rem}
@media (max-width:1240px){.nav--r{display:none}}
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .offers{grid-template-columns:1fr 1fr}.offer--hot{grid-column:1/-1}
  .contact{grid-template-columns:1fr 1fr}.map{grid-column:1/-1}
  .facts{grid-template-columns:repeat(3,1fr)}
  .facts__lead{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line)}
  .footer__cols{grid-template-columns:repeat(2,1fr)}
  .footer__legal{grid-column:1/-1;text-align:left}
}
@media (max-width:900px){
  .header__in{grid-template-columns:auto 1fr;height:4.5rem}
  .nav,.hdr-order{display:none!important}
  .logo{grid-column:1;grid-row:1}
  .header__right{grid-column:2}
  .mbtn{display:flex}
  .stage{min-height:auto}
  .stage__in{padding:7rem 1rem 6rem}
  .s1{left:-3%;top:4%}.s2{right:-2%;top:3%}.s3{left:-4%;bottom:12%}.s4{right:-5%;bottom:10%}.s5{display:none}
  .about,.faq__in,.reviews{grid-template-columns:1fr}
  .fab{display:none}
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:90;gap:10px}
  .mbar__btn{width:56px;height:56px;border-radius:999px;background:var(--cream);border:1.5px solid var(--ink);display:grid;place-items:center}
  .mbar__btn svg{width:22px;height:22px}
  .mbar__cart{flex:1;border-radius:999px;background:var(--ink);color:var(--sun);font-weight:500;text-transform:uppercase}
  .toast{bottom:84px}
}
@media (max-width:620px){
  .grid,.offers,.contact{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .facts>div+div{border-left:0;border-top:1px solid var(--line)}
  .facts>div{padding:.85rem 1.2rem;display:flex;justify-content:space-between;gap:1rem}
  .facts dd{margin:0;text-align:right}
  .facts__lead dd{text-align:left}
  .lang button{width:1.75rem}
  .chips{gap:.1rem 1rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.stage__in>*,.dish{opacity:1;transform:none}
}

/* ============================================================
   v21 — Promo-carrousel · broodbanner · aanbiedingen uit data
   ============================================================ */
#promos[hidden],#bread[hidden],#aanbiedingen[hidden]{display:none!important}

/* Carrousel (bovenaan, onder de header) */
.promos{padding:0 clamp(.5rem,1.2vw,1rem) clamp(.5rem,1.2vw,1rem)}
.promos:focus{outline:none}
.promos__vp{position:relative;overflow:hidden;border-radius:calc(var(--r) + 8px);background:var(--crimson-d);touch-action:pan-y;isolation:isolate}
.promos__track{display:flex;transition:transform .7s var(--kin);will-change:transform}
.pslide{position:relative;flex:0 0 100%;min-width:0;min-height:clamp(21rem,40vw,28rem);display:flex;align-items:center;color:var(--cream);overflow:hidden;
  background:radial-gradient(70% 70% at 30% 50%,#E01E48 0%,var(--crimson) 55%,var(--crimson-d) 100%)}
.pslide__img,.pslide__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pslide__art{stroke:none}
.pslide__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,15,11,.88) 0%,rgba(42,15,11,.62) 38%,rgba(42,15,11,0) 72%)}
.pslide--noimg .pslide__shade{display:none}
.pslide__body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;max-width:min(40rem,100%);padding:clamp(1.5rem,4.5vw,4.5rem) clamp(1.25rem,4.5vw,4.5rem) clamp(4.5rem,6vw,5.5rem)}
.pslide__tag{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.pslide__title{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;line-height:.88;letter-spacing:-.01em;font-size:clamp(2.5rem,7.2vw,5.75rem);overflow-wrap:anywhere;text-wrap:balance}
.pslide__text{font-size:clamp(1rem,1.6vw,1.2rem);max-width:30rem;color:rgba(244,239,227,.92)}
.pslide__row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.25rem;margin-top:.35rem}
.pslide__big{display:inline-block;background:var(--sun);color:var(--ink);border-radius:999px;padding:.12em .55em .16em;font-weight:900;font-variation-settings:"wdth" 62;font-size:clamp(2rem,5vw,3.4rem);line-height:1;rotate:-4deg;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.pslide .btn--sun:hover{background:var(--cream)}
.pslide--newproduct .pslide__tag{background:var(--sun);color:var(--ink);padding:.2rem .6rem;border-radius:999px}
.promos__ctl{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem clamp(.75rem,2vw,1.5rem);pointer-events:none}
.promos__ctl>*{pointer-events:auto}
.promos__dots{display:flex;align-items:center}
.promos__dot{width:1.9rem;height:2.75rem;display:grid;place-items:center}
.promos__dot::before{content:"";width:.7rem;height:.7rem;border-radius:999px;background:rgba(244,239,227,.5);transition:width .35s var(--ease),background-color .3s}
.promos__dot[aria-current="true"]::before{width:2rem;background:var(--sun)}
.promos__prev,.promos__next,.promos__pp{width:2.75rem;height:2.75rem;border-radius:999px;background:var(--cream);color:var(--ink);display:grid;place-items:center;transition:background-color .25s,transform .25s}
.promos__prev:hover,.promos__next:hover,.promos__pp:hover{background:var(--sun)}
.promos__prev:active,.promos__next:active{transform:scale(.94)}
.promos__arrows{display:flex;gap:.5rem}
.promos__pp .i-play,.promos__pp[aria-pressed="true"] .i-pause{display:none}
.promos__pp[aria-pressed="true"] .i-play{display:block}
.promos .promos__ctl :focus-visible{outline:2px solid var(--sun);outline-offset:3px}
.pslide :focus-visible{outline-color:var(--sun)}
@media (max-width:700px){
  .pslide{min-height:26rem;align-items:flex-end}
  .pslide__shade{background:linear-gradient(0deg,rgba(42,15,11,.94) 0%,rgba(42,15,11,.72) 48%,rgba(42,15,11,.1) 100%)}
  .pslide__body{padding-top:9rem}
  .promos__prev,.promos__next{display:none}
  .promos__ctl{justify-content:space-between}
}

/* Broodbanner (lichtkrant met media) */
.bread{background:var(--ink);color:var(--cream);overflow:hidden;padding:clamp(.8rem,1.6vw,1.2rem) 0;white-space:nowrap}
.bread__track{display:flex;width:max-content;animation:bread-l var(--bread-dur,34s) linear infinite}
.bread__track--ltr{animation-name:bread-r}
@keyframes bread-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bread-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.bread:hover .bread__track{animation-play-state:paused}
.bread__group{flex:none;display:flex;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,3rem);padding-right:clamp(1.25rem,3vw,3rem);min-width:max(100vw,64rem)}
.bread__media{flex:none;height:clamp(6rem,15vw,9.5rem);aspect-ratio:16/9;overflow:hidden;border-radius:calc(var(--r) - 4px);background:#4a2a22}
.bread__media img,.bread__media video{width:100%;height:100%;object-fit:cover}
.bread__media--art{aspect-ratio:260/170;background:none;border-radius:0}
.bread__art{width:100%;height:100%;stroke:none}
.bread__title{font-weight:800;font-variation-settings:"wdth" 75;text-transform:uppercase;line-height:.9;font-size:clamp(2rem,4.6vw,3.8rem);letter-spacing:.01em;color:var(--sun)}
.bread__text{font-family:"Instrument Serif",var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,3.6vw,3rem);line-height:1;letter-spacing:-.01em;color:var(--cream)}
.bread__loaf{flex:none;width:clamp(4.5rem,9vw,7rem);aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--cream);box-shadow:0 10px 24px -10px rgba(0,0,0,.6);margin:0}
.bread__loaf img{width:100%;height:100%;object-fit:cover}
.bread__media{box-shadow:0 12px 28px -14px rgba(0,0,0,.7)}
.bread__sep{font-style:normal;color:var(--flame);font-size:clamp(1.2rem,2.5vw,2rem)}
@media (prefers-reduced-motion:reduce){
  .bread__track{animation:none!important;width:100%}
  .bread__group[aria-hidden="true"]{display:none}
  .bread__group{min-width:0;width:100%;flex-wrap:wrap;justify-content:center;padding:0 1rem;white-space:normal;text-align:center}
  .promos__track{transition:none}
}

/* Aanbiedingen uit data: willekeurig aantal kaarten */
.offers--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.offers--auto .offer--hot{grid-column:auto}
.offer h3{overflow-wrap:anywhere}

/* v21 — smalle schermen: menuknop paste niet naast het logo (7px te breed op 360px) */
@media (max-width:900px){.logo{margin-inline:0}.header__right{gap:.6rem;min-width:0}}
@media (max-width:420px){.lang button{width:1.6rem;height:1.9rem}.mbtn{padding:0 .75rem 0 .9rem}}
html{overflow-x:clip}

/* v21 — toestemmingsbanner + juridische pagina */
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:400;max-width:34rem;background:var(--cream);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r);padding:1rem 1.1rem;box-shadow:0 18px 40px -16px rgba(42,15,11,.5);display:flex;flex-direction:column;gap:.5rem}
@media(min-width:900px){.consent{left:1.25rem;right:auto;bottom:1.25rem}}
.consent__title{font-weight:700}.consent__text{font-size:.9rem;color:var(--ink-2)}
.consent__btns{display:flex;gap:.6rem;flex-wrap:wrap}.consent__btns .btn{flex:1 1 8rem}
.footer__links{white-space:normal}
.legal{max-width:52rem;margin:0 auto;padding:3rem clamp(1rem,4vw,2rem) 6rem}
.legal h1{font-size:clamp(2.6rem,8vw,5rem);margin-bottom:1rem}
.legal h2{font-size:clamp(1.6rem,4vw,2.2rem);margin:2.5rem 0 .75rem;line-height:1}
.legal h3{margin:1.4rem 0 .4rem;font-size:1.1rem;font-weight:600}
.legal p,.legal li{margin:.5rem 0;color:var(--ink-2)}
.legal ul{padding-left:1.25rem}
.legal .todo{background:#ffe8a8;border-radius:6px;padding:0 .35rem;font-weight:500;color:var(--ink)}
.legal .note{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem;font-size:.9rem}
.legal__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
@media (max-width:420px){.logo__txt{font-size:1.4rem;white-space:nowrap}.logo{flex:none}.header__right{gap:.4rem}.header__in{padding-inline:.85rem}}
@media (max-width:350px){.logo__txt{font-size:1.1rem}.lang button{width:1.4rem}.mbtn{padding:0 .6rem 0 .7rem;gap:6px}}

/* ===== Online bestellen (js/checkout.js) — v24 ===== */
.cart__or{display:flex;align-items:center;gap:.75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cart__or::before,.cart__or::after{content:"";flex:1;height:1px;background:var(--line)}
.row__add.is-sold{opacity:.55;cursor:not-allowed;text-decoration:line-through}
.checkout .composer__steps{padding-bottom:.5rem}
.co-intro{font-size:.92rem;color:var(--ink-2);padding-top:1rem}
.co-warn{margin-top:.75rem;background:#fbe6e9;color:var(--crimson-d);border-radius:12px;padding:.55rem .8rem;font-size:.9rem;font-weight:500}
.co-muted{font-size:.88rem;color:var(--muted)}
.co-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.co-f{display:flex;flex-direction:column;gap:.3rem;min-width:0;font-size:.82rem;font-weight:500;grid-column:span 2}
@media(min-width:560px){.co-f{grid-column:span 1}.co-f--wide{grid-column:span 2}}
.co-f--s{grid-column:span 1}
.co-f input,.co-f select,.co-slot select{width:100%;font:inherit;font-size:1rem;min-height:2.9rem;padding:.5rem .85rem;border:1.5px solid rgba(42,15,11,.25);border-radius:12px;background:var(--paper);color:var(--ink)}
.co-f input:focus-visible,.co-f select:focus-visible,.co-slot select:focus-visible{outline:2px solid var(--crimson);outline-offset:1px;border-color:var(--crimson)}
.co-f.is-bad input,.co-f.is-bad select{border-color:var(--crimson);background:#fdf0f2}
.co-f.is-bad span{color:var(--crimson-d)}
.co-slot span{height:auto!important;min-height:2.6rem;flex-wrap:wrap;padding-block:.3rem!important}
.co-slot select{width:auto;min-height:2.2rem;padding:.2rem .5rem;border-radius:999px;font-size:.9rem}
.copt input:checked+span select{background:var(--paper);color:var(--ink)}
.co-sum{list-style:none;margin-top:1rem;border-top:1px solid var(--line)}
.co-sum li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.92rem}
.co-sum li span{min-width:0;overflow-wrap:anywhere}
.co-sum small{display:block;font-size:.76rem;color:var(--muted)}
.co-sum b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.co-sum .is-sold span{text-decoration:line-through;color:var(--crimson-d)}
.co-sub{color:var(--ink-2)}
.co-err{color:var(--crimson-d);font-weight:500;min-height:1.4em;margin-top:.6rem;font-size:.92rem}
.checkout .composer__foot .btn{flex:1 1 14rem}
.checkout .composer__foot .btn[disabled]{opacity:.55}
.checkout .composer__foot .btn{white-space:normal;height:auto;min-height:3.25rem;padding:.6rem 1.25rem;text-align:center;line-height:1.2}
@media(max-width:520px){.checkout .composer__head,.checkout .composer__steps,.checkout .composer__foot{padding-inline:1.1rem}.checkout .composer__foot .btn{font-size:.9rem}}
.footer__company{grid-column:1/-1;font-size:.82rem;color:var(--muted);line-height:1.6}
.footer__company strong{color:var(--ink);font-weight:600}
.footer__company+.footer__legal{grid-column:1/-1;text-align:left}
.co-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.co-terms{font-size:.82rem;color:var(--ink-2);margin-top:.75rem}

/* ===== Openingsvideo (js/intro.js) ===== */
.intro{padding:0 clamp(.5rem,1.2vw,1rem) clamp(.5rem,1.2vw,1rem)}
.intro{--h:calc(100svh - 5.25rem - clamp(.5rem,1.2vw,1rem))}
.intro>*{grid-area:1/1}
.intro{display:grid}
.intro__media,.intro__shade,.intro__in,.intro__ctrl{grid-area:1/1}
.intro__media{position:relative;height:var(--h);min-height:30rem;max-height:60rem;border-radius:calc(var(--r) + 8px);overflow:hidden;background:#1b0d0a}
.intro__poster img,.intro__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro__video{opacity:0;transition:opacity .8s ease}
.intro.is-playing .intro__video{opacity:1}
.intro__shade{pointer-events:none;border-radius:calc(var(--r) + 8px);background:linear-gradient(180deg,rgba(20,7,5,.35) 0%,rgba(20,7,5,0) 30%,rgba(20,7,5,.15) 55%,rgba(20,7,5,.85) 100%),linear-gradient(90deg,rgba(20,7,5,.55) 0%,rgba(20,7,5,0) 60%)}
.intro__in{align-self:end;position:relative;z-index:1;padding:clamp(1.25rem,4vw,3.5rem);max-width:46rem;color:var(--cream)}
.intro__eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.intro__title{font-size:clamp(3rem,min(10vw,14svh),8.5rem);line-height:.84;margin:.35rem 0 .9rem;color:var(--cream);text-shadow:0 2px 24px rgba(0,0,0,.35)}
.intro__title em{color:var(--sun)}
.intro__text{font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.5;max-width:36rem;color:#FBF1E4;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.intro__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem}
.intro__more{color:var(--cream);font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:2.75rem;display:inline-flex;align-items:center}
.intro__more:hover{color:var(--sun)}
.intro__ctrl{align-self:end;justify-self:end;display:flex;gap:.5rem;padding:clamp(1rem,3vw,2.25rem);position:relative;z-index:2}
.intro__btn{width:2.9rem;height:2.9rem;border-radius:50%;display:grid;place-items:center;background:rgba(20,7,5,.55);color:var(--cream);border:1px solid rgba(255,241,220,.35);backdrop-filter:blur(6px);transition:background .2s}
.intro__btn:hover{background:rgba(20,7,5,.8)}
.intro__btn:focus-visible{outline:2px solid var(--sun);outline-offset:3px}
.intro__btn svg{width:1.15rem;height:1.15rem}
.intro__btn .i-play{display:none;fill:currentColor;stroke:none}
.intro__btn.is-paused .i-pause{display:none}
.intro__btn.is-paused .i-play{display:inline}
.intro__btn .i-on{display:none}
.intro__btn.is-on .i-on{display:inline}
.intro__btn.is-on .i-off{display:none}
.intro.is-failed .intro__ctrl{display:none}
@media(max-width:700px){
  .intro__media{min-height:28rem}
  .intro__in{padding-bottom:5.25rem}
  .intro__ctrl{padding:1rem}
  .intro__cta .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){.intro__video{transition:none}}
/* lisibilité renforcée + contrôles hors de la barre mobile */
.intro__shade{background:linear-gradient(180deg,rgba(20,7,5,.35) 0%,rgba(20,7,5,.05) 28%,rgba(20,7,5,.25) 55%,rgba(20,7,5,.9) 100%),linear-gradient(90deg,rgba(20,7,5,.78) 0%,rgba(20,7,5,.45) 45%,rgba(20,7,5,0) 75%)}
@media(max-width:860px){
  .intro__ctrl{align-self:start;padding:.85rem}
  .intro__shade{background:linear-gradient(180deg,rgba(20,7,5,.45) 0%,rgba(20,7,5,.1) 25%,rgba(20,7,5,.35) 50%,rgba(20,7,5,.92) 100%)}
}
@media(min-width:861px){.intro__shade{background:linear-gradient(180deg,rgba(20,7,5,.3) 0%,rgba(20,7,5,0) 25%,rgba(20,7,5,.2) 55%,rgba(20,7,5,.85) 100%),linear-gradient(90deg,rgba(20,7,5,.9) 0%,rgba(20,7,5,.72) 38%,rgba(20,7,5,.2) 62%,rgba(20,7,5,0) 80%)}}
.intro__eyebrow{text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 14px rgba(0,0,0,.6)}
.intro__shade{position:relative;z-index:1}.intro__in{z-index:2}.intro__ctrl{z-index:3}

/* ===== Menukaart: categorienavigatie (scrollt naar de categorie, niets wordt verborgen) ===== */
.menu-tools{position:sticky;top:var(--hdr,72px);z-index:30;background:var(--cream);margin:0 calc(50% - 50vw) 2.5rem;padding:.7rem max(16px,calc(50vw - 36rem)) .8rem;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:center}
.menu-tools .search{height:2.5rem;width:min(20rem,100%);order:2}
.chips{flex:1 1 100%;order:1;flex-wrap:nowrap;justify-content:flex-start;gap:.4rem;overflow-x:auto;scrollbar-width:none;max-width:none;padding:.15rem 0;-webkit-mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 28px),transparent)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;font-family:var(--sans);font-size:.92rem;font-weight:500;letter-spacing:0;text-transform:uppercase;color:var(--ink);padding:.55rem 1rem;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);line-height:1.1;transition:background .2s,color .2s,border-color .2s}
.chip:first-child{margin-left:14px}.chip:last-child{margin-right:28px}
.chip:hover{color:var(--ink);border-color:var(--ink)}
.chip[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--sun)}
.chip[aria-current=true]::after{display:none}
.chip--byob{border-color:var(--flame);color:var(--flame)}
.chip--byob[aria-current=true]{background:var(--flame);border-color:var(--flame);color:#fff}
.chip:focus-visible{outline:2px solid var(--crimson);outline-offset:2px}
.mcat{scroll-margin-top:calc(var(--hdr,72px) + 7rem)}
.mcat__desc{margin-top:.9rem;max-width:52rem;font-size:.95rem;line-height:1.5;color:var(--ink-2);white-space:pre-line}
@media (min-width:821px){.menu-tools{flex-wrap:nowrap}.chips{flex:1 1 auto}.menu-tools .search{flex:none;width:15rem}}

/* rijen met foto */
.row--img{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:1rem 1.1rem;align-items:start}
.row__img{width:104px;height:78px;object-fit:cover;border-radius:12px;background:var(--cream-2)}
.row__desc{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row__price small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:.15rem}
.tag--vegan{color:var(--ok)}.tag--new{background:var(--sun);border-color:var(--sun)}.tag--popular{color:var(--crimson)}
@media (max-width:520px){.row--img{grid-template-columns:76px minmax(0,1fr)}.row--img .row__img{width:76px;height:64px}.row--img .row__side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;width:100%}}

/* keuzevenster: foto + allergenen */
.composer__img{display:block;width:100%;height:auto;max-height:260px;object-fit:cover;border-radius:14px;margin-top:1rem}
.composer__desc{white-space:pre-line}
.allergens{margin:1rem 0 .25rem;padding:.8rem 1rem;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-size:.86rem;line-height:1.45;color:var(--ink-2)}
.allergens b{color:var(--ink);margin-right:.25rem}
.allergens small{display:block;margin-top:.3rem;color:var(--muted);white-space:pre-line}
#composeAdd[disabled]{opacity:.5;cursor:not-allowed}

/* ===== Build Your Own Burger: kaart in het menu ===== */
.mcat--byob{scroll-margin-top:calc(var(--hdr,72px) + 6rem)}
.byob-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.5rem,4vw,3rem);border-radius:calc(var(--r) + 6px);background:radial-gradient(120% 90% at 20% 110%,rgba(255,90,31,.55),transparent 60%),radial-gradient(80% 70% at 100% 0,rgba(200,20,58,.45),transparent 60%),#1B0906;color:var(--cream);overflow:hidden;isolation:isolate}
.byob-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px);z-index:-1}
.byob-card__art{max-width:380px;justify-self:center;width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.byob-card__art .bb-svg{width:100%;height:auto;display:block}
.byob-card__eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.byob-card h3{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:.86;margin:.4rem 0 .8rem;color:#fff}
.byob-card p{max-width:30rem;color:rgba(251,248,241,.85)}
.byob-card__ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.byob-card__ctas .btn small{font-size:.75rem;text-transform:none;letter-spacing:0;opacity:.75;font-weight:500}
.byob-card__ctas .btn:hover{background:var(--flame);color:#fff}
@media (max-width:720px){.byob-card{grid-template-columns:1fr;text-align:center}.byob-card__art{max-width:240px}.byob-card p{margin-inline:auto}.byob-card__ctas{justify-content:center}.byob-card__ctas .btn{width:100%;height:auto;min-height:3.6rem;flex-wrap:wrap;padding:.6rem 1.2rem}}

/* ===== Build Your Own Burger: venster ===== */
.bb{margin:auto;border:0;padding:0;width:min(1040px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:calc(var(--r) + 6px);background:#1B0906;color:var(--cream);overflow:hidden}
.bb::backdrop{background:rgba(20,6,4,.72);backdrop-filter:blur(3px)}
.bb__in{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
.bb__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.6rem .4rem}
.bb__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--flame)}
.bb__head h2{font-weight:900;font-variation-settings:"wdth" 62;text-transform:uppercase;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:.9;color:#fff}
.bb__x{width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid rgba(255,241,220,.3);color:#fff;font-size:1.5rem;line-height:1;flex:none}
.bb__x:hover{background:#fff;color:var(--ink)}
.bb__steps{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;list-style:none;margin:0;padding:.6rem 1.6rem .8rem}
.bb__steps::-webkit-scrollbar{display:none}
.bb__steps button{flex:none;white-space:nowrap;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:.45rem .85rem;border-radius:999px;border:1.5px solid rgba(255,241,220,.18);color:rgba(251,248,241,.7)}
.bb__steps button.is-done{border-color:rgba(255,90,31,.6);color:var(--cream)}
.bb__steps button[aria-current=step]{background:var(--flame);border-color:var(--flame);color:#fff}
.bb__steps button:focus-visible,.bb__opt input:focus-visible+span,.bb__edit:focus-visible,.bb__x:focus-visible{outline:2px solid var(--sun);outline-offset:2px}
.bb__body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-content:start;gap:1.5rem;padding:0 1.6rem;overflow:auto;min-height:0;flex:1}
.bb__stage{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;align-items:center;padding:1rem 0;background:radial-gradient(60% 55% at 50% 60%,rgba(255,90,31,.35),transparent 70%)}
.bb-svg{width:100%;max-width:400px;height:auto;display:block}
.bb__price{font-weight:900;font-variation-settings:"wdth" 62;font-size:2rem;color:var(--sun);font-variant-numeric:tabular-nums}
.bb__panel{border:0;margin:0;padding:.5rem 0 1.5rem;min-width:0}
.bb__panel legend{display:flex;flex-direction:column;gap:.2rem;font-family:var(--serif);font-size:1.9rem;letter-spacing:-.02em;color:#fff;margin-bottom:1rem;line-height:1.05}
.bb__panel legend span{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--flame)}
.bb__panel legend small{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(251,248,241,.6)}
.bb__opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.6rem}
.bb__opt{position:relative}
.bb__opt input{position:absolute;opacity:0;pointer-events:none}
.bb__opt span{display:flex;flex-direction:column;gap:.2rem;min-height:4.2rem;padding:.8rem 2.2rem .8rem 1rem;border-radius:14px;border:1.5px solid rgba(255,241,220,.18);background:rgba(255,255,255,.04);cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.bb__opt span b{font-weight:600;font-size:.98rem;line-height:1.25;color:#fff}
.bb__opt span em{font-style:normal;font-size:.82rem;color:rgba(251,248,241,.6)}
.bb__opt span:hover{border-color:rgba(255,241,220,.5)}
.bb__opt input:checked+span{border-color:var(--flame);background:rgba(255,90,31,.16)}
.bb__opt input:checked+span em{color:var(--sun)}
.bb__opt input:checked+span::after{content:"\2713";position:absolute;top:.6rem;right:.75rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--flame);color:#fff;font-size:.8rem;display:grid;place-items:center}
.bb__opt input:disabled+span{opacity:.4;cursor:not-allowed}
.bb__opt:active span{transform:scale(.98)}
.bb__need{margin-top:.8rem;color:var(--sun);font-size:.9rem}
.bb__sum h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;color:#fff;margin-bottom:.6rem}
.bb__sum dl{margin:0}
.bb__sum dl>div{display:grid;grid-template-columns:8.5rem 1fr auto;gap:.6rem;padding:.75rem 0;border-bottom:1px solid rgba(255,241,220,.12);align-items:start}
.bb__sum dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(251,248,241,.6);padding-top:.15rem}
.bb__sum dd{margin:0;color:#fff;font-size:.95rem;line-height:1.45}
.bb__sum dd em{font-style:normal;color:var(--sun);font-size:.85rem}
.bb__edit{font-size:.8rem;text-decoration:underline;text-underline-offset:3px;color:rgba(251,248,241,.75)}
.bb .allergens{background:rgba(255,255,255,.05);border-color:rgba(255,241,220,.15);color:rgba(251,248,241,.8)}
.bb .allergens b{color:#fff}.bb .allergens small{color:rgba(251,248,241,.6)}
.bb__foot{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.6rem 1.2rem;border-top:1px solid rgba(255,241,220,.12);background:#140604}
.bb__total{margin-right:auto;display:flex;flex-direction:column;line-height:1.1}
.bb__total span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(251,248,241,.6)}
.bb__total b{font-size:1.5rem;font-variant-numeric:tabular-nums;color:#fff}
.bb__foot .btn--line{color:var(--cream)}
.bb__foot .btn--line:hover{background:var(--cream);color:var(--ink)}
.bb__foot .btn--sun:hover{background:var(--flame);color:#fff}
.bb__foot .btn[disabled]{opacity:.45;cursor:not-allowed}
.bb-l--in{animation:bbDrop .5s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i) * 25ms)}
@keyframes bbDrop{from{opacity:0;translate:0 -60px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce){.bb-l--in{animation:none}}
@media (max-width:760px){
  .bb{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0}
  .bb__in{max-height:100dvh;height:100%}
  .bb__head{padding:1rem 1rem .2rem}.bb__steps{padding:.5rem 1rem .6rem}
  .bb__body{grid-template-columns:1fr;gap:0;padding:0 1rem}
  .bb__stage{position:sticky;top:0;z-index:2;flex-direction:row;justify-content:center;gap:1rem;padding:.4rem 0;background:#1B0906;border-bottom:1px solid rgba(255,241,220,.1)}
  .bb__stage .bb-svg{max-width:150px}
  .bb__price{font-size:1.6rem}
  .bb__panel legend{font-size:1.5rem}
  .bb__opts{grid-template-columns:1fr 1fr}
  .bb__sum dl>div{grid-template-columns:1fr auto}.bb__sum dt{grid-column:1/-1}
  .bb__foot{padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}
  .bb__foot .btn--lg{flex:1;height:3.2rem;padding:0 1rem;font-size:.9rem}
}
@media (max-width:820px){
  .menu-tools{flex-wrap:nowrap;gap:.5rem}
  .menu-tools .chips{flex:1 1 auto;min-width:0}
  /* zoeken = icoon naast de categorieën; opent bij tikken (of zolang er iets ingevuld is) */
  .menu-tools .search{order:2;flex:none;width:2.75rem;height:2.6rem;padding:0 .8rem;overflow:hidden;transition:width .25s}
  .menu-tools .search input{width:0;min-width:0;opacity:0}
  .menu-tools .search:focus-within,.menu-tools .search:has(input:not(:placeholder-shown)){flex:1 1 100%;width:auto}
  .menu-tools .search:focus-within input,.menu-tools .search:has(input:not(:placeholder-shown)) input{width:100%;opacity:1}
  .menu-tools:has(.search:focus-within) .chips,.menu-tools:has(.search input:not(:placeholder-shown)) .chips{display:none}
}
/* foto van het ingrediënt (Menukaart → optiegroep → keuze → Foto) */
.bb__opt span.has-img{padding-top:.6rem}
.bb__opt span img{width:100%;height:5.5rem;object-fit:cover;border-radius:10px;margin-bottom:.35rem;background:rgba(255,255,255,.06)}

/* ===== taste-skill pass (29-10-2026) =====
   Huisregels: geen labels boven titels, geen kleurverlopen (behalve een neutrale scrim op een foto),
   geen schaduwen op dingen in rust, geen dunne scheidingslijnen, lopende tekst ≥ 16px, niets onder 13px. */

/* gesloten mandje: echt weg (het lag onzichtbaar over de hele pagina) */
.cart:not(.open){visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.cart.open{visibility:visible}

/* labels boven titels: weg — de info staat al in de titel of de tekst eronder */
.eyebrow,.intro__eyebrow,.stage__tag,.compose-cta__eyebrow,.byob-card__eyebrow,.bb__eyebrow,.pslide__tag{display:none !important}

/* kleurverlopen → vlakke kleur */
.stage,.pslide--promo{background:var(--crimson) !important}
.byob-card{background:#1B0906 !important}
.byob-card::before,.lmap__grid{display:none}
.lmap__city::after{background:var(--paper);opacity:.35}
.lmap__line{background:var(--crimson)}
.bb__stage{background:none}

/* schaduwen in rust → weg (een toonstap of ruimte scheidt) */
.sticker,.lmap,.bread__media,.pslide__big,.is-open .dot{box-shadow:none !important}
.intro__eyebrow,.intro__title,.intro__text{text-shadow:none !important}

/* scheidingslijnen → ruimte en toon */
.header,.header.is-solid{border-bottom:0}
.header.is-solid{background:var(--cream)}
.menu-tools{border-bottom:0;background:var(--paper)}
.mcat__head{border-bottom:0;padding-bottom:.4rem}
.mcat__rows{row-gap:.5rem;margin-top:1rem}
.row{border-bottom:0;padding:1rem;margin:0 -1rem;border-radius:16px;transition:background .2s}
.row:hover{background:var(--paper)}
.row__name .tag{border:0;background:var(--cream-2)}
.chip{border:0;background:var(--cream-2)}
.menu-tools .search{border:0;background:var(--cream-2)}

/* leesbare maten */
.row__desc,.mcat__desc,.composer__desc,.allergens{font-size:1rem}
.row__name .tag,.row__price small,.byob-card__ctas .btn small,.bb__steps button,.bb__opt span em,.bb__total span,.bb__panel legend span,.bb__panel legend small,.bb__sum dt,.bb__edit,.cstep legend small,.cstep__n{font-size:.8125rem}
.row__name .tag{text-transform:none;letter-spacing:0}

/* tekstmuur in de bestelsectie: een statement, geen titel */
.drop__wall{font-size:clamp(1.25rem,2.4vw,2.125rem) !important;line-height:1.25 !important;max-width:46rem}
/* kleine hoofdletterlabels → gewone zinsletters op leesbare maat */
.facts dt{font-size:.875rem;letter-spacing:0;text-transform:none;font-weight:600;color:var(--ink)}
.facts dd,.facts__lead dd{font-size:1rem;color:var(--ink)}
.facts>div+div{border-left:0}
@media (max-width:860px){.facts__lead{border-top:0 !important}}
.ticker .ticker__track,.footer__ticker .ticker__track{text-transform:none;letter-spacing:0;font-size:1rem}
.footer__ticker{border-bottom:0}
/* scrims op foto's: neutraal zwart */
.intro__shade{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.85) 100%) !important}
.pslide__shade{background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,0) 72%) !important}
@media (max-width:760px){.pslide__shade{background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 48%,rgba(0,0,0,.1) 100%) !important}}
.bread__loaf,.lmap__card{box-shadow:none !important}
/* contrast: oranje chip op crème */
.chip--byob{color:#A3360B}
/* lopende tekst in de volle inktkleur */
.row__desc,.mcat__desc,.composer__desc{color:var(--ink)}
/* dubbel met de Build Your Own Burger-kaart in het menu */
#menu .compose-cta{display:none}
/* broodbanner: niet tegen de schermrand */
.bread{padding-inline:16px}
/* laatste kleine labels en lijnen */
.facts>div+div{border-top:0 !important}
.lang button{font-size:.8125rem}
.promo-badge__txt,.mcat__head span,.row__add,.app__cta{font-size:.8125rem}
.app__cta{text-transform:none;letter-spacing:0}
.about__tag{display:none}
.stats span,.info h3,.status-txt{text-transform:none;letter-spacing:0;font-size:.9375rem}
.ticker__track i{font-size:1rem;font-style:normal}
/* gsm/tablet: broodbanner stil en binnen de marges; de woordenticker (decoratief) weg */
@media (max-width:860px){
  .ticker{display:none}
  .bread{white-space:normal;padding:1.25rem 16px}
  .bread__track{animation:none;width:auto}
  .bread__group{min-width:0;flex-wrap:wrap;justify-content:flex-start;gap:.75rem 1.25rem;padding:0}
  .bread__group+.bread__group,.bread__group[aria-hidden=true]{display:none}
}
.info h3,.hours caption,.hours th{text-transform:none;letter-spacing:0}
@media (max-width:860px){.bread__text{white-space:normal;font-size:1.5rem;flex:1 1 100%;min-width:0}.bread__group>*{max-width:100%}}
@media (max-width:860px){.bread__title{white-space:normal;font-size:clamp(1.8rem,8vw,2.6rem)}.bread__loaf{display:none}.mcat__desc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}}
@media (max-width:520px){.offer,.pslide__body{padding-inline:1.5rem}}
@media (max-width:520px){.promos{padding-inline:16px}}
@media (max-width:860px){.bread__track{display:block}.bread__group{width:100%}.bread__title,.bread__text{max-width:calc(100vw - 32px);overflow-wrap:anywhere}}
/* leveringsgebied */
.zones{margin-top:1.5rem;max-width:44rem}
.zones summary{cursor:pointer;font-weight:600;font-size:1.05rem;padding:.6rem 0}
.zones__list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.4rem 1.5rem}
.zones__list li{display:flex;flex-direction:column;padding:.45rem 0}
.zones__list b{font-weight:600}
.zones__list span{font-size:.9375rem;color:var(--ink-2)}
.zones{margin:1rem 0 1.5rem}
/* leveringsgebied: volle breedte onder de bestelknoppen, compacte labels */
.order__grid>.zones{grid-column:1/-1;margin:0;max-width:none}
.zones__list{display:flex;flex-wrap:wrap;gap:.5rem;grid-template-columns:none}
.zones__list li{flex-direction:row;align-items:baseline;gap:.5rem;padding:.5rem .85rem;border-radius:999px;background:rgba(42,15,11,.08)}
.zones__list span{font-size:.875rem}
.zones__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.15rem 2rem}
.zones__list li{padding:.35rem 0;border-radius:0;background:none}
.zones__note{margin-top:1rem;font-size:1rem}
