/* Layout: replique de la maquette Burger Night — en-tête, héros néon + burger, catégories, cartes produits, panier flottant. Ambiance nuit (sombre) par défaut, version claire si le téléphone est réglé en mode clair. */
:root{
  --bg:#0A0A0C; --bg-2:#0E0E11; --card:#121215; --card-2:#1B1B20; --line:#26262B;
  --text:#FFFFFF; --muted:#CFCFD4; --dim:#9C9CA3;
  --orange:#FFC20E; --gold:#FFC20E; --ok:#3BE37F; --wa:#1f9d55;
  --ink:#0A0A0C; --btn:#FFC20E; --head:rgba(14,14,17,.94); --edge:#1C1C20; --edge-2:#2E2E34; --edge-3:#3A3A42;
  --soft-text:#E6E6E6; --chip:rgba(255,255,255,.04); --banner:#0D0D10; --slogan:#FFD23F; --hot:#FFC20E; --cat-img:#0A0806; --err:#FF7A6B;
  --display:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cond:"Oswald","Arial Narrow",Impact,sans-serif;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px)}
body{background:var(--bg);color:var(--text);font-family:var(--display);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--bg-2)}
img{max-width:100%;display:block}
a{color:var(--orange)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:1400px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:700px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 1rem var(--display);text-decoration:none;border:0;border-radius:14px;cursor:pointer;padding:16px 26px;min-height:48px}
.btn-orange{background:linear-gradient(180deg,#FFC20E,#FFC20E);color:#0A0A0C;box-shadow:0 0 24px rgba(255,194,14,.4)}
.btn-orange:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 2px var(--edge-3)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--orange)}
.neon{filter:brightness(1.4) saturate(1.25) drop-shadow(0 0 10px rgba(255,194,14,.9)) drop-shadow(0 0 28px rgba(255,194,14,.6))}
.neon-sm{filter:brightness(1.35) saturate(1.2) drop-shadow(0 0 6px rgba(255,194,14,.8))}

/* Header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--head);border-bottom:1px solid var(--edge);backdrop-filter:blur(6px)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
header.top .logo img{height:62px;width:auto}
nav.links{display:flex;gap:34px;font-size:15px;font-weight:500}
nav.links a{color:var(--text);text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent}
nav.links a:hover{color:var(--orange);border-bottom-color:var(--orange)}
.head-actions{display:flex;align-items:center;gap:10px}
.call{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap;padding:10px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--edge-3);font-variant-numeric:tabular-nums}
.call:hover{box-shadow:inset 0 0 0 1px var(--orange);color:var(--orange)}
.lang{min-width:48px;height:44px;padding:0 12px;border-radius:999px;border:0;background:var(--orange);color:#0A0A0C;font:800 14px var(--display);letter-spacing:1px;cursor:pointer}
.lang:hover{filter:brightness(1.1)}
.cart-btn{position:relative;width:48px;height:48px;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--text)}
.cart-btn .badge{position:absolute;top:4px;right:2px;background:var(--orange);color:#0A0A0C;font-size:11px;font-weight:700;min-width:19px;height:19px;padding:0 4px;border-radius:10px;display:grid;place-items:center}
@media (max-width:980px){nav.links{display:none}}
.call svg{display:none}
@media (max-width:520px){.call{padding:12px;color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)} .call svg{display:block} .call .num{display:none} header.top .logo img{height:50px}}

/* Hero */
.hero{border-bottom:1px solid var(--edge);overflow:hidden}
.hero .wrap{display:flex;flex-wrap:wrap;align-items:stretch;padding-left:0;padding-right:0}
.hero-text{flex:1 1 520px;min-width:0;padding:34px max(16px,env(safe-area-inset-left,0px)) 44px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.status{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--edge-3);background:var(--chip);padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600}
.dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}
.dot.open{background:var(--ok);box-shadow:0 0 0 0 rgba(59,227,127,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(59,227,127,0)}100%{box-shadow:0 0 0 0 rgba(59,227,127,0)}}
.hero-logo{width:100%;max-width:600px;height:auto}
.slogan{margin:-6px 0 4px;font-family:"Kaushan Script","Brush Script MT",cursive;font-size:clamp(28px,4vw,42px);line-height:1.1;color:var(--slogan);transform:rotate(-4deg);text-shadow:0 0 12px rgba(255,194,14,.45)}
.slogan-sm{font-size:26px;margin:0 0 12px;transform:rotate(-3deg);transform-origin:left center}
.hero .kinds{font-size:clamp(15px,2vw,22px);font-weight:600;letter-spacing:1.5px}
.hero .night{font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--hot);letter-spacing:1px;line-height:1.1;margin:0}
.hero .hours{font-size:clamp(20px,3vw,30px);font-weight:600;letter-spacing:1px;font-variant-numeric:tabular-nums}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;padding:14px 0 8px;text-align:left}
.badges div{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;line-height:1.3}
.badges .ico{width:48px;height:48px;border-radius:50%;background:#FFC20E;display:grid;place-items:center;flex:none;color:#0A0A0C}
.halal-ar{font-family:"Noto Naskh Arabic","Amiri","Traditional Arabic",serif;font-weight:800;font-size:17px}
.hero-img{flex:1 1 460px;min-width:0;min-height:420px;position:relative}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 14%,#000 38%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 14%,#000 38%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 80%,transparent 100%);mask-composite:intersect}
@media (max-width:760px){.hero-img{flex-basis:100%;min-height:0;aspect-ratio:996/910}.hero-img img{object-position:center;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%)}}

/* Sections */
section.block{padding-block:48px 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:26px}
.sec-head h2{margin:0;font-size:clamp(30px,4vw,42px);font-weight:800;line-height:1}
.sec-head .bar{width:90px;height:4px;background:var(--orange);border-radius:2px;margin-top:10px}
.sub{color:var(--muted);margin:8px 0 0;max-width:60ch}

/* Categories */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding-top:18px}
.cat{background:var(--card);border:1px solid var(--edge-2);border-radius:14px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.cat:hover,.cat.on{border-color:#FFC20E;box-shadow:0 0 18px rgba(255,194,14,.45)}
.cat img{width:100%;height:140px;object-fit:cover;object-position:center top;background:var(--cat-img)}
.cat img.contain{object-fit:contain}
.cat span{font-family:var(--cond);font-weight:600;font-size:21px;color:var(--text);text-align:center;padding:6px 0 12px;letter-spacing:.5px}

/* How to order */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.steps .ico{width:120px;height:90px;fill:none;stroke:#FFC20E;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(255,194,14,.9)) drop-shadow(0 0 10px rgba(255,194,14,.55))}
.steps .ico .soft{stroke:#FFE2A8;stroke-width:2.5}
.steps h3{margin:0;font-size:19px;font-weight:800;display:flex;align-items:baseline;gap:8px;justify-content:center}
.steps h3::before{content:counter(s);font-family:var(--cond);font-size:28px;line-height:1;color:var(--orange)}
.steps p{margin:0;color:var(--muted);font-size:14px;max-width:26ch}

/* Product cards */
.grid{display:grid;gap:22px}
.grid.burgers{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media (min-width:900px){.grid.burgers{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.burgers .card > img{height:230px}}
.grid.wraps{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.grid.menus{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card > img{width:100%;height:190px;object-fit:cover}
.card .body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:6px;flex-grow:1}
.card h3{margin:0;font-size:20px;font-weight:700}
.card p{margin:0;font-size:14px;color:var(--soft-text);line-height:1.45;flex-grow:1}
.price{font-size:26px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;padding:4px 0 8px}
.price.tbc{font-size:14px;font-weight:600;color:var(--dim)}
.add{background:var(--btn);color:#0A0A0C;border:0;border-radius:10px;font:700 15px var(--display);min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.add:hover{filter:brightness(1.08)}
.add.done{background:var(--ok)}
.card.wrap-card{flex-direction:row;flex-wrap:wrap}
.card.wrap-card > img{flex:1 1 260px;min-width:0;height:240px}
.card.wrap-card .body{flex:1 1 230px;min-width:0;justify-content:center}
.card.menu-card > img{height:auto;aspect-ratio:16/9}
.menu-card .row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 18px}
.menu-card .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:14px 18px 0}
.menu-card .opts label{font-size:12px;font-weight:600;color:var(--dim);gap:4px}
select{font:500 14px var(--display);padding:10px 10px;border-radius:10px;border:2px solid var(--edge-2);background:var(--card-2);color:var(--text);width:100%;min-height:44px}
select:focus{border-color:var(--orange);outline:none}
.menu-card .name{font-size:19px;font-weight:800;font-style:italic;color:var(--gold)}
.menu-card .price{padding:0;color:var(--text);font-size:24px}
.menu-card .old{display:block;color:var(--dim);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}

/* Menus banner */
.banner{border:3px solid var(--orange);border-radius:26px;box-shadow:0 0 30px rgba(255,194,14,.35),inset 0 0 30px rgba(255,194,14,.12);background:var(--banner);padding:18px clamp(18px,3vw,40px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.banner .txt{display:flex;flex-direction:column;gap:4px;transform:rotate(-3deg)}
.banner .big{font-size:clamp(40px,6vw,58px);font-weight:900;font-style:italic;line-height:1}
.banner .big span{color:var(--gold)}
.banner .combo{font-size:clamp(18px,2.5vw,26px);font-weight:800;font-style:italic}
.banner .from{font-size:clamp(18px,2.4vw,24px);font-weight:800;font-style:italic;color:var(--gold);padding-left:clamp(0px,8vw,110px)}
.banner .from b{font-size:1.5em}
.banner img{height:190px;width:auto;max-width:100%;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 20%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 22%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 20%,#000 78%,transparent 100%);mask-composite:intersect}

/* Extras */
.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.extra > img{width:100%;height:auto;aspect-ratio:1000/778;object-fit:cover}
.extra .body{gap:12px}
.extra h2{margin:0;font-size:26px;font-weight:800;line-height:1}
.extra .bar{width:60px;height:4px;background:var(--orange);border-radius:2px}
.list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.list li{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}
.list li:last-child{border-bottom:0}
.list .n{flex:1;min-width:0;font-weight:500}
.list .p{font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.list .p.tbc{color:var(--dim);font-weight:600;font-size:13px}
.list .add{min-height:40px;padding:0 12px;font-size:14px}

/* Perks */
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.perk{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;align-items:center;gap:20px}
.perk b{display:block;font-weight:600;font-size:17px}
.perk span{font-size:15px;color:var(--soft-text)}
.halal-ring{width:46px;height:46px;border-radius:50%;border:3px solid var(--orange);color:var(--orange);display:grid;place-items:center;flex:none;font-size:15px}

/* Zones */
.zones{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.zones .left{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:14px}
.zones .right{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:12px}
.zones .map{width:100%;max-width:640px;height:auto;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,#000 50%,transparent 100%)}
label{display:grid;gap:6px;font-weight:600;font-size:14px}
input,textarea{font:400 16px var(--display);padding:12px 14px;border-radius:12px;border:2px solid var(--edge-2);background:var(--card-2);color:var(--text);width:100%}
input:focus,textarea:focus{border-color:var(--orange);outline:none}
textarea{min-height:70px;resize:vertical}
.city-result{min-height:1.5em;font-weight:600}
.city-result .ok{color:var(--ok)}
.city-result .ko{color:var(--muted)}
.city-result .btn{margin-top:10px}
[hidden]{display:none!important}
.tiers{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tiers li{display:flex;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-size:14px}
.tiers li b{color:var(--orange)}
.tiers li span{color:var(--dim)}
.subrow{display:flex;justify-content:space-between;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.mininfo{margin:0;font-size:14px;font-weight:700;color:var(--muted)}
.mininfo.warn{color:var(--orange)}
.mininfo.ok{color:var(--ok)}
.zone{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.zone summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;gap:14px}
.zone summary::-webkit-details-marker{display:none}
.zone summary b{font-family:var(--cond);font-size:32px;color:var(--orange);line-height:1}
.zone summary .n{margin-left:auto;font-size:14px;color:var(--dim)}
.zone summary::after{content:"+";font-size:22px;font-weight:800;color:var(--orange);transition:transform .2s}
.zone[open] summary::after{transform:rotate(45deg)}
.cities{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px}
.cities span{background:var(--card-2);padding:5px 11px;border-radius:999px;font-size:14px}
.cities span.hit{background:var(--orange);color:#0A0A0C;font-weight:700}

/* Hotels */
.hotels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:720px){.hotels{grid-template-columns:1fr}}
.hotel-group{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.hotel-group.wide{grid-column:1/-1}
.hotel-group .town{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dim);margin-top:4px}
.linkbtn{background:none;border:0;padding:4px 0;color:var(--orange);font:600 15px var(--display);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hotel-group h3{margin:0;font-size:18px;font-weight:800;color:var(--gold)}
.hotel-list{display:flex;flex-wrap:wrap;gap:8px}
.hotel-list button{font:500 14px var(--display);color:var(--text);background:var(--card-2);border:1px solid var(--edge-2);border-radius:999px;padding:9px 14px;min-height:44px;cursor:pointer;text-align:left}
.hotel-list button:hover{border-color:var(--orange)}
.hotel-list button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#0A0A0C;font-weight:700}
.hotel-note{display:flex;gap:16px;align-items:flex-start;border:2px solid var(--orange);border-radius:16px;padding:18px 20px;background:rgba(255,154,26,.07);margin-top:22px}
.hotel-note b{display:block;font-size:17px;margin-bottom:4px}
.hotel-note p{margin:0;color:var(--muted);font-size:14px}
.hotel-pick{min-height:1.4em;font-weight:600;color:var(--ok);margin:14px 0 0}

/* Footer */
footer{margin-top:56px;border-top:1px solid var(--edge);background:var(--bg-2)}
footer .wrap{padding-block:32px 120px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
footer h4{margin:0 0 10px;color:var(--orange);font-size:16px}
footer p,footer li{color:var(--muted);font-size:14px;margin:0}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
footer a{color:var(--text);text-decoration:none}
footer a:hover{color:var(--orange)}
.socials{display:flex;gap:10px}
.socials a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--edge-3);background:#0E0E11}
.socials a:hover{box-shadow:inset 0 0 0 1px var(--orange)}
.legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center}
.legal-links button{background:none;border:0;color:var(--dim);font:600 14px var(--display);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px}
.legal-links button:hover{color:var(--orange)}
.copy{grid-column:1/-1;text-align:center;color:var(--dim);font-size:13px;border-top:1px solid var(--edge);padding-top:16px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

/* Cart bar + dialogs */
.cart-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(160%);z-index:35;width:min(560px,calc(100% - 24px));background:linear-gradient(180deg,#FFC20E,#FFC20E);color:#0A0A0C;border:0;border-radius:18px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;font:800 17px var(--display);cursor:pointer;box-shadow:0 10px 30px rgba(255,194,14,.35);transition:transform .35s cubic-bezier(.2,1.2,.4,1)}
.cart-bar.show{transform:translateX(-50%) translateY(0)}
.cart-bar .count{background:#0A0A0C;color:var(--gold);border-radius:999px;min-width:28px;height:28px;display:inline-grid;place-items:center;margin-right:10px;font-size:14px}
dialog{border:1px solid var(--edge-2);padding:0;border-radius:22px;width:min(540px,calc(100% - 20px));max-height:min(88vh,780px);background:var(--card);color:var(--text)}
dialog::backdrop{background:rgba(0,0,0,.7)}
.dlg{padding:22px;display:flex;flex-direction:column;gap:14px}
.dlg header{display:flex;justify-content:space-between;align-items:center}
.dlg h3{margin:0;font-size:24px;font-weight:800}
.x{background:transparent;border:0;font-size:28px;cursor:pointer;color:var(--text);line-height:1;width:44px;height:44px}
.lines{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.line{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:36px;height:36px;border-radius:10px;border:2px solid var(--edge-3);background:transparent;color:var(--text);font-weight:800;cursor:pointer}
.total{display:flex;justify-content:space-between;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.err{color:var(--err);font-weight:700;font-size:14px;min-height:1.2em;margin:0}
.wa{background:var(--wa);color:#fff}
.paychoice{border:2px solid var(--edge-2);border-radius:14px;padding:10px 14px 12px;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.paychoice legend{font-weight:700;font-size:14px;padding:0 6px}
.paychoice label{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer}
.paychoice input{width:auto;accent-color:var(--orange)}
.paynow,.paylater{display:flex;flex-direction:column;gap:12px}
.pay-stripe{background:#635bff;color:#fff}
.pay-sumup{background:#1B1B20;color:#fff;box-shadow:inset 0 0 0 2px #ffffff33}
.pay-paypal{background:#ffc439;color:#111}
.btn:disabled{opacity:.6;cursor:wait}
.paidbox{background:var(--wa);color:#fff;border-radius:14px;padding:14px 16px;font-weight:700}
.small{font-size:13px;color:var(--dim);margin:0}
.legal h4{margin:12px 0 2px;font-size:16px;color:var(--orange)}
.legal p{margin:0;color:var(--muted);font-size:14px}
/* Mode clair : suit le réglage du téléphone */
@media (prefers-color-scheme: light){
  :root{
    --bg:#FFF8EE; --bg-2:#F6ECDD; --card:#FFFFFF; --card-2:#FBF4EA; --line:#EBDDC9;
    --text:#17171C; --muted:#45454F; --dim:#6A6A74;
    --orange:#D96F00; --gold:#B85F00; --ok:#11804A; --wa:#1a8a4a;
    --head:rgba(255,248,238,.94); --edge:#EADCC8; --edge-2:#E2D3BD; --edge-3:#D8C7AE;
    --soft-text:#3E3E48; --chip:rgba(0,0,0,.03); --banner:#1A1208; --slogan:#D98200; --hot:#E07B00; --cat-img:#1A1208; --err:#C0392B;
    color-scheme:light;
  }
  /* L'en-tête, l'accueil et le pied de page gardent l'ambiance nuit (logo néon) */
  header.top,.hero,footer{
    --bg:#0A0A0C; --bg-2:#0E0E11; --card:#121215; --card-2:#1B1B20; --line:#26262B;
    --text:#FFFFFF; --muted:#CFCFD4; --dim:#9C9CA3; --orange:#FFC20E; --gold:#FFC20E; --ok:#3BE37F;
    --head:rgba(14,14,17,.94); --edge:#1C1C20; --edge-2:#2E2E34; --edge-3:#3A3A42;
    --soft-text:#E6E6E6; --chip:rgba(255,255,255,.04); --slogan:#FFD23F; --hot:#FFC20E;
    color:var(--text); color-scheme:dark;
  }
  .hero{background:var(--bg)}
  .banner{color:#fff}
  .banner .big span,.banner .from{color:#FFC20E}
  .steps .ico{stroke:#E07B00;filter:none}
  .steps .ico .soft{stroke:#F2A64A}
  .card,.steps li,.perk,.zone,.tiers li,.hotel-group,.cat{box-shadow:0 2px 10px rgba(80,50,10,.06)}
  dialog::backdrop{background:rgba(20,14,6,.55)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Commande envoyée par le site : récapitulatif enregistré sur le serveur */
.dlg.sent > :not(header):not(#doneBox):not(.ask){display:none!important}
.donebox{display:flex;flex-direction:column;gap:10px}
.donebox .done-title{background:var(--wa);color:#fff;border-radius:14px;padding:14px 16px;font-weight:800;margin:0}
.donebox .done-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.donebox .done-lines li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px}
.donebox .done-lines li span{white-space:nowrap;font-weight:700}
.donebox .done-total{font-weight:800;margin:0}
.ask{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}
.ask .btn{padding:8px 14px;min-height:0;font-size:14px}
.donebox .done-title.wait{background:var(--card-2);color:var(--text);box-shadow:inset 0 0 0 2px var(--orange)}

/* ===== Thème NightFood : bleu nuit, jaune, rouge — style affiche ===== */
:root,header.top,.hero,footer{
  --bg:#03152E; --bg-2:#041A38; --card:#0A2247; --card-2:#0F2C5A; --line:#173A70;
  --text:#FFFFFF; --muted:#C9D4EA; --dim:#8EA2C8;
  --orange:#FFC20E; --gold:#FFC20E; --hot:#FFC20E; --red:#E3141B; --btn:#FFC20E;
  --head:rgba(3,21,46,.95); --edge:#0F2A55; --edge-2:#1A3B72; --edge-3:#25508F;
  --soft-text:#E3E9F5; --chip:rgba(255,255,255,.06); --banner:#041A38; --cat-img:#03152E;
  --display:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cond:"Inter","Arial Black",system-ui,sans-serif;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root{
  --bg:#03152E; --bg-2:#041A38; --card:#0A2247; --card-2:#0F2C5A; --line:#173A70; --text:#FFFFFF; --muted:#C9D4EA; --dim:#8EA2C8;
  --orange:#FFC20E; --gold:#FFC20E; --ok:#3BE37F; --head:rgba(3,21,46,.95); --edge:#0F2A55; --edge-2:#1A3B72; --edge-3:#25508F;
  --soft-text:#E3E9F5; --chip:rgba(255,255,255,.06); --banner:#041A38; --err:#FF7A6B; color-scheme:dark}
  .card,.steps li,.perk,.zone,.tiers li,.hotel-group,.cat{box-shadow:none}
  .steps .ico{stroke:#FFC20E}.steps .ico .soft{stroke:#FFE07A}}
.neon,.neon-sm{filter:none}
header.top .logo img{height:44px}
@media (max-width:520px){header.top .logo img{height:36px}}
.btn-orange{background:#FFC20E;color:#03152E;box-shadow:6px 6px 0 var(--red);border-radius:6px;font-family:var(--cond);font-weight:900;letter-spacing:1px}
.btn-orange:hover{filter:none;transform:translate(-1px,-1px);box-shadow:8px 8px 0 var(--red)}
.lang{background:var(--red);color:#fff}
.cart-btn .badge{background:var(--red);color:#fff}
/* Accueil : fond bleu avec la diagonale lumineuse */
.hero{background:
  linear-gradient(162deg,transparent 0 58%,rgba(43,125,255,.55) 58.2%,rgba(16,70,170,.55) 59%,rgba(8,45,120,.35) 75%,rgba(3,21,46,.2) 100%),
  radial-gradient(70% 60% at 70% 30%,#0B2E66 0%,transparent 70%),#03152E;border-bottom:0}
.hero-text{align-items:flex-start;text-align:left;padding-top:48px;gap:18px}
.hero-text .status{order:-1}
.hero-logo{max-width:560px}
.tagline{margin:0;font-family:var(--cond);font-size:clamp(30px,4.4vw,52px);line-height:1.05;text-transform:uppercase;letter-spacing:.5px}
.tagline span{display:block;color:var(--gold)}
.hero .night{font-family:var(--display);font-size:clamp(16px,1.8vw,20px);font-weight:700;color:#fff;letter-spacing:.5px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tag{background:var(--red);color:#fff;font-family:var(--cond);font-weight:900;font-size:1.4em;padding:4px 12px;letter-spacing:1px}
.badges{justify-content:flex-start}
.badges .ico{background:#FFC20E;color:#03152E;border-radius:10px}
.hero-img img{object-position:center}
@media (max-width:760px){.hero-text{align-items:center;text-align:center}.hero .night,.badges{justify-content:center}.hero-img{aspect-ratio:996/813}}
/* Titres et cartes */
.sec-head h2,.card h3,.menu-card .name,.extra h2{font-family:var(--cond);font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.sec-head h2{font-size:clamp(34px,5vw,54px)}
.sec-head .bar,.extra .bar{background:var(--red);height:6px;width:70px;border-radius:0}
.card{border-radius:10px;border-color:var(--edge-2);background:linear-gradient(180deg,#0A2247,#071B3B)}
.card h3{font-size:26px}
.price{color:var(--gold);font-family:var(--cond);font-weight:900;font-size:30px}
.add{border-radius:6px;color:#03152E}
.menu-card .name{color:var(--gold);font-style:normal;font-size:24px}
.menu-card .price{font-family:var(--cond);font-weight:900}
/* Catégories : grosses étiquettes texte */
.cat{border-radius:8px;background:var(--card);border:2px solid var(--edge-2)}
.cat img{display:none}
.cat span{font-size:24px;padding:18px 0;letter-spacing:1px}
.cat:hover,.cat.on{border-color:var(--gold);box-shadow:4px 4px 0 var(--red)}
/* Bannière menus */
.banner{border:0;border-radius:10px;box-shadow:none;background:linear-gradient(135deg,#0B2E66,#041A38 60%)}
.banner .txt{transform:none}
.banner .big{font-family:var(--cond);font-weight:900;font-style:normal}
.banner .combo,.banner .from{font-style:normal}
.banner .from{padding-left:0}
.steps .ico{stroke:#FFC20E;filter:none}.steps .ico .soft{stroke:#FFE07A}
.steps h3::before{color:var(--red)}

.tagline,.sec-head h2,.card h3,.menu-card .name,.extra h2,.cat span,.banner .big,.tag,.price,.btn-orange{letter-spacing:-.02em}
.tagline{font-size:clamp(28px,3.8vw,46px);line-height:1}
.price{font-size:28px}
.cat span{font-size:20px}
.tagline,.cat span,.sec-head h2,.card h3,.extra h2,.menu-card .name,.banner .big{font-weight:900}
.hotel-note{background:rgba(255,194,14,.07)}
.menu-card .name{font-size:20px;line-height:1.1}
