:root{
  --terra:#B4532F;--terra-d:#8F3E22;--cream:#FFF4E4;--bg:#EFE4D2;--olive:#2F3A22;--gold:#F2C068;
  --muted:#5A5040;--line:#D9CCB5;--sand:#E3D7C2;--err:#B3261E;--err-bg:#FBE3DE;--err-fg:#8A1C15;
  --serif:'Gloock',serif;--sans:'Schibsted Grotesk',sans-serif;--mono:'JetBrains Mono',monospace;
  --pad:clamp(20px,4.4vw,64px);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--olive);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--terra-d)}a:hover{color:var(--olive)}
input,textarea,select,button{font:inherit}
button{cursor:pointer}button:disabled{cursor:not-allowed}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:50;background:var(--terra);color:var(--cream);border-bottom:1px solid rgba(255,244,228,.2)}
.hd a{color:var(--cream)}
.hd-d{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;height:88px;padding:0 var(--pad)}
.hd-m{display:none;align-items:center;justify-content:space-between;height:64px;padding:0 12px 0 20px}
.logo{text-decoration:none;font:400 26px/1 var(--serif);letter-spacing:.04em}
.hd-m .logo{font-size:20px}
.hd nav{display:flex;justify-content:center;gap:clamp(12px,2vw,32px)}
.hd nav a{display:flex;align-items:center;height:48px;white-space:nowrap;font:500 15px var(--sans);text-decoration:none;text-underline-offset:8px;text-decoration-color:var(--gold);text-decoration-thickness:2px;transition:color .2s}
.hd nav a:hover{color:var(--gold)}
.hd nav a[aria-current]{text-decoration-line:underline}
.hd-r{display:flex;align-items:center;gap:16px}
.lang{display:flex;align-items:center;font:600 13px var(--sans)}
.lang button{width:40px;height:44px;border:0;background:transparent;color:var(--cream);font:600 13px var(--sans);text-underline-offset:5px}
.lang button[aria-pressed=true]{text-decoration:underline}
.book{display:flex;align-items:center;height:48px;padding:0 24px;white-space:nowrap;background:var(--cream);color:var(--olive)!important;border-radius:6px;font:600 14px var(--sans);text-decoration:none;transition:background .2s}
.book:hover{background:var(--gold)}
.ico-btn{width:48px;height:48px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--cream)}
.burger{flex-direction:column;gap:6px}
.burger span{width:24px;height:2px;background:var(--cream)}
.menu{position:absolute;top:0;left:0;right:0;height:100vh;height:100dvh;z-index:60;background:var(--olive);color:var(--cream);display:none;flex-direction:column;padding:0 20px 24px;overflow:auto}
.menu.open{display:flex}
.menu a{color:var(--cream)}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:64px;margin-right:-8px}
.menu-top .logo{font-size:20px}
.menu-top button{position:relative}
.menu-top button i{position:absolute;left:12px;top:23px;width:24px;height:2px;background:var(--cream);transform:rotate(45deg)}
.menu-top button i+i{transform:rotate(-45deg)}
.pill-status{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;min-height:32px;padding:0 12px;margin-top:8px;background:#262A1D;border-radius:6px;font:500 13px var(--sans)}
.pill-status i{width:8px;height:8px;border-radius:50%}
.menu nav{display:flex;flex-direction:column;margin-top:24px}
.menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid rgba(255,244,228,.16);text-decoration:none;font:400 34px/1 var(--serif)}
.menu nav a span{font:400 18px var(--sans);color:var(--gold)}
.menu-lang{display:flex;gap:8px;margin-top:20px}
.menu-lang button{height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--cream);background:transparent;color:var(--cream);font:600 14px var(--sans)}
.menu-lang button[aria-pressed=true]{background:var(--cream);color:var(--olive)}
.menu-cta{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.menu-cta a{display:flex;align-items:center;justify-content:center;height:56px;border:1.5px solid var(--cream);border-radius:6px;text-decoration:none;font:600 15px var(--sans)}
.menu-cta a+a{background:var(--cream);color:var(--olive)}
.menu-addr{margin-top:16px;font:400 14px/1.5 var(--sans);color:#D9D2BE}

/* ---------- hero ---------- */
.hero{background:var(--terra);color:var(--cream);padding:clamp(40px,5vw,72px) var(--pad) 0;overflow:hidden}
.hero-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.hero-txt{flex:1 1 360px;display:flex;flex-direction:column;gap:16px;padding-bottom:clamp(32px,4vw,56px)}
.eyebrow{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase}
.hero h1{font:400 clamp(60px,9vw,136px)/.88 var(--serif);letter-spacing:-.03em}
.hero p{max-width:520px;font:400 17px/1.55 var(--sans)}
.arch{flex:0 0 clamp(150px,16vw,230px);aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:hidden;background:var(--terra-d) repeating-linear-gradient(135deg,rgba(255,244,228,.1) 0 1px,transparent 1px 12px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;font:500 10px var(--mono);color:#F7DCC6;text-align:center}

/* ---------- footer ---------- */
.ft{background:var(--olive);color:var(--cream);padding:clamp(64px,8vw,112px) var(--pad) 28px;font-family:var(--sans)}
.ft a{color:var(--cream)}
.ft-grid{display:flex;flex-wrap:wrap;gap:48px clamp(32px,4vw,64px)}
.ft-col{display:flex;flex-direction:column;gap:12px;font:400 15px/1.6 var(--sans)}
.ft-brand{flex:2 1 320px;gap:20px}
.ft-brand b{font:400 clamp(52px,7.4vw,112px)/.88 var(--serif);letter-spacing:-.01em}
.ft-brand p{max-width:320px;color:#D9D2BE}
.ft-col h4{margin:0;font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ft-a{flex:1 1 180px}.ft-b{flex:1 1 200px}.ft-c{flex:1 1 160px;gap:4px}.ft-d{flex:1 1 200px}
.ft-c h4{margin-bottom:8px}
.ft-c a{text-decoration:none;min-height:32px;display:flex;align-items:center}
.ft-c a:hover,.ft-bot a:hover{color:var(--gold)}
.muted-l{color:#D9D2BE}
.soc{display:flex;flex-wrap:wrap;gap:8px}
.soc a{display:flex;align-items:center;height:44px;padding:0 16px;border:1.5px solid rgba(255,244,228,.5);border-radius:999px;text-decoration:none;font:600 14px var(--sans)}
.soc a:hover{background:var(--cream);color:var(--olive)}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,244,228,.18);font:400 13px var(--sans);color:#D9D2BE}
.ft-bot a{color:#D9D2BE;min-height:32px;display:flex;align-items:center}
.ft-bot div{display:flex;flex-wrap:wrap;gap:4px 20px}

/* ---------- shared form / ui ---------- */
.main{padding:clamp(28px,4vw,64px) var(--pad) clamp(56px,7vw,112px)}
.card{padding:clamp(16px,2.4vw,32px);background:var(--cream);border-radius:6px;border:1px solid rgba(47,58,34,.12)}
.h2{font:400 clamp(34px,4vw,52px)/1 var(--serif);letter-spacing:-.02em}
.stack{display:flex;flex-direction:column;gap:20px}
.stack-24{display:flex;flex-direction:column;gap:24px}
.stack-12{display:flex;flex-direction:column;gap:12px}
.alert{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:var(--err-bg);border-radius:6px;color:var(--err-fg);font:500 15px/1.5 var(--sans)}
.alert.col{flex-direction:column;gap:6px}
.alert svg{flex:none;margin-top:2px}
.dot{flex:none;width:16px;height:16px;border-radius:50%;background:var(--err);color:#fff;font:700 11px/16px var(--sans);text-align:center}
.field{display:flex;flex-direction:column;gap:8px}
.field>span{font:600 14px var(--sans)}
.field input{height:56px;padding:0 16px;border:1.5px solid rgba(47,58,34,.35);border-radius:6px;background:var(--cream);color:var(--olive);font:400 16px var(--sans);outline:none}
.field input:focus,.field textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(242,192,104,.6)}
.field input[aria-invalid=true]{border-color:var(--err);background:#FDF0EC}
.field textarea{min-height:104px;padding:14px 16px;border:1.5px solid rgba(47,58,34,.35);border-radius:6px;background:var(--cream);color:var(--olive);font:400 16px/1.5 var(--sans);resize:vertical;outline:none}
.ferr{display:flex;align-items:center;gap:6px;font:500 13px var(--sans);color:var(--err)}
.opt{font-weight:400;color:var(--muted)}
.slot{position:relative;border:1.5px solid rgba(47,58,34,.3);border-radius:6px;background:var(--cream);color:var(--olive);font:600 16px var(--sans);font-variant-numeric:tabular-nums;transition:border-color .2s}
.slot:hover:not(:disabled){border-color:var(--olive)}
.slot[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.slot:disabled{background:var(--sand);border-color:transparent;color:#8C836F;font-weight:500;text-decoration:line-through}
.slot.last:not([aria-pressed=true]){border-color:#E2B061}
.slot .flag{position:absolute;top:-7px;right:-5px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}
.chip{height:44px;padding:0 18px;border:1.5px solid rgba(47,58,34,.3);border-radius:999px;background:transparent;color:var(--olive);font:600 14px var(--sans)}
.chip:hover{border-color:var(--olive)}
.chip[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.btn{height:56px;padding:0 24px;border:1.5px solid var(--olive);border-radius:6px;background:transparent;color:var(--olive);font:600 15px var(--sans)}
.btn:hover{background:var(--olive);color:var(--cream)}
.btn-fill{border:0;background:var(--olive);color:var(--cream)}
.btn-fill:disabled{background:var(--line);color:#7C735F}
.btn-fill:hover:not(:disabled){background:#45532F}
.arch-ok{aspect-ratio:3/4;border-radius:999px 999px 0 0;display:flex;align-items:center;justify-content:center;padding-top:16px}
.cap{font:500 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ---------- reservation ---------- */
.steps{list-style:none;margin:0 0 clamp(32px,4vw,56px);padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.steps li{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:3px solid var(--line);font:500 15px var(--sans);color:var(--muted)}
.steps .mk{flex:none;width:32px;height:40px;border-radius:999px 999px 0 0;border:1.5px solid rgba(47,58,34,.3);display:flex;align-items:center;justify-content:center;padding-top:4px;font:600 14px var(--sans)}
.steps li.on{border-color:var(--olive);color:var(--olive)}
.steps li.on .mk{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.steps li[aria-current]{font-weight:600}
.pbar{display:none;margin:0 0 24px;flex-direction:column;gap:10px;font:600 14px var(--sans)}
.pbar div{height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.pbar i{display:block;height:100%;background:var(--olive);transition:width .4s}
.cols{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:24px clamp(32px,4vw,64px);align-items:flex-start}
.aside{flex:1 1 280px;max-width:100%;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--cream);border-radius:6px;border:1px solid rgba(47,58,34,.12)}
.aside h2{font:400 26px/1.1 var(--serif)}
.rrow{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;border-top:1px solid rgba(47,58,34,.14);padding-top:10px}
.rrow b{display:block;font:600 16px var(--sans)}
.rrow b.todo{color:var(--muted)}
.link{height:44px;padding:0 4px;border:0;background:transparent;color:var(--terra-d);font:600 14px var(--sans);text-decoration:underline;text-underline-offset:4px}
.small{font:400 13px/1.5 var(--sans);color:var(--muted)}
.flow{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-head span{font:400 28px/1 var(--serif)}
.cal-head button{width:48px;height:48px;border:1.5px solid var(--olive);border-radius:50%;background:transparent;color:var(--olive);font:400 18px var(--sans)}
.cal-head button:disabled{border-color:var(--line);color:#A69C88}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,.6vw,8px)}
.cal .wd{text-align:center;padding:6px 0;font:600 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.day{min-height:clamp(48px,6vw,72px);border:1.5px solid rgba(47,58,34,.22);border-radius:6px;background:var(--cream);color:var(--olive);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:600 clamp(15px,1.4vw,18px) var(--sans);font-variant-numeric:tabular-nums;transition:border-color .2s}
.day small{font:500 10px var(--sans);color:var(--muted)}
.day:hover:not(:disabled){border-color:var(--olive)}
.day.past{border-color:transparent;background:transparent;color:#A69C88;text-decoration:line-through}
.day.closed{border-color:transparent;background:var(--sand);color:#7C735F}.day.closed small{color:#7C735F}
.day.full{border-color:transparent;background:var(--sand);color:#7A2E14}.day.full small{color:#7A2E14}
.day.sel{border-radius:999px 999px 6px 6px}
.day.sel:not(.full){background:var(--olive);border-color:var(--olive);color:var(--cream)}.day.sel:not(.full) small{color:var(--gold)}
.day.sel.full{background:#F3D6C8;border-color:var(--terra-d)}
.day.pad{visibility:hidden}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font:400 13px var(--sans);color:var(--muted)}
.legend .w{color:var(--terra-d)}
.legend .g{display:flex;align-items:center;gap:6px}.legend .g i{width:10px;height:10px;border-radius:50%;background:var(--gold)}
.fullbox{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--olive);color:var(--cream);border-radius:6px}
.fullbox .top{display:flex;gap:16px;align-items:flex-start}
.fullbox .ex{flex:none;width:40px;height:52px;border-radius:999px 999px 0 0;border:1.5px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font:700 18px var(--sans)}
.fullbox h3{font:400 26px/1.1 var(--serif)}
.fullbox p{margin:6px 0 0;font:400 15px/1.5 var(--sans);color:#E4DCC8}
.alts{display:flex;flex-wrap:wrap;gap:8px}
.alts button{height:48px;padding:0 18px;border:1.5px solid var(--cream);border-radius:6px;background:transparent;color:var(--cream);font:600 14px var(--sans)}
.alts button:hover{background:var(--cream);color:var(--olive)}
.fullbox .wait{align-self:flex-start;height:48px;padding:0;border:0;background:transparent;color:var(--gold);font:600 15px var(--sans);text-decoration:underline;text-underline-offset:4px;text-align:left}
.svc-h{display:flex;justify-content:space-between;align-items:baseline}
.svc-h h3{font:400 24px/1 var(--serif)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slots .slot{height:52px}
.stepper{display:grid;grid-template-columns:64px minmax(140px,1fr) 64px;height:72px;border:1.5px solid rgba(47,58,34,.35);border-radius:6px;background:var(--cream);overflow:hidden;flex:1 1 300px;max-width:420px}
.stepper button{border:0;background:transparent;color:var(--olive);font:400 28px var(--sans)}
.stepper button:hover{background:var(--bg)}
.stepper span{display:flex;align-items:center;justify-content:center;font:400 30px var(--serif)}
.zone{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:10px 18px;border:1.5px solid rgba(47,58,34,.3);border-radius:6px;background:transparent;color:var(--olive);text-align:left}
.zone b{font:600 15px var(--sans)}.zone span{font:400 13px var(--sans);opacity:.85}
.zone[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.row{display:flex;flex-wrap:wrap;gap:8px}
.row-c{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.q h3{font:600 15px var(--sans)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px}
.sms{display:flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:transparent;color:var(--olive);font:400 15px var(--sans);text-align:left}
.sms i{flex:none;width:24px;height:24px;border-radius:5px;border:1.5px solid var(--olive);background:var(--cream);color:var(--cream);display:flex;align-items:center;justify-content:center;font:700 14px var(--sans);font-style:normal}
.sms[aria-checked=true] i{background:var(--olive)}
.done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;padding:clamp(32px,5vw,72px) clamp(20px,3vw,48px);background:var(--olive);color:var(--cream);border-radius:6px}
.done .arch-ok{width:clamp(110px,12vw,150px);background:var(--gold);color:var(--olive)}
.done .tag{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.done h2{font:400 clamp(40px,5.4vw,76px)/.95 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.done .meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;font:500 17px var(--sans)}
.done p{max-width:460px;font:400 15px/1.55 var(--sans);color:#E4DCC8}
.done .acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}
.done .acts>*{flex:1 1 200px;max-width:260px;display:flex;align-items:center;justify-content:center;height:56px;border-radius:6px;font:600 15px var(--sans);text-decoration:none}
.done .acts a{background:var(--cream);color:var(--olive)}.done .acts a:hover{background:var(--gold)}
.done .acts button{border:1.5px solid var(--cream);background:transparent;color:var(--cream)}
.done .acts button:hover{background:rgba(255,244,228,.12)}
.done .addr{font:400 14px var(--sans);color:#E4DCC8}
.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;border-top:1px solid rgba(47,58,34,.18)}
.nav .fwd{flex:1 1 220px;max-width:360px;margin-left:auto}

/* ---------- click & collect ---------- */
.cc{padding:clamp(28px,4vw,56px) var(--pad) clamp(56px,7vw,112px);display:flex;flex-wrap:wrap;gap:32px clamp(32px,4vw,64px);align-items:flex-start}
.cc-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:28px}
.cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.cats .chip{flex:none}
.grp{display:flex;flex-direction:column;gap:14px}
.grp h2{font:400 clamp(32px,3.6vw,48px)/1 var(--serif);letter-spacing:-.02em}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:14px;background:var(--cream);border-radius:6px;border:1.5px solid transparent;transition:border-color .2s}
.item.in{border-color:var(--olive)}
.item .ph{height:116px;border-radius:999px 999px 0 0;background:var(--tone) repeating-linear-gradient(135deg,rgba(0,0,0,.1) 0 1px,transparent 1px 9px)}
.item .bd{display:flex;flex-direction:column;gap:6px;min-width:0}
.item h3{font:400 20px/1.15 var(--serif)}
.item p{font:400 13px/1.45 var(--sans);color:#4A5238}
.item .ft2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.price{flex:none;white-space:nowrap;font:600 17px var(--sans);font-variant-numeric:tabular-nums}
.add{height:44px;padding:0 16px;border:0;border-radius:6px;background:var(--terra);color:var(--cream);font:600 14px var(--sans);transition:background .2s}
.add:hover{background:var(--terra-d)}
.qty{display:grid;grid-template-columns:44px 36px 44px;height:44px;border-radius:6px;background:var(--olive);color:var(--cream);overflow:hidden}
.qty button{border:0;background:transparent;color:inherit;font:400 20px var(--sans)}
.qty span{display:flex;align-items:center;justify-content:center;font:600 15px var(--sans)}
.qty.lt{background:transparent;color:var(--olive);border:1.5px solid rgba(47,58,34,.3);grid-template-columns:44px 32px 44px;width:max-content}
.basket{flex:1 1 300px;position:sticky;top:112px;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--cream);border-radius:6px;border:1px solid rgba(47,58,34,.12)}
.basket h2{font:400 28px/1 var(--serif)}
.basket .hh{display:flex;justify-content:space-between;align-items:baseline;font:500 14px var(--sans);color:var(--muted)}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px 0}
.empty i{width:56px;height:72px;border-radius:999px 999px 0 0;border:1.5px dashed var(--terra-d)}
.empty p{font:400 15px/1.5 var(--sans);color:#4A5238}
.ln{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(47,58,34,.14);font:400 15px/1.4 var(--sans)}
.ln b{font-weight:600}.ln span+span{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.tot{display:flex;justify-content:space-between;padding-top:12px;border-top:1.5px solid var(--olive);font:600 18px var(--sans)}
.mbar{display:none;position:sticky;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,244,228,.96);backdrop-filter:blur(10px);border-top:1px solid rgba(47,58,34,.15)}
.mbar button{width:100%;height:56px;border:0;border-radius:6px;background:var(--olive);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 18px;font:600 16px var(--sans)}
.mbar .n{min-width:28px;height:28px;border-radius:999px;background:var(--gold);color:var(--olive);display:inline-flex;align-items:center;justify-content:center;font:700 13px var(--sans);margin-right:10px}
.ov{position:fixed;inset:0;z-index:70;background:rgba(31,37,22,.55);display:flex;justify-content:flex-end}
.ov .bk{position:absolute;inset:0}
.drawer{position:relative;width:min(100%,480px);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(31,37,22,.25)}
.dr-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 16px 24px;border-bottom:1px solid rgba(47,58,34,.15)}
.dr-h .t{flex:1;display:flex;flex-direction:column;gap:2px}.dr-h .t b{font:400 26px/1 var(--serif)}
.dr-h .back{width:44px;height:44px;margin-left:-10px;border:0;background:transparent;color:var(--olive);font:400 20px var(--sans)}
.dr-h .x{width:44px;height:44px;border:1.5px solid var(--olive);border-radius:50%;background:transparent;color:var(--olive);font:400 18px var(--sans)}
.dr-h .x:hover{background:var(--olive);color:var(--cream)}
.dr-b{flex:1;overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px}
.dr-f{padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(47,58,34,.15);display:flex;flex-direction:column;gap:10px;background:var(--cream)}
.dr-f .tt{display:flex;justify-content:space-between;font:600 18px var(--sans)}
.dr-f button{height:56px;border:0;border-radius:6px;background:var(--olive);color:var(--cream);font:600 15px var(--sans)}
.dr-f button:disabled{background:var(--line);color:#7C735F}
.dl{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(47,58,34,.14)}
.dl .ph{height:80px;border-radius:999px 999px 0 0;background:var(--tone) repeating-linear-gradient(135deg,rgba(0,0,0,.1) 0 1px,transparent 1px 8px)}
.dl .nm{display:flex;flex-direction:column;gap:8px;min-width:0}.dl .nm span{font:400 18px/1.15 var(--serif)}
.dl>b{font:600 16px var(--sans);white-space:nowrap}
.dr-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:40px 0}
.dr-empty i{width:72px;height:96px;border-radius:999px 999px 0 0;border:1.5px dashed var(--terra-d)}
.dr-empty h3{font:400 26px/1.1 var(--serif)}
.dr-empty p{max-width:300px;font:400 15px/1.5 var(--sans);color:#4A5238}
.suggest{height:48px;padding:0 20px;border:0;border-radius:6px;background:var(--terra);color:var(--cream);font:600 14px var(--sans)}
.dr-b .alert{font-size:14px;padding:14px 16px}
.dr-b .alert .dot{width:18px;height:18px;margin-top:1px;line-height:18px;font-size:12px}
.lbl{font:600 14px var(--sans)}
.d2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.d2 button{height:56px;border:1.5px solid rgba(47,58,34,.3);border-radius:6px;background:var(--cream);color:var(--olive);font:600 15px var(--sans)}
.d2 button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.tslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.tslots .slot{height:48px;font-size:15px}
.rcp{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--olive);color:var(--cream);border-radius:6px}
.rcp .cap{color:var(--gold)}.rcp b{font:400 26px/1.1 var(--serif)}.rcp span:last-child{font:400 14px var(--sans);color:#E4DCC8}
.pay{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;border:1.5px solid rgba(47,58,34,.3);border-radius:6px;background:var(--cream);color:var(--olive);font:500 15px var(--sans);text-align:left}
.pay[aria-checked=true]{border-color:var(--olive)}
.pay i{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--olive);display:flex;align-items:center;justify-content:center}
.pay i::after{content:"";width:10px;height:10px;border-radius:50%;background:transparent}
.pay[aria-checked=true] i::after{background:var(--olive)}
.dn{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:24px 0}
.dn .arch-ok{width:110px;height:146px;background:var(--olive);color:var(--gold)}
.dn .cap{color:var(--terra-d);letter-spacing:.1em;font-weight:600}
.dn h3{font:400 36px/1 var(--serif)}
.dn p{max-width:340px;font:400 15px/1.55 var(--sans);color:#3A4430}
.dn .sum{display:flex;justify-content:space-between;width:100%;padding:14px 0;border-top:1px solid rgba(47,58,34,.18);border-bottom:1px solid rgba(47,58,34,.18);font:600 16px var(--sans)}
body.lock{overflow:hidden}

/* ---------- accueil ---------- */
.home{padding:clamp(40px,6vw,96px) var(--pad);display:flex;flex-direction:column;gap:32px}
.home h2{font:400 clamp(34px,4vw,52px)/1 var(--serif)}
.home .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.home .cards a{display:flex;flex-direction:column;gap:8px;padding:28px;background:var(--cream);border-radius:6px;text-decoration:none;color:var(--olive);border:1.5px solid transparent}
.home .cards a:hover{border-color:var(--olive)}
.home .cards b{font:400 30px/1 var(--serif)}.home .cards span{font:400 15px/1.5 var(--sans);color:#4A5238}

/* ---------- mobile ---------- */
@media (max-width:759px){
  .hd-d{display:none}.hd-m{display:flex}
  .steps{display:none}.pbar{display:flex}
  .basket{display:none}.mbar{display:block}
  .hero p{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
