
:root{--creme:#0C0B0A;--creme-2:#141210;--noir:#F4EDE1;--blanc:#1A1815;--ambre:#E8A33D;--orange-logo:#F0A800;--enseigne-creme:#F8F4E4;--enseigne-or:#F4C85C;--tomate:#C3402B;--basilic:#3E5C3F;--encre-doux:#B5AB9C;--bordeaux:#6B1F14;--pistache:#A8B573;--rouge-logo:#D92700;}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',system-ui,sans-serif;background:var(--creme);color:var(--noir);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.display{font-family:'Fraunces',serif;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.06}
.script{font-family:'Fraunces',serif;font-style:italic;font-weight:900}
@view-transition{navigation:auto}
body{animation:pageIn .4s ease}
@keyframes pageIn{from{opacity:0}}
@media (prefers-reduced-motion:reduce){body{animation:none}}
.pill{display:inline-block;border-radius:999px;text-decoration:none;text-align:center;font-family:'Inter',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:1.05rem 2.4rem;transition:background .25s ease,transform .25s ease;cursor:pointer;border:0;background:var(--rouge-logo);color:#FFFFFF}
.pill:hover{background:#BE2400;color:#FFFFFF;transform:scale(1.03)}
.pill-noir{background:var(--rouge-logo);color:#FFFFFF} .pill-noir:hover{background:#BE2400;color:#FFFFFF}
.pill-ambre{background:var(--rouge-logo);color:#FFFFFF} .pill-ambre:hover{background:#BE2400;color:#FFFFFF}
.pill-blanc{background:var(--rouge-logo);color:#FFFFFF} .pill-blanc:hover{background:#BE2400;color:#FFFFFF}
.pill-ghost{background:var(--rouge-logo);color:#FFFFFF} .pill-ghost:hover{background:#BE2400;color:#FFFFFF}
.pill-tel{background:var(--rouge-logo);color:#FFFFFF} .pill-tel:hover{background:#BE2400;color:#FFFFFF}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)} .js .reveal.on{opacity:1;transform:none}

/* bandeau + nav (version crème, pages intérieures) */
.annonce{background:var(--noir);color:var(--creme);text-align:center;padding:.55rem 1rem;font-size:.78rem;letter-spacing:.08em;font-weight:600;text-transform:uppercase}
.annonce a{color:var(--ambre);text-decoration:none;margin-left:.6rem}
.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.3rem 2.5rem;background:rgba(12,11,10,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(244,237,225,.07)}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--noir);position:relative;padding-bottom:4px} .nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--orange-logo);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)} .nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)} .nav-links a.active{color:var(--orange-logo)}
.nav-logo img{height:80px;width:auto}
.nav .pill{padding:.75rem 1.7rem;font-size:.75rem}
.nav-right{display:flex;align-items:center}
.nav-choice{display:none;font-size:.72rem;letter-spacing:.06em;font-weight:600;color:var(--noir);margin-right:1rem} .nav-choice.on{display:inline-flex;align-items:center;gap:.5rem} .nav-choice a{color:var(--tomate);text-decoration:underline;cursor:pointer}

/* hero de page */
.page-hero{padding:5rem 2.5rem 3.5rem;text-align:center;background:var(--creme);background:radial-gradient(ellipse 75% 90% at 50% 0%,rgba(240,168,0,.07),transparent 65%)}
.page-hero .eyebrow{font-weight:700;letter-spacing:.2em;font-size:.75rem;text-transform:uppercase;color:var(--tomate);margin-bottom:1rem}
.page-hero h1{font-size:clamp(3rem,8vw,6.5rem);color:var(--noir)}
.page-hero p{max-width:640px;margin:1.2rem auto 0;color:var(--encre-doux);font-size:1.05rem}
.page-hero.dark{background:var(--noir);color:var(--creme)} .page-hero.dark h1{color:var(--creme)} .page-hero.dark p{color:rgba(246,240,228,.7)} .page-hero.dark .eyebrow{color:var(--orange-logo)}

section{position:relative}
.sec{padding:5.5rem 2.5rem} .sec.alt{background:var(--creme-2)} .sec.dark{background:var(--noir);color:var(--creme)}
.inner{max-width:1200px;margin:0 auto} .inner.narrow{max-width:820px}
.sec-title{text-align:center;font-size:clamp(2rem,4vw,3.2rem);margin-bottom:2.5rem}
.card{background:var(--blanc);border-radius:20px;padding:2.2rem 2rem;border:1px solid rgba(244,237,225,.1);box-shadow:0 2px 14px rgba(20,20,20,.05)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem} .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.kpi{ text-align:center } .kpi .v{font-family:'Anton',sans-serif;font-size:2.6rem;color:var(--tomate);line-height:1;margin-bottom:.5rem;text-transform:uppercase} .kpi .l{font-size:.85rem;color:var(--encre-doux)}
.tag{display:inline-block;background:var(--orange-logo);color:var(--noir);font-family:'Anton',sans-serif;letter-spacing:.15em;font-size:.72rem;padding:.4rem .9rem;border-radius:999px;text-transform:uppercase;margin-bottom:1.2rem}
.card h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.6rem;margin-bottom:.8rem}
.card ul{list-style:none;margin-bottom:1.6rem} .card li{padding:.5rem 0;border-bottom:1px solid rgba(244,237,225,.1);color:var(--encre-doux);font-size:.93rem} .card li::before{content:'→ ';color:var(--tomate)}
.card p{color:var(--encre-doux);font-size:.93rem;margin-bottom:1.4rem}
.note{font-size:.85rem;color:var(--encre-doux)}
.steps{counter-reset:s;max-width:760px;margin:0 auto}
.steps li{list-style:none;counter-increment:s;padding:1.2rem 0 1.2rem 3.8rem;position:relative;border-bottom:1px solid rgba(244,237,225,.12);color:var(--encre-doux)}
.steps li::before{content:counter(s);position:absolute;left:0;top:1rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--noir);color:var(--creme);display:flex;align-items:center;justify-content:center;font-family:'Anton',sans-serif}
.steps strong{color:var(--noir)}
.cta-band{background:#070606;text-align:center;padding:6rem 2rem;border-top:1px solid rgba(240,168,0,.5);border-bottom:1px solid rgba(240,168,0,.5)}
.cta-band h2{font-size:clamp(2.2rem,4.5vw,3.6rem);margin-bottom:1.8rem;color:var(--noir)}

/* footer */
.footer{background:var(--creme);padding:5rem 2.5rem 2rem;border-top:1px solid rgba(240,168,0,.5)} .footer-sign{max-width:1300px;margin:0 auto;padding:2rem 0 2.4rem;overflow:hidden} .footer-sign svg{display:block;width:min(100%,1150px);margin:0 auto;height:auto;color:rgba(244,237,225,.2)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1300px;margin:0 auto 3.5rem}
.fb-logo{height:64px;width:auto;display:block;margin-bottom:.8rem}
.footer-brand p{color:var(--encre-doux);font-size:.9rem;max-width:300px}
.footer-col h4{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--tomate);margin-bottom:1.2rem}
.footer-col ul{list-style:none} .footer-col li{margin-bottom:.7rem} .footer-col a{text-decoration:none;font-size:.92rem;color:var(--noir)} .footer-col a:hover{color:var(--tomate)}
.footer-bottom{max-width:1300px;margin:0 auto;padding-top:1.6rem;border-top:1px solid rgba(244,237,225,.14);display:flex;justify-content:space-between;font-size:.78rem;color:var(--encre-doux)} .footer-bottom a{color:inherit;text-decoration:none}

/* chooser */
.chooser{position:fixed;inset:0;z-index:200;background:rgba(20,20,20,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:1.5rem} .chooser.open{display:flex}
.chooser-box{background:var(--creme);border-radius:20px;max-width:920px;width:100%;padding:2.6rem 2.4rem 2.2rem;position:relative;max-height:92vh;overflow:auto}
.chooser-close{position:absolute;top:1rem;right:1.2rem;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--noir);line-height:1}
.chooser h2{text-align:center;font-size:clamp(2rem,4vw,3rem);margin-bottom:.4rem}
.chooser .lead{text-align:center;color:var(--encre-doux);margin-bottom:2rem;font-size:.95rem}
.chooser-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.site-card{background:var(--blanc);border:2px solid rgba(244,237,225,.14);border-radius:12px;padding:1.8rem 1.6rem;transition:border-color .2s,transform .2s} .site-card:hover{border-color:var(--noir);transform:translateY(-3px)}
.site-card h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.7rem;margin-bottom:.3rem}
.site-card .addr{font-size:.9rem;color:var(--encre-doux);margin-bottom:.9rem}
.site-card .services{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem} .site-card .services span{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;background:var(--creme-2)} .site-card .services .liv{background:var(--orange-logo)}
.site-card .actions{display:flex;flex-direction:column;gap:.6rem} .site-card .pill{padding:.85rem 1.4rem;font-size:.72rem;text-align:center}
.chooser-livraison{margin-top:1.4rem;text-align:center;font-size:.9rem;color:var(--encre-doux)} .chooser-livraison a{color:var(--noir);font-weight:700;cursor:pointer}

/* ===== CARTE (façon appli de commande) ===== */
.carte-hero{padding:4.5rem 2.5rem 2.5rem;text-align:center;background:radial-gradient(ellipse 75% 90% at 50% 0%,rgba(240,168,0,.07),transparent 65%)}
.carte-hero h1{font-size:clamp(3rem,8vw,6.5rem)}
.carte-hero p{max-width:600px;margin:1rem auto 0;color:var(--encre-doux)}
.chips{position:sticky;top:calc(var(--csctx,0px) + var(--csn,90px));z-index:90;background:rgba(12,11,10,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(244,237,225,.12);display:flex;align-items:center;gap:1rem}
.chips ul{display:flex;gap:.5rem;list-style:none;padding:.8rem 2.5rem;margin:0;white-space:nowrap;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.chips ul::-webkit-scrollbar{display:none}
.chips a{display:inline-block;padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid rgba(244,237,225,.3);font-family:'Anton',sans-serif;letter-spacing:.08em;font-size:.85rem;text-transform:uppercase;text-decoration:none;color:var(--noir);transition:all .2s}
.chips a:hover,.chips a.active{background:var(--noir);color:#141414;border-color:var(--noir)}
.nav-tel{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;letter-spacing:.02em;margin-right:1.2rem;white-space:nowrap;color:var(--noir)}
.nav-tel a{text-decoration:none;color:inherit} .nav-tel a:hover{opacity:.75} .nav-tel .sep{opacity:.5}
.nav-tel em{font-style:normal} .nav-tel em.ok{color:#2E7D32} .nav-tel em.ko{color:#C3402B}
@media (max-width:1099px){.nav-tel{display:none}}
.js .carte-tabbed .family{display:none} .js .carte-tabbed .family.tab-on{display:block;animation:famIn .28s ease both}
@keyframes famIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Favoris toujours visibles (hors système d'onglets), au-dessus des chips */
.js .carte-tabbed .favs{display:block}

.dish-noliv{opacity:.45;cursor:default;position:relative}
.dish-noliv:hover{transform:none;box-shadow:none}
.dish-noliv .dish-add{display:none}
.dish-noliv-tag{position:absolute;top:.7rem;left:50%;transform:translateX(-50%);z-index:3;background:var(--noir);color:#141414;font-family:'Anton',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.35rem .9rem;white-space:nowrap}
.favs{padding:3rem 0 2rem}
.favs-head{max-width:1300px;margin:0 auto 1.2rem;padding:0 2.5rem;display:flex;align-items:baseline;gap:1.5rem} .favs-head::after{content:'';flex:1;min-width:60px;border-bottom:1px solid rgba(244,237,225,.18);transform:translateY(-10px)}
.favs-head h2{font-size:clamp(1.8rem,3.5vw,2.6rem)} .favs-head .script{font-size:1.05rem;color:var(--orange-logo)}
.favs-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 2.5rem 1.5rem;scrollbar-width:none} .favs-track::-webkit-scrollbar{display:none}
.favs-track .dish{flex:0 0 280px;scroll-snap-align:start}
.family{padding:3.5rem 2.5rem 1rem;scroll-margin-top:130px}
.family-head{max-width:1300px;margin:0 auto 1.8rem;display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap} .family-head::after{content:'';flex:1;min-width:60px;border-bottom:1px solid rgba(244,237,225,.18);transform:translateY(-10px)}
.family-head h2{font-size:clamp(2.4rem,5vw,3.8rem)} .family-head .count{color:var(--orange-logo);font-family:'Fraunces',serif;font-style:italic;font-weight:700;font-size:1rem;letter-spacing:0;text-transform:none}
.family-note{max-width:1300px;margin:-0.6rem auto 1.6rem;color:var(--encre-doux);font-size:.92rem}
.tier{max-width:1300px;margin:1.6rem auto .9rem;font-family:'Anton',sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem;color:var(--tomate);border-left:3px solid var(--tomate);padding-left:.8rem} .tier span{color:var(--noir)}
.dishes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;max-width:1300px;margin:0 auto}
.dish{background:var(--blanc);border-radius:20px;overflow:hidden;border:1px solid rgba(244,237,225,.09);border-top-color:rgba(244,237,225,.22);box-shadow:0 10px 30px rgba(0,0,0,.45);display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s} .dish:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(0,0,0,.6)}
.dish-visual{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--creme-2)}
.dish-visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease} .dish:hover .dish-visual img{transform:scale(1.06)}
.dish-typo{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.7rem;line-height:1;color:#F8F4E4;letter-spacing:.02em;overflow:hidden}
.dish-typo::before{content:attr(data-ini);position:absolute;right:-1.2rem;bottom:-3.2rem;font-family:'Fraunces',serif;font-style:italic;font-weight:900;font-size:9rem;line-height:1;color:rgba(255,255,255,.10);text-transform:none;pointer-events:none}
.dish-typo::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.14;mix-blend-mode:overlay;pointer-events:none}
.dish-badge{position:absolute;top:.8rem;left:.8rem;background:var(--orange-logo);color:var(--noir);font-family:'Anton',sans-serif;letter-spacing:.12em;font-size:.68rem;padding:.35rem .7rem;border-radius:999px;text-transform:uppercase}
.dish-badge.star{background:var(--noir);color:var(--enseigne-or)}
.dish-body{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1}
.dish-body h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.15rem;line-height:1.1;margin-bottom:.4rem}
.dish-body p{font-size:.83rem;color:var(--encre-doux);line-height:1.5;flex:1;margin-bottom:.9rem} .dish-body h3{transition:color .3s ease} .dish:hover .dish-body h3{color:var(--orange-logo)}
.dish-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(244,237,225,.1);padding-top:.8rem;gap:.6rem}
.dish-price{font-family:'Fraunces',serif;font-weight:900;font-size:1.35rem} .dish-price small{font-family:'Inter',sans-serif;font-weight:500;font-size:.72rem;color:var(--encre-doux);display:block;line-height:1.2}
.dish-add{position:relative;width:34px;height:42px;background:none;border:0;padding:0;cursor:pointer;flex-shrink:0;transition:transform .2s}
.dish-add::before{content:'';position:absolute;inset:0;background:var(--rouge-logo,#D92700);-webkit-mask:url('data:image/png;base64,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') center/contain no-repeat;mask:url('data:image/png;base64,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') center/contain no-repeat;transition:background .2s}
.dish-add::after{content:'+';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:8px;font-size:1.15rem;font-weight:800;color:#FFFFFF;line-height:1;transition:color .2s}
.dish-add:hover{transform:scale(1.12)}
.dish-add:hover::before{background:var(--rouge-logo)}
.dish-add:hover::after{color:#FFFFFF}
.opt-locked{font-size:.9rem;color:var(--encre-doux);line-height:1.6;padding:.2rem 0 .1rem;border-bottom:1px dashed rgba(244,237,225,.15)}
.comp-wrap{margin:1.1rem 0}
.comp-toggle{background:none;border:1.5px solid rgba(244,237,225,.3);color:var(--noir);border-radius:999px;padding:.55rem 1.2rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s}
.comp-toggle:hover,.comp-toggle.open{border-color:var(--noir);background:rgba(244,237,225,.08)}
.comp-body{margin-top:.4rem}
.block{max-width:1300px;margin:0 auto;background:var(--blanc);border-radius:20px;padding:1.8rem 2rem;border:1px solid rgba(244,237,225,.1)}
.block h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.5rem;margin-bottom:.8rem}
.block .line{margin:.5rem 0;font-size:.92rem;color:var(--encre-doux)} .block .line strong{color:var(--noir)}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 .4rem} .pills span{border:1px solid rgba(244,237,225,.25);border-radius:999px;padding:.4rem .85rem;font-size:.85rem} .pills strong{font-family:'Fraunces',serif;font-weight:900}
.config{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:1rem}
.config div{background:var(--creme);border-radius:12px;padding:1.1rem 1rem} .config h4{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.14em;font-size:.85rem;text-transform:uppercase;color:var(--tomate);margin-bottom:.4rem} .config p{font-size:.82rem;color:var(--encre-doux)} .config strong{color:var(--noir)}
.bg-piz{background:radial-gradient(circle at 30% 22%,#D9502F,#7E2412 78%)}
.bg-pas{background:radial-gradient(circle at 30% 22%,#F0B54A,#B97A16 78%);color:#141414}
.bg-bur{background:radial-gradient(circle at 30% 22%,#4A2E17,#1E120A 78%)}
.bg-san{background:radial-gradient(circle at 30% 22%,#567947,#2C4630 78%)}
.bg-bra{background:radial-gradient(circle at 30% 22%,#8C3B2A,#4A150E 78%)}
.bg-des{background:radial-gradient(circle at 30% 22%,#F5B93F,#C07E08 78%);color:#141414}
.bg-ent{background:radial-gradient(circle at 30% 22%,#B9C481,#7F8E4F 78%);color:#141414}
.bg-tac1,.bg-tac2,.bg-tac3,.bg-tac{background:radial-gradient(circle at 30% 22%,#A96F3F,#5C351A 78%)}
.bg-boi{background:radial-gradient(circle at 30% 22%,#33455C,#141C29 78%)}
.bg-enf{background:radial-gradient(circle at 30% 22%,#E27298,#A03D63 78%)}

/* histoire */
.story{max-width:760px;margin:0 auto}
.story p{font-size:1.15rem;line-height:1.85;color:var(--encre-doux);margin-bottom:1.6rem} .story p strong{color:var(--noir)}
.story .lead{font-family:'Fraunces',serif;font-style:italic;font-weight:700;font-size:1.6rem;color:var(--noir);line-height:1.4}
.story-quote{text-align:center;padding:4.5rem 2rem;background:var(--orange-logo)} .story-quote p{font-family:'Fraunces',serif;font-style:italic;font-weight:900;font-size:clamp(1.6rem,3.5vw,2.6rem);max-width:820px;margin:0 auto;line-height:1.3}

/* mentions */
.legal h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.4rem;margin:2.4rem 0 .8rem;padding-top:1.4rem;border-top:1px solid rgba(244,237,225,.12)} .legal p,.legal li{color:var(--encre-doux);font-size:.95rem;line-height:1.75;margin-bottom:.7rem} .legal ul{padding-left:1.2rem} .ph{color:var(--tomate);font-style:italic}


/* fiche plat */
.fiche{position:fixed;inset:0;z-index:220;background:rgba(20,20,20,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:1.2rem}
.fiche.open{display:flex}
.fiche-box{background:var(--creme);border-radius:20px;max-width:560px;width:100%;max-height:92vh;overflow:auto;position:relative}
.fiche-close{position:absolute;top:.8rem;right:1rem;background:var(--creme);border:0;font-size:1.5rem;cursor:pointer;line-height:1;border-radius:50%;width:34px;height:34px;z-index:2}
.fiche-head{padding:1.8rem 1.8rem .6rem}
.fiche-head h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:1.7rem}
.fiche-head p{color:var(--encre-doux);font-size:.9rem;margin-top:.4rem}
.fiche-opts{padding:.4rem 1.8rem 1rem}
.opt-group{margin:1.1rem 0}
.opt-group h4{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.12em;font-size:.85rem;text-transform:uppercase;color:var(--tomate);margin-bottom:.5rem}
.opt-group h4 small{color:var(--encre-doux);font-family:'Inter',sans-serif;letter-spacing:0;text-transform:none;font-weight:500}
.opt{display:flex;align-items:center;gap:.6rem;padding:.45rem .2rem;font-size:.92rem;cursor:pointer;border-bottom:1px solid rgba(244,237,225,.08)}
.opt input{width:17px;height:17px;accent-color:var(--tomate);flex-shrink:0}
.opt .pr{margin-left:auto;font-family:'Fraunces',serif;font-weight:900;font-size:.9rem;white-space:nowrap}
.fiche-foot{position:sticky;bottom:0;background:var(--creme);border-top:2px solid var(--noir);padding:1rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.fiche-total{font-family:'Fraunces',serif;font-weight:900;font-size:1.5rem}
.chooser-recap{background:var(--blanc);border:1.5px dashed var(--noir);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-size:.9rem;display:none}
.chooser-recap.on{display:block}
.chooser-recap strong{display:block;margin-bottom:.2rem}
.chooser-recap button{margin-top:.6rem;background:var(--creme-2);border:0;border-radius:999px;padding:.45rem 1rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--tomate);outline-offset:3px;border-radius:4px}

/* ---- Recherche dans la carte ---- */
.chips-search{flex-shrink:0;padding-right:2.5rem}
.cs-search{display:flex;align-items:center;gap:.5rem;border:1px solid rgba(244,237,225,.25);border-radius:999px;padding:.42rem .9rem;color:var(--encre-doux);transition:border-color .2s}
.cs-search:focus-within{border-color:var(--orange-logo);color:var(--orange-logo)}
.cs-search input{background:none;border:0;outline:0;color:var(--noir);font-family:'Inter',sans-serif;font-size:.86rem;width:190px}
.cs-search input::placeholder{color:var(--encre-doux)}
.cs-search button{background:none;border:0;color:var(--encre-doux);font-size:1.1rem;cursor:pointer;line-height:1;padding:0}
.carte-tabbed.searching .family{display:block!important;animation:none!important}
.carte-tabbed.searching .family.no-hit,.carte-tabbed.searching .dish.no-hit,.carte-tabbed.searching .favs,.carte-tabbed.searching .family-note,.carte-tabbed.searching .cta-band{display:none!important}
.cs-nores{max-width:1300px;margin:2rem auto;padding:0 2.5rem;color:var(--encre-doux)}
@media (max-width:1100px){.chips-search{display:none}}

.cs-side .cs-cart-badge{display:none}
/* ---- Panier latéral (grand écran) ---- */
.cs-side{display:none;position:fixed;top:150px;right:1.4rem;width:272px;max-height:calc(100vh - 190px);z-index:80;background:var(--blanc);border:1px solid rgba(244,237,225,.14);border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.5);flex-direction:column;overflow:hidden}
.cs-side-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .7rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;border-bottom:1px solid rgba(244,237,225,.1)}
.cs-side-head button{background:none;border:0;color:var(--encre-doux);font-size:1.3rem;line-height:1;cursor:pointer}
.cs-side-items{flex:1;overflow-y:auto;padding:.6rem 1.1rem}
.cs-side-line{display:flex;gap:.5rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid rgba(244,237,225,.07);font-size:.82rem}
.cs-side-line span{flex:1;color:var(--encre-doux);line-height:1.35}
.cs-side-line em{font-style:normal;font-family:'Fraunces',serif;font-weight:600;white-space:nowrap}
.cs-side-line button{background:none;border:0;color:var(--encre-doux);cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 .2rem;opacity:.6}
.cs-side-line button:hover{opacity:1;color:var(--rouge-logo)}
.cs-side-empty{color:var(--encre-doux);font-size:.84rem;padding:1.2rem 0;line-height:1.5}
.cs-side-foot{padding:.9rem 1.1rem 1.1rem;border-top:1px solid rgba(244,237,225,.12)}
.cs-side-total{display:flex;justify-content:space-between;font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;margin-bottom:.8rem}
.cs-side-foot .pill{width:100%;padding:.85rem 1rem;font-size:.75rem}
@media (min-width:1280px){body.has-side{padding-right:300px}body.has-side .cs-side{display:flex}}

@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.dish-visual img{transition:none}}
@media (max-width:1100px){.dishes{grid-template-columns:repeat(3,1fr)}}
@media (max-width:960px){.nav{padding:.8rem 1.2rem}.nav-links{display:none}.nav-choice{display:none!important}.grid-3,.grid-2,.chooser-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2.2rem}.footer-bottom{flex-direction:column;gap:.8rem;text-align:center}.sec,.family{padding-left:1.4rem;padding-right:1.4rem}.chips ul{padding:.7rem 1.4rem}.favs-head,.favs-track{padding-left:1.4rem;padding-right:1.4rem}.config{grid-template-columns:1fr 1fr}.page-hero,.carte-hero{padding-left:1.4rem;padding-right:1.4rem}.dishes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.dishes{grid-template-columns:repeat(2,1fr)}.config{grid-template-columns:1fr}}

/* ===== Finitions cartes + pied de page (points 3 à 6) ===== */
.dishes{align-items:stretch}
.dish{height:100%}
.dish-price{white-space:nowrap}
.dish-typo{font-size:clamp(1.15rem,4.4vw,1.7rem);word-break:break-word}
/* Carte : on masque le grand bandeau noir redondant (la page EST la commande) */
body.carte-tabbed .cta-band{display:none}
@media (max-width:640px){
  /* 2 colonnes serrées : le prix tient sur une ligne, le bouton + reste compact */
  .dish-body{padding:.85rem .9rem}
  .dish-price{font-size:1.12rem}
  .dish-price small{font-size:.62rem}
  .dish-foot{gap:.35rem;padding-top:.6rem}
  .dish-add{width:30px;height:38px}
  .dish-typo{font-size:clamp(.88rem,3.7vw,1.18rem);padding:1.5rem .7rem .8rem}
  /* pied de page allégé sur mobile : on retire la grande signature décorative */
  .footer-sign{display:none}
  .footer{padding:2.4rem 1.4rem 1.4rem}
}
/* Carte : pied de page resserré — les liens de navigation sont déjà dans le menu (☰),
   on ne garde que l'essentiel (adresses, contact, mentions légales). */
body.carte-tabbed .footer-grid{display:none}
body.carte-tabbed .footer-sign{display:none}
@media (max-width:640px){
  body.carte-tabbed .footer{padding-top:2rem}
}

/* ---- Page FAQ ---- */
.faq-search{max-width:720px;margin:0 auto 3.5rem;position:relative}
.faq-search input{width:100%;border:2px solid var(--noir);border-radius:999px;background:var(--blanc);padding:1.05rem 3.2rem 1.05rem 1.6rem;font-family:'Inter',sans-serif;font-size:1rem;color:var(--noir)}
.faq-search input:focus{outline:3px solid rgba(244,237,225,.25)}
.faq-search::after{content:'\2315';position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.4rem;pointer-events:none}
.faq-status{text-align:center;font-size:.88rem;color:var(--encre-doux);margin:-2.6rem auto 2.6rem;display:none}
.faq-status.on{display:block}
.faq-wrap{max-width:860px;margin:0 auto;padding:0 2rem 6rem}
.faq-top{background:var(--creme-2);border-radius:20px;padding:2rem 2.2rem;margin-bottom:3.2rem}
.faq-top h2,.faq-cat h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:1.1rem}
.faq-top ul{list-style:none;columns:2;column-gap:2.5rem}
.faq-top li{margin-bottom:.55rem;break-inside:avoid}
.faq-top a{color:var(--noir);font-weight:600;font-size:.95rem;text-decoration:underline;text-decoration-color:rgba(244,237,225,.3);text-underline-offset:3px}
.faq-top a:hover{color:var(--tomate)}
.faq-cat{margin-bottom:3rem}
.faq-cat details{background:var(--blanc);border:1px solid rgba(244,237,225,.1);border-radius:12px;margin-bottom:.7rem;overflow:hidden;scroll-margin-top:calc(var(--csn,90px) + var(--csctx,0px) + 16px)}
.faq-cat details p{text-align:left}
.faq-cat summary{list-style:none;cursor:pointer;padding:1.1rem 1.3rem;font-weight:700;font-size:.98rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-cat summary::-webkit-details-marker{display:none}
.faq-cat summary::after{content:'+';font-family:'Anton',sans-serif;font-size:1.3rem;color:var(--tomate);transition:transform .25s;flex-shrink:0}
.faq-cat details[open] summary::after{transform:rotate(45deg)}
.faq-cat details p{padding:0 1.3rem 1.2rem;color:var(--encre-doux);font-size:.93rem;line-height:1.65}
.faq-cat details p a{color:var(--noir);font-weight:600}
.faq-cat .hidden,.faq-top li.hidden,.faq-cat.hidden,.faq-top.hidden{display:none}
@media (max-width:700px){.faq-top ul{columns:1}.faq-wrap{padding:0 1.2rem 4rem}}

/* ===== Fiche produit « vivante » : pastilles tactiles + prix animé ===== */
.fiche-total.cs-bump{animation:csBump .32s ease}
@keyframes csBump{0%{transform:scale(1)}35%{transform:scale(1.14);color:var(--ambre)}100%{transform:scale(1)}}
#ficheOrder.cs-pulse{animation:csPulse .4s ease}
@keyframes csPulse{0%{box-shadow:0 0 0 0 rgba(232,163,61,.5)}100%{box-shadow:0 0 0 14px rgba(232,163,61,0)}}

@supports selector(:has(*)){
  .opt{border:1px solid rgba(244,237,225,.14);border-bottom:1px solid rgba(244,237,225,.14);border-radius:12px;padding:.62rem .8rem .62rem 2.6rem;margin-bottom:.45rem;position:relative;transition:border-color .18s,background .18s,transform .1s}
  .opt:hover{border-color:rgba(232,163,61,.4)}
  .opt:active{transform:scale(.99)}
  .opt input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
  .opt::before{content:'';position:absolute;left:.8rem;top:50%;transform:translateY(-50%) scale(1);width:20px;height:20px;border:2px solid rgba(244,237,225,.35);border-radius:6px;transition:transform .16s cubic-bezier(.3,1.6,.5,1),background .16s,border-color .16s;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#0C0B0A}
  .opt:has(input[type="radio"])::before{border-radius:50%}
  .opt:has(input:checked){border-color:var(--ambre);background:rgba(232,163,61,.12)}
  .opt:has(input:checked)::before{content:'✓';background:#6FCF7A;border-color:#6FCF7A;transform:translateY(-50%) scale(1.12)}
  .opt:has(input:checked) .pr{color:var(--ambre)}
  /* « Retirer un ingrédient » : décoché = retiré → barré et estompé */
  .comp-body .opt:has(input:checked)::before{content:'✓';background:#6FCF7A;border-color:#6FCF7A}
  .comp-body .opt:has(input:not(:checked)){opacity:.5;border-color:rgba(244,237,225,.1);background:none;text-decoration:line-through}
  .comp-body .opt:has(input:not(:checked))::before{content:'';background:none;border-color:rgba(244,237,225,.25)}
  /* Catalogues d'AJOUT (pizza / suppléments) : décoché = simplement « non ajouté », jamais barré */
  .cs-addwrap .opt:has(input:not(:checked)),.cs-suppwrap .opt:has(input:not(:checked)){opacity:1;text-decoration:none;border-color:rgba(244,237,225,.14)}
  .cs-addwrap .opt:has(input:not(:checked))::before,.cs-suppwrap .opt:has(input:not(:checked))::before{content:'';background:none;border:2px solid rgba(244,237,225,.35)}
}
@media(prefers-reduced-motion:reduce){
  .fiche-total.cs-bump,#ficheOrder.cs-pulse{animation:none}
  .opt::before,.opt{transition:none}
  .fiche.open .fiche-box{animation:none}
}

/* ===== Point 8 — Fiche en bottom-sheet sur mobile ===== */
@media(max-width:560px){
  .fiche{align-items:flex-end;padding:0}
  .fiche-box{max-width:100%;width:100%;max-height:90vh;border-radius:22px 22px 0 0;padding-top:.2rem}
  .fiche.open .fiche-box{animation:csSheetUp .30s cubic-bezier(.22,1,.36,1)}
  .fiche-box::before{content:"";display:block;width:40px;height:4px;border-radius:3px;background:rgba(181,171,156,.42);margin:.6rem auto .1rem}
  .fiche-close{top:.55rem;right:.8rem}
  .fiche-head{padding-top:.7rem}
}
@keyframes csSheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* ===== Point 5 — « Pour compléter » (cross-sell) ===== */
.cross-sell{margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid rgba(181,171,156,.16);}
.cross-head{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .9rem;padding:0 .2rem;}
.cross-head h3{margin:0;font-size:1.05rem;letter-spacing:.02em;color:var(--enseigne-or);}
.cross-head span{font-size:.82rem;color:var(--encre-doux);}
.cross-track{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;}
.cross-track .dish{margin:0;}
/* On masque le cross-sell pendant une recherche pour ne pas parasiter les résultats */
.carte-tabbed.searching .cross-sell{display:none;}
@media(min-width:760px){
  .cross-track{grid-template-columns:repeat(4,1fr);}
}

/* ===== Builder pizza / suppléments (15/09) ===== */
.cs-swap-note{margin:.2rem 0 .8rem;font-size:.82rem;color:var(--enseigne-or,#F4C85C);line-height:1.4}
.cs-recipe .opt{--stripe:none}
.opt .pr[data-prlbl]{color:var(--encre-doux)}
.cs-suppwrap .comp-body,.cs-addwrap .comp-body{max-height:min(60vh,520px);overflow-y:auto}
.cs-pizza-panel{margin:.2rem 0 .4rem}
.cs-pizza-panel[data-panel="2"]{margin-top:1rem;padding-top:.9rem;border-top:1px dashed rgba(244,237,225,.18)}
.cs-panel-head{font-weight:700;font-size:.95rem;color:var(--enseigne-or,#F4C85C);margin:.1rem 0 .5rem;letter-spacing:.02em}
.cs-panel-head small{font-weight:500;color:var(--encre-doux);letter-spacing:0}
.cs-var2{width:100%;margin-top:.3rem;padding:.6rem .7rem;border-radius:10px;border:1px solid rgba(244,237,225,.22);background:#17150F;color:var(--noir,#F4EDE1);font:inherit;font-size:.95rem;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23E8A33D' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}
.cs-var2:focus{outline:none;border-color:var(--ambre,#E8A33D)}
.cs-var2 option{background:#17150F;color:var(--noir,#F4EDE1)}
.cs-req-msg{margin:.5rem 0;padding:.6rem .75rem;border-radius:10px;background:rgba(195,64,43,.16);border:1px solid var(--tomate,#C3402B);color:var(--noir,#F4EDE1);font-size:.9rem;font-weight:600}
.cs-req-hi{outline:2px solid var(--tomate,#C3402B);outline-offset:3px;border-radius:8px}

/* ===== Retouches carte 2026-09-18 : cartes plats, en-têtes, Favoris onglet, balayage desserts/boissons ===== */
/* Favoris = onglet normal (plus flottant au-dessus des chips) */
.js .carte-tabbed .favs.family{display:none}
.js .carte-tabbed .favs.family.tab-on{display:block;animation:famIn .28s ease both}
.favs.family{padding:2.4rem 0 1rem;scroll-margin-top:130px}

/* Cartes plats : la photo prend le maximum de place, prix + bouton compacts */
.dishes{grid-template-columns:repeat(3,1fr)}
.dish-visual{aspect-ratio:1/1}
.dish-body{padding:.8rem .9rem .9rem}
.dish-body p{font-size:.8rem;margin-bottom:.55rem}
.dish-foot{padding-top:.5rem;gap:.4rem}
.dish-price{font-size:1.1rem}
.dish-price small{white-space:normal;font-size:.66rem;margin-top:.12rem}
.dish-add{width:30px;height:36px}
@media (max-width:1100px){.dishes{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.dishes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .family{padding-left:1rem;padding-right:1rem}
  .dishes{gap:.7rem}
  .dish-visual{aspect-ratio:4/5}
  .dish-body{padding:.65rem .7rem .75rem}
  .dish-body h3{font-size:1.02rem}
  .dish-body p{font-size:.75rem;margin-bottom:.45rem}
  .dish-price{font-size:1.02rem}
  .dish-price small{font-size:.6rem}
  .dish-add{width:28px;height:34px}
}


/* Desserts & Cocktails : balayage horizontal (comme les Favoris) */
#desserts .dishes,#boissons .dishes{display:flex;grid-template-columns:none;overflow-x:auto;gap:1rem;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:none}
#desserts .dishes::-webkit-scrollbar,#boissons .dishes::-webkit-scrollbar{display:none}
#desserts .dishes .dish,#boissons .dishes .dish{flex:0 0 min(74vw,240px);scroll-snap-align:start}
