/* =====================================================================
   LAKAZ BURGER — style du site public
   Classes communes au kit conservées en bas : .btn*, .ck, .legal-*, .hp
   ===================================================================== */
:root{
  --navy:#0E1A2B;--navy-2:#17273F;--navy-3:#22385A;
  --red:#E3262B;--red-d:#C01B20;--yellow:#FFC72C;--yellow-d:#F0A800;--blue:#1E5EC8;
  --sand:#F7F1E6;--sand-2:#EFE5D3;--ink:#141B26;--muted:#5F6B7A;--line:#E6DFD2;
  --green:#1F8F55;
  --display:"Lilita One","Arial Black",Impact,sans-serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:16px;--shadow:0 14px 34px -18px rgba(14,26,43,.45);
  /* compat kit (mentions légales, bandeau cookies) */
  --gold:var(--yellow);--gold-2:var(--yellow);--serif:var(--display);--bg-alt:var(--sand);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--sans);color:var(--ink);line-height:1.55;background:#fff;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.ico{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
.muted{color:var(--muted)}.sm{font-size:13px}
.center{text-align:center}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;min-height:44px;border-radius:12px;font-weight:700;border:2px solid transparent;cursor:pointer;line-height:1.15;transition:transform .15s,background .15s,box-shadow .15s;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 22px -10px rgba(227,38,43,.8)}
.btn-red:hover{background:var(--red-d)}
.btn-dark{background:var(--navy);color:#fff;border-color:rgba(255,255,255,.18)}
.btn-dark:hover{background:var(--navy-3)}
.btn-yellow,.btn-gold{background:var(--yellow);color:var(--navy)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-ghost{border-color:currentColor;color:#fff}
.btn-sm{padding:8px 14px;min-height:38px;font-size:14px;border-radius:10px}
.btn-lg{padding:15px 24px;font-size:16.5px}
.btn.full{width:100%}

/* ---------- En-tête ---------- */
.header{position:sticky;top:0;z-index:60;background:rgba(14,26,43,.96);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.header .wrap{display:flex;align-items:center;gap:18px;height:108px}
.brand{display:block;flex:none;margin-left:28px}
.brand img{height:96px;width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:9px 12px;border-radius:9px;font-weight:600;font-size:14.5px;color:rgba(255,255,255,.88)}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.h-soc{display:flex;gap:6px}
.soc{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff}
.soc:hover{background:var(--yellow);color:var(--navy)}
.cart-btn{position:relative}
.cart-n{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--yellow);color:var(--navy);font-size:12px;font-style:normal;font-weight:800;display:grid;place-items:center;border:2px solid var(--navy)}
.cart-n[hidden]{display:none}
.cart-n.bump{animation:bump .4s ease}
@keyframes bump{50%{transform:scale(1.35)}}
.burger{display:none;background:none;border:0;width:44px;height:44px;color:#fff;font-size:26px;cursor:pointer}

/* ---------- Titres ---------- */
.ttl{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.6vw,52px);line-height:1;text-transform:uppercase;color:var(--navy);letter-spacing:.5px;transform:skewX(-6deg)}
.ttl em{font-style:normal;color:var(--blue)}
.ttl.light{color:#fff}.ttl.light em{color:var(--yellow)}
.ttl.center{transform:skewX(-6deg);text-align:center}
.sub{color:var(--muted);max-width:620px;margin-top:10px}
.sub.center{margin:12px auto 0}
.section{padding:72px 0}

/* ---------- Accueil ---------- */
.hero{position:relative;overflow:hidden;color:#fff;background:var(--navy)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,22,44,.82) 0%,rgba(8,22,44,.6) 32%,rgba(8,22,44,.15) 52%,transparent 62%)}
.hero-in{position:relative;z-index:2;display:flex;align-items:center;min-height:clamp(520px,44.4vw,820px);padding-top:40px;padding-bottom:40px}
.hero-txt{max-width:600px}
.hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.95;transform:skewX(-7deg);text-shadow:0 4px 0 rgba(0,0,0,.4),0 0 24px rgba(0,0,0,.35)}
.hero h1 .l1{display:block;font-size:clamp(46px,6.6vw,92px)}
.hero h1 .l2{display:block;font-size:clamp(40px,5.8vw,80px);color:var(--yellow)}
.hero-lead{margin-top:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:clamp(14px,1.5vw,17px);text-shadow:0 2px 6px rgba(0,0,0,.6)}
.hero-cats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.hero-cats a{display:inline-block;padding:7px 13px;border-radius:30px;background:rgba(8,22,44,.55);border:1px solid rgba(255,255,255,.25);font-size:13.5px;font-weight:600;backdrop-filter:blur(4px)}
.hero-cats a:hover{background:var(--yellow);color:var(--navy)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-hours{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:9px 14px;border-radius:12px;background:rgba(8,22,44,.6);backdrop-filter:blur(4px);font-size:13.5px;font-weight:600;line-height:1.3}
.hero-hours .ico{color:var(--yellow);font-size:20px}
.hero-hours b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--yellow)}

/* ---------- Univers ---------- */
.univers{padding-top:56px;background:var(--sand)}
.tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-top:26px}
.tile{position:relative;border-radius:14px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow);aspect-ratio:4/5;display:block}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile:hover img{transform:scale(1.06)}
.tile span{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:28px 10px 11px;background:linear-gradient(transparent,rgba(14,26,43,.95) 55%);color:#fff;font-weight:800;text-transform:uppercase;font-size:13px}
.tile b{font-weight:800;min-width:0;overflow-wrap:anywhere}
.tile i{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-size:13px}

/* ---------- Promos ---------- */
.promos{background:var(--sand);padding-top:0}
.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.promo{position:relative;border-radius:var(--r);overflow:hidden;min-height:250px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow);background:var(--navy)}
.promo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,43,.92),rgba(14,26,43,.35))}
.promo.kids::before{background:linear-gradient(90deg,rgba(30,94,200,.95),rgba(30,94,200,.25))}
.promo-in{position:relative;padding:26px;max-width:380px}
.promo h3{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.6vw,42px);line-height:1;text-transform:uppercase;transform:skewX(-6deg);color:var(--yellow);text-shadow:0 3px 0 rgba(0,0,0,.25)}
.promo p{margin:10px 0 16px;font-weight:600}
.burst{position:absolute;top:18px;right:18px;width:92px;height:92px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-size:26px;transform:rotate(-8deg);box-shadow:0 8px 18px -6px rgba(0,0,0,.5);border:4px solid var(--yellow);text-align:center;line-height:1}

/* ---------- Carte ---------- */
.carte{background:#fff}
.carte-head{margin-bottom:24px}
.tabs-bar{position:sticky;top:108px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);display:flex;gap:12px;align-items:center;padding:12px 0;margin-bottom:22px;border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;border:2px solid var(--line);background:#fff;border-radius:30px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;min-height:40px}
.tabs button.on{background:var(--red);border-color:var(--red);color:#fff}
.search{display:flex;align-items:center;gap:8px;border:2px solid var(--line);border-radius:30px;padding:0 14px;min-height:42px;width:250px;flex:none;color:var(--muted)}
.search input{border:0;outline:0;font:inherit;width:100%;background:none;color:var(--ink)}
.search:focus-within{border-color:var(--navy)}
.panel-cat{display:none}.panel-cat.on{display:block}
.cat-ed{font-family:var(--display);font-weight:400;font-size:26px;margin:26px 0 12px;color:var(--navy)}
.prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s,transform .2s;cursor:pointer}
.prod:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.prod.off{cursor:default;opacity:.75}.prod.off:hover{transform:none;box-shadow:none}
.prod-img{aspect-ratio:16/11;overflow:hidden;background:var(--sand)}
.prod-img img{width:100%;height:100%;object-fit:cover}
/* photos avec texte en haut (bowls, paninis, menu kids, wings) : image entière légèrement dézoomée, fond flouté */
.prod-img.fit{position:relative}
.prod-img.fit::before{content:"";position:absolute;inset:-16px;background:inherit;filter:blur(14px) brightness(.7)}
.prod-img.fit img{position:relative;object-fit:contain;transform:scale(1.15);transform-origin:50% 0}
.prod-img.fit img[src*="dessert-panini-"],.prod-img.fit img[src*="menu-kids"],.prod-img.fit img[src*="carte-wings"]{transform:scale(1.3)}
@media (max-width:560px){.prod-img.fit img,.prod-img.fit img[src*="dessert-panini-"],.prod-img.fit img[src*="menu-kids"],.prod-img.fit img[src*="carte-wings"]{transform:none}}
.prod-img img[src="img/carte-cheese.webp"]{object-position:50% 70%}
.prod-img img[src*="photo-1571877227200-a0d98ea607e9"]{object-position:50% 75%}
.prod-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod h4{font-size:17px;font-weight:800;line-height:1.2}
.prod p{font-size:13.5px;color:var(--muted);flex:1}
.prod-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.price{font-weight:800;color:var(--red);font-size:18px}
.price.soon{color:var(--muted);font-size:14px;font-weight:600}
.add{width:42px;height:42px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:18px;box-shadow:0 8px 16px -8px rgba(227,38,43,.9)}
.add:hover{background:var(--red-d)}
.noresult{padding:30px 0;text-align:center;color:var(--muted)}

/* ---------- Click & Collect ---------- */
.cc{background:var(--navy);color:#fff;background-image:radial-gradient(circle at 85% 20%,rgba(255,199,44,.14),transparent 40%)}
.cc-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cc-txt p{margin:14px 0 22px;color:rgba(255,255,255,.82);max-width:460px}
.steps{list-style:none;display:grid;gap:12px}
.steps li{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;font-weight:700}
.steps span{width:40px;height:40px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-family:var(--display);font-size:20px;flex:none}

/* ---------- Infos ---------- */
.infos{background:var(--sand)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.split>img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow)}
.rich{margin:16px 0}.rich p{color:var(--muted);margin-bottom:10px}
.facts{list-style:none;display:grid;gap:12px;margin:18px 0 22px}
.facts li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.facts .ico{color:var(--red);margin-top:3px}
.facts a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Contact ---------- */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:12px;margin-top:26px;box-shadow:var(--shadow)}
.form input,.form textarea,.fld input,.fld textarea{border:2px solid var(--line);border-radius:10px;padding:11px 13px;font:inherit;width:100%;background:#fff;min-height:44px}
.form input:focus,.form textarea:focus,.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--navy)}
.form textarea{min-height:110px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:2px solid var(--line);border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;background:#fff}
.chips input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.hp{position:absolute!important;left:-9999px!important}
.form-msg{font-size:14px;font-weight:600}.form-msg.ok{color:var(--green)}.form-msg.err{color:var(--red)}

/* ---------- Pied de page ---------- */
.footer{background:var(--navy);color:rgba(255,255,255,.8);font-size:14px}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-top:44px;padding-bottom:34px}
.f-brand{display:flex;flex-direction:column;gap:14px}
.f-logo{height:110px;width:auto;align-self:flex-start}
.f-brand p{max-width:300px}
.f-socs{display:flex;gap:8px;flex-wrap:wrap}
.f-col h4{display:flex;align-items:center;gap:8px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.f-col h4 .ico{color:var(--yellow);font-size:18px}
.f-col p{margin-bottom:8px;line-height:1.6}
.f-col a{display:inline-flex;align-items:center;gap:7px}
.f-col a:hover{color:var(--yellow)}
.f-col a .ico{color:var(--yellow)}
.f-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.f-cta p{margin-bottom:4px}
.f-cta .btn{color:#fff}
.copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;padding-bottom:84px;margin-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.6)}
.copy a{text-decoration:underline;text-underline-offset:2px}
.copy button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:4px 0;text-decoration:underline}

/* ---------- Bouton panier flottant ---------- */
.fab{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);white-space:nowrap;z-index:70;display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;border:0;border-radius:40px;padding:12px 20px 12px 16px;font-weight:800;box-shadow:0 16px 30px -10px rgba(227,38,43,.85);cursor:pointer;min-height:54px;max-width:calc(100% - 32px)}
.fab .ico{font-size:20px}
.fab .cart-n{position:static;border-color:var(--red)}
.fab-total{font-weight:800}
.fab[hidden],body.lock .fab{display:none}

/* ---------- Modale produit ---------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}
.modal-bg,.drawer-bg{position:absolute;inset:0;background:rgba(10,16,26,.62)}
.modal-box{position:relative;background:#fff;border-radius:20px;width:min(520px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.x{position:absolute;top:10px;right:10px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);display:grid;place-items:center;cursor:pointer;font-size:18px;box-shadow:0 4px 12px -4px rgba(0,0,0,.35)}
.pm-img{position:relative;flex:none;height:min(40vh,330px);overflow:hidden;background:#2a1a10 center/cover no-repeat}
.pm-img::before{content:"";position:absolute;inset:-20px;background:inherit;filter:blur(18px) brightness(.75);transform:scale(1.1)}
.pm-img img{position:relative;width:100%;height:100%;object-fit:contain}
.pm-body{padding:18px 20px;overflow-y:auto;flex:1}
.pm-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pm-h h3{font-size:22px;font-weight:800;line-height:1.2}
.pm-h b{color:var(--red);font-size:20px;white-space:nowrap}
#pm-text{margin:6px 0 4px;font-size:14px}
.opt{margin-top:16px}
.opt-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:800;font-size:15px;margin-bottom:8px}
.opt-h small{font-weight:600;color:var(--muted);font-size:12.5px}
.opt-h .req{color:var(--red)}
.opt-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;cursor:pointer;margin-bottom:6px;min-height:46px}
.opt-row:has(input:checked){border-color:var(--red);background:#FFF4F4}
.opt-row input{accent-color:var(--red);width:18px;height:18px;flex:none}
.opt-row span{flex:1;font-weight:600}
.opt-row em{font-style:normal;color:var(--muted);font-weight:700;font-size:14px}
.opt select{width:100%;border:2px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;min-height:44px;margin-top:6px;background:#fff}
.opt .chips span{min-height:40px}
.fld{display:grid;gap:5px;margin-top:14px}
.fld span{font-size:13.5px;font-weight:700}
.fld.err input,.fld.err textarea{border-color:var(--red)}
.pm-foot{display:flex;gap:12px;padding:14px 20px;border-top:1px solid var(--line);background:#fff}
.qty{display:flex;align-items:center;gap:4px;border:2px solid var(--line);border-radius:12px;padding:3px}
.qty button{width:38px;height:38px;border:0;border-radius:9px;background:var(--sand);cursor:pointer;display:grid;place-items:center}
.qty b{min-width:26px;text-align:center}
.grow{flex:1}

/* ---------- Tiroir panier ---------- */
.drawer{position:fixed;inset:0;z-index:90}
.drawer[hidden]{display:none}
.drawer-box{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.5);animation:slideIn .25s ease}
@keyframes slideIn{from{transform:translateX(40px);opacity:0}}
.d-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);position:relative;min-height:64px}
.d-head h3{font-size:19px;font-weight:800;flex:1}
.d-head .x{position:static;box-shadow:none;background:var(--sand)}
.back{width:40px;height:40px;border-radius:50%;border:0;background:var(--sand);display:grid;place-items:center;cursor:pointer}
.d-steps{display:flex;gap:6px;padding:10px 16px;font-size:12.5px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}
.d-steps span{flex:1;text-align:center;padding:6px 4px;border-radius:20px;background:var(--sand)}
.d-steps span.on{background:var(--navy);color:#fff}
.d-steps span.done{background:#E3F4EA;color:var(--green)}
.d-body{flex:1;overflow-y:auto;padding:14px 16px 20px}
.d-body h4{font-size:15px;font-weight:800;margin:6px 0 10px}
.d-body h4:not(:first-child){margin-top:22px}
.line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.line img{width:64px;height:64px;border-radius:12px;object-fit:cover;flex:none;background:var(--sand)}
.line-b{flex:1;min-width:0}
.line-b b{display:block;font-weight:800;line-height:1.25}
.line-b small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:2px}
.line-f{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}
.line-f .qty{padding:2px}.line-f .qty button{width:32px;height:32px}
.line-f strong{font-weight:800}
.rm{border:0;background:none;color:var(--muted);font-size:12.5px;text-decoration:underline;cursor:pointer;padding:6px 0}
.empty{text-align:center;padding:40px 10px;color:var(--muted);display:grid;gap:12px;justify-items:center}
.empty .ico{font-size:40px;color:var(--line)}
.empty[hidden]{display:none}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.days button{flex:none;border:2px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;cursor:pointer;text-align:left;min-width:96px;line-height:1.2}
.days button b{display:block;font-size:14px}
.days button small{color:var(--muted);font-size:12px}
.days button.on{border-color:var(--red);background:var(--red);color:#fff}.days button.on small{color:#fff}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-top:12px}
.slots button{border:2px solid var(--line);background:#fff;border-radius:10px;padding:9px 4px;font-weight:700;cursor:pointer;min-height:42px}
.slots button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.slots.err button{border-color:#F3B4B4}
.payopt{display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;cursor:pointer}
.payopt:has(input:checked){border-color:var(--red);background:#FFF4F4}
.payopt input{accent-color:var(--red);width:20px;height:20px;flex:none}
.payopt span{flex:1;display:flex;flex-direction:column}
.payopt small{color:var(--muted);font-size:12.5px}
.payopt .cards{font-style:normal;font-size:11px;font-weight:800;color:var(--blue);display:flex;align-items:center;gap:4px}
.payopt[hidden]{display:none}
.recap{background:var(--sand);border-radius:14px;padding:14px;margin:16px 0 10px;font-size:14px;display:grid;gap:6px}
.recap div{display:flex;justify-content:space-between;gap:10px}
.recap .muted{font-size:12.5px}
.d-foot{border-top:1px solid var(--line);padding:12px 16px 16px;background:#fff}
.d-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-weight:800}
.d-total b{font-size:22px;color:var(--red)}
.d-err{color:var(--red);font-weight:700;font-size:13.5px;margin-bottom:8px}
.d-err:empty{display:none}
.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:11px 18px;border-radius:30px;font-weight:700;font-size:14px;z-index:120;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Page de suivi ---------- */
.suivi-page{background:var(--sand);min-height:100vh}
.suivi{max-width:620px;margin:0 auto;padding:30px 16px 60px}
.suivi-card{background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.suivi-top{background:var(--navy);color:#fff;padding:26px 22px;text-align:center}
.suivi-top .ok-ico{width:58px;height:58px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:0 auto 12px;font-size:28px}
.suivi-top h1{font-family:var(--display);font-weight:400;font-size:30px;text-transform:uppercase;transform:skewX(-6deg)}
.suivi-top .ref{display:inline-block;margin-top:10px;background:var(--yellow);color:var(--navy);font-weight:800;padding:6px 14px;border-radius:30px;letter-spacing:.08em}
.suivi-b{padding:20px 22px;display:grid;gap:16px}
.st-box{border-radius:14px;padding:14px 16px;font-weight:700;display:flex;gap:12px;align-items:center}
.st-box .ico{font-size:22px;flex:none}
.st-wait{background:#FFF6DD;color:#8A5A00}.st-ok{background:#E3F4EA;color:var(--green)}.st-err{background:#FDECEC;color:var(--red-d)}.st-info{background:#EAF1FD;color:var(--blue)}
.st-box small{display:block;font-weight:500;font-size:13px;opacity:.9}
.track{display:flex;justify-content:space-between;position:relative;margin:4px 0}
.track::before{content:"";position:absolute;left:12%;right:12%;top:15px;height:4px;background:var(--line);border-radius:4px}
.track span{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);flex:1;text-align:center}
.track i{width:34px;height:34px;border-radius:50%;background:var(--line);border:4px solid #fff;display:grid;place-items:center;font-style:normal;color:#fff}
.track span.on{color:var(--navy)}.track span.on i{background:var(--red)}
.items{display:grid;gap:8px;font-size:14.5px}
.items div{display:flex;justify-content:space-between;gap:12px}
.items div>b,.items div>span:last-child{white-space:nowrap}
.items small{display:block;color:var(--muted);font-size:12.5px}
.items .tot{border-top:1px solid var(--line);padding-top:10px;font-weight:800;font-size:17px}

/* ---------- Bandeau cookies (consent.js) ---------- */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:130;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -20px rgba(14,26,43,.5);padding:18px 20px;display:flex;gap:18px;align-items:center;opacity:0;transform:translateY(30px);transition:opacity .3s,transform .3s}
.ck.in{opacity:1;transform:none}.ck[hidden]{display:none}
.ck-txt b{font-weight:800;color:var(--navy)}
.ck-txt p{font-size:13.5px;color:var(--muted);margin-top:4px}
.ck-txt a{text-decoration:underline}
.ck-btns{display:flex;gap:10px;flex:none}
body.ck-open .fab{bottom:150px}

/* ---------- Page mentions légales ---------- */
.legal-page{background:var(--sand)}
.legal-top{background:var(--navy);padding:10px 0}
.legal-top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px}
.legal-top .brand{display:flex;align-items:center;gap:10px}
.legal-top .brand{align-self:center;margin-left:0}
.legal-top .brand img{height:52px;width:auto;margin:0}
.legal-top .brand b{color:#fff;font-family:var(--display);font-weight:400;font-size:20px}
.legal-top .brand b span{color:var(--yellow)}
.legal{max-width:880px;background:#fff;border-radius:16px;margin:30px auto 60px;padding:clamp(22px,4vw,44px)}
.legal h1{font-family:var(--display);font-weight:400;color:var(--navy);font-size:clamp(26px,3vw,34px);margin:8px 0 16px}
.legal h1:not(:first-child){margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.legal h2{font-size:17px;margin:22px 0 8px;color:var(--navy)}
.legal p,.legal li{color:#3d4656;font-size:15px}
.legal p{margin-bottom:10px}.legal ul{margin:0 0 10px 20px}
.legal a{text-decoration:underline}
.legal-tbl{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0;display:block;overflow-x:auto}
.legal-tbl th,.legal-tbl td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.muted-sm{font-size:13px;color:var(--muted)!important}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .nav a{padding:9px 8px;font-size:14px}
  .h-soc{display:none}
  .tiles{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  .burger{display:grid;place-items:center}
  .nav{display:none;position:absolute;top:108px;left:0;right:0;background:var(--navy);flex-direction:column;padding:10px 16px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav.open{display:flex}
  .nav a{padding:13px 10px;font-size:16px}
  .cart-btn{margin-left:auto}
  .hero{display:flex;flex-direction:column}
  .hero::before{display:none}
  .hero-bg{position:relative;order:2;height:auto;aspect-ratio:1876/835;object-position:center}
  .hero-in{min-height:0;padding-top:30px;padding-bottom:26px;width:100%;background:linear-gradient(180deg,var(--navy),#0F2A4A)}
  .hero-txt{max-width:none}
  .promo-grid,.cc-in,.split{grid-template-columns:1fr;gap:24px}
  .f-grid{grid-template-columns:1fr 1fr;gap:30px}
  .tabs-bar{flex-direction:column;align-items:stretch;gap:10px;top:108px}
  .search{width:100%}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .section{padding:52px 0}
  .header .wrap{gap:10px;height:82px}
  .nav{top:82px}
  .tabs-bar{top:82px}
  html{scroll-padding-top:94px}
  .brand{margin-left:4px}
  .brand img{height:70px}
  .hero-bg{aspect-ratio:auto;height:240px;object-fit:cover;object-position:68% center}
  .hero-hours{display:flex;width:100%}
  .hide-sm{display:none}
  .cart-btn{width:46px;padding:0}
  .hero-cats{display:none}
  .ctas .btn{width:100%}
  .tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .prods{grid-template-columns:1fr;gap:10px}
  .prod{flex-direction:row;align-items:stretch}
  .prod-img{width:116px;aspect-ratio:auto;flex:none}
  .prod-b{padding:12px}
  .prod h4{font-size:15.5px}
  .prod p{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .price{font-size:16px}
  .add{width:40px;height:40px}
  .row2{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr;gap:26px;padding-top:34px}
  .promo{min-height:230px}
  .promo-in{padding:20px;max-width:none}
  .burst{width:76px;height:76px;font-size:21px}
  .ck{flex-direction:column;align-items:stretch}.ck-btns .btn{flex:1}
  .modal{padding:0;align-items:flex-end}
  .modal-box{border-radius:20px 20px 0 0;width:100%;max-height:92dvh}
  .copy{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- WhatsApp ---------- */
.btn-wa{background:#25D366;color:#fff}.btn-wa:hover{background:#1EBE5A}
.wa-fab{position:fixed;right:16px;bottom:16px;z-index:72;display:flex;align-items:center;gap:8px;background:#25D366;color:#fff;border-radius:40px;padding:0 18px 0 14px;height:54px;font-weight:800;box-shadow:0 14px 28px -10px rgba(0,0,0,.45);transition:bottom .2s}
.wa-fab .ico{font-size:26px}
.wa-fab:hover{background:#1EBE5A}
body.ck-open .wa-fab{bottom:150px}
body.lock .wa-fab{display:none}
@media (max-width:700px){.wa-fab{padding:0;width:54px;justify-content:center}.wa-fab span{display:none}body.has-cart .wa-fab{bottom:82px}}
/* ---------- Carte ---------- */
.map{border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:var(--sand-2);box-shadow:var(--shadow)}
.map iframe{width:100%;height:100%;border:0;display:block}
html.ed-mode .header{position:relative}
.facts a,.f-col a{display:inline-flex;align-items:center;min-height:40px}
.f-col p{margin-bottom:2px}
.ed-mode .hero>.ed-bg{top:auto!important;bottom:16px!important}

/* =====================================================================
   THÈME NUIT — actif de 18h à 6h (heure de Paris), classe html.night
   posée par le petit script dans le <head> des pages.
   Test : ?theme=nuit ou ?theme=jour dans l'adresse.
   ===================================================================== */
html.night{
  color-scheme:dark;
  --bg:#0A1220;--surf:#121E31;--surf-2:#18273E;
  --sand:#0F1A2C;--sand-2:#162438;--ink:#E9EEF6;--muted:#9AA8BB;--line:#26364F;
  --blue:#5B9BFF;--shadow:0 14px 34px -18px rgba(0,0,0,.8);
}
html.night body{background:var(--bg);color:var(--ink)}
html.night .header{background:rgba(6,11,20,.96)}
html.night .nav{background:transparent}
@media (max-width:900px){html.night .nav{background:#060B14}html.night .hero-in{background:linear-gradient(180deg,#060B14,#0B1A30)}}
html.night .hero-bg{filter:brightness(.82) saturate(.95)}
html.night .ttl,html.night .cat-ed,html.night .ck-txt b,html.night .legal h1,html.night .legal h2{color:#fff}
html.night .carte{background:var(--bg)}
html.night .tabs-bar{background:rgba(10,18,32,.96)}
html.night .tabs button,html.night .search,html.night .chips span,html.night .days button,html.night .slots button,
html.night .opt select,html.night .form input,html.night .form textarea,html.night .fld input,html.night .fld textarea{background:var(--surf);color:var(--ink)}
html.night .prod,html.night .form,html.night .modal-box,html.night .pm-foot,html.night .drawer-box,html.night .d-foot,
html.night .suivi-card,html.night .ck,html.night .legal{background:var(--surf);color:var(--ink)}
html.night .prod-img,html.night .line img{background:var(--surf-2)}
html.night .search:focus-within,html.night .form input:focus,html.night .form textarea:focus,
html.night .fld input:focus,html.night .fld textarea:focus{border-color:var(--blue)}
html.night .chips input:checked+span,html.night .slots button.on,html.night .d-steps span.on{background:var(--blue);border-color:var(--blue);color:#fff}
html.night .btn-outline{background:transparent;border-color:#fff;color:#fff}
html.night .btn-dark{background:var(--surf-2)}
html.night .x{background:rgba(18,30,49,.95);color:#fff}
html.night .opt-row:has(input:checked),html.night .payopt:has(input:checked){background:rgba(227,38,43,.14)}
html.night .d-steps span.done{background:rgba(31,143,85,.18);color:#5ED394}
html.night .cc{background-color:#060B14}
html.night .footer{background:#060B14}
html.night .legal-top,html.night .suivi-top{background:#060B14}
html.night .toast{background:var(--surf-2);border:1px solid var(--line)}
html.night .burst{background:var(--surf);color:#fff}
html.night .track i{border-color:var(--surf)}
html.night .track span.on{color:#fff}
html.night .legal p,html.night .legal li{color:#C3CCD9}
html.night .st-wait{background:rgba(255,199,44,.12);color:#FFD866}
html.night .st-ok{background:rgba(31,143,85,.16);color:#5ED394}
html.night .st-err{background:rgba(227,38,43,.16);color:#FF7A7E}
html.night .st-info{background:rgba(91,155,255,.14);color:var(--blue)}
html.night .facts .ico{color:#FF5A5F}
html.night .price,html.night .pm-h b,html.night .d-total b{color:#FF5A5F}

/* Onglets de la carte : sur ordinateur, tous visibles (retour à la ligne) — sur mobile, défilement horizontal */
@media (min-width:901px){
  .tabs-bar{align-items:flex-start}
  .tabs{flex-wrap:wrap;overflow:visible;gap:6px}
  .tabs button{padding:8px 13px}
  .search{width:210px}
}
html.night .tabs button.on{background:var(--red);border-color:var(--red);color:#fff}

/* Commande en ligne en pause / fermée */
.closed-banner{display:flex;gap:10px;align-items:flex-start;margin-top:16px;background:#FFF1F1;border:2px solid var(--red);color:#8E1015;border-radius:14px;padding:12px 16px;font-weight:700;max-width:720px}
.closed-banner .ico{flex:none;margin-top:3px;color:var(--red)}
html.night .closed-banner{background:rgba(227,38,43,.14);color:#FFB3B6}
.line-fee{align-items:center;padding-left:0}
.line-fee strong{font-weight:800;white-space:nowrap}

/* Produit en rupture (onglet Commandes > Produits indisponibles) */
.prod.sold .prod-img img{filter:grayscale(1);opacity:.55}
.prod.sold h4{text-decoration:line-through;text-decoration-thickness:2px}
.sold-tag{margin-left:auto;background:#EDEDED;color:#5F6B7A;border-radius:20px;padding:6px 12px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
html.night .sold-tag{background:rgba(255,255,255,.1);color:#C3CCD9}

/* Boissons : prix affiché, choix au comptoir ; produit sans photo */
.prod.counter{opacity:1;cursor:default}
.sold-tag.counter{background:#FFF4D6;color:#8A5A00}
html.night .sold-tag.counter{background:rgba(255,199,44,.14);color:#FFD866}
.prod-img.noimg{display:grid;place-items:center;background:var(--sand-2)}
.prod-img.noimg img{width:46%;height:auto;object-fit:contain;opacity:.85}
