
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Fredoka:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --red:        #D23B27;   
  --red-deep:   #B23123;   
  --red-soft:   #E25B43;   
  --orange:     #F0431E;   
  --ink:        #241510;  
  --ink-2:      #5a463d;  
  --cream:      #F5ECDD;   
  --cream-2:    #EEE1CE;   
  --cream-3:    #E7D6BE;  
  --white:      #FFFFFF;
  --shadow:     0 26px 60px -22px rgba(36,21,16,.45);
  --shadow-sm:  0 14px 30px -16px rgba(36,21,16,.40);
  --radius:     26px;
  --maxw:       1240px;
  --ease:       cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:'Manrope',system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
section{ position:relative; }
::selection{ background:var(--red); color:#fff; }

.wrap{ width:min(100% - 2.6rem, var(--maxw)); margin-inline:auto; }

body::before{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none;
  background-image:radial-gradient(rgba(36,21,16,.022) 1px, transparent 1px);
  background-size:4px 4px; opacity:.6; mix-blend-mode:multiply;
}

.display{
  font-family:'Anton',sans-serif; font-weight:400;
  text-transform:uppercase; line-height:.92; letter-spacing:.01em;
}
.eyebrow{
  font-family:'Fredoka',sans-serif; font-weight:600;
  text-transform:uppercase; letter-spacing:.22em; font-size:.78rem;
  color:var(--red-deep);
}

.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.85rem clamp(1rem,4vw,2.4rem);
  background:rgba(245,236,221,.78);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition:padding .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
}
.nav.scrolled{ padding-top:.5rem; padding-bottom:.5rem; border-color:var(--cream-3);
  box-shadow:0 10px 30px -22px rgba(36,21,16,.5); }
.nav-logo img{ height:46px; width:auto; transition:height .35s var(--ease); }
.nav.scrolled .nav-logo img{ height:38px; }
.nav-links{ display:flex; align-items:center; gap:clamp(1rem,2.4vw,2.2rem); list-style:none; }
.nav-links a{
  font-weight:700; font-size:.95rem; letter-spacing:.01em; color:var(--ink);
  position:relative; padding:.2rem 0; transition:color .25s;
}
.nav-links a:not(.nav-cta)::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--red); transition:width .3s var(--ease);
}
.nav-links a:not(.nav-cta):hover{ color:var(--red-deep); }
.nav-links a:not(.nav-cta):hover::after{ width:100%; }
.nav-cta{
  background:var(--red); color:#fff !important; padding:.6rem 1.25rem;
  border-radius:999px; font-family:'Fredoka',sans-serif; font-weight:600;
  letter-spacing:.02em; box-shadow:0 10px 22px -10px rgba(178,49,35,.7);
  transition:transform .25s var(--ease), background .25s, box-shadow .25s;
}
.nav-cta:hover{ background:var(--red-deep); transform:translateY(-2px); box-shadow:0 16px 28px -12px rgba(178,49,35,.85); }
.nav-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:.4rem; }
.nav-burger span{ width:26px; height:2.5px; background:var(--ink); border-radius:2px; transition:.3s; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:'Fredoka',sans-serif; font-weight:600; letter-spacing:.02em;
  padding:.95rem 1.7rem; border-radius:999px; cursor:pointer; border:2px solid transparent;
  transition:transform .25s var(--ease), background .25s, color .25s, box-shadow .25s, border-color .25s;
  font-size:1rem; white-space:nowrap;
}
.btn-primary{ background:var(--red); color:#fff; box-shadow:0 16px 30px -14px rgba(178,49,35,.75); }
.btn-primary:hover{ background:var(--red-deep); transform:translateY(-3px); box-shadow:0 22px 38px -16px rgba(178,49,35,.9); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--cream); transform:translateY(-3px); }
.btn-light{ background:#fff; color:var(--red-deep); box-shadow:var(--shadow-sm); }
.btn-light:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }

/* ============================================================
   HERO
   ============================================================ */
.hero{ padding:clamp(7rem,13vh,9rem) 0 clamp(2rem,5vh,3.5rem); overflow:hidden; }
.hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center;
  gap:clamp(1.5rem,4vw,3.5rem);
}
.hero-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#fff; border:1px solid var(--cream-3); color:var(--red-deep);
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:.82rem; letter-spacing:.05em;
  padding:.5rem 1rem; border-radius:999px; box-shadow:var(--shadow-sm);
  text-transform:uppercase;
}
.hero-badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(210,59,39,.18); }
.hero h1{
  font-family:'Anton',sans-serif; text-transform:uppercase;
  font-size:clamp(3.6rem,9.5vw,7.4rem); line-height:.92; letter-spacing:.005em;
  margin:1.3rem 0 1.9rem; color:var(--ink); padding-bottom:.15em;
}
.hero h1 .accent{ color:var(--red); position:relative; }
.hero h1 .accent::after{
  content:""; position:absolute; left:0; right:0; bottom:.08em; height:.12em;
  background:var(--red); border-radius:6px; transform:scaleX(0); transform-origin:left;
  animation:underline 1s var(--ease) .5s forwards;
}
@keyframes underline{ to{ transform:scaleX(1); } }
.hero-sub{ font-size:clamp(1.05rem,1.6vw,1.25rem); color:var(--ink-2); max-width:30ch; font-weight:500; }
.hero-cta{ display:flex; flex-direction:column; align-items:stretch; gap:.8rem; margin-top:1.9rem;
  width:fit-content; max-width:100%; }
.cta-row{ display:flex; gap:.8rem; }
.cta-row .btn{ flex:1 1 auto; padding-inline:1.2rem; white-space:nowrap; }
.hero-cta > .btn{ width:100%; }
.hero-meta{ display:flex; align-items:center; gap:1.3rem; margin-top:2rem; flex-wrap:wrap; }
.hero-meta .stars{ color:var(--red); letter-spacing:2px; font-size:1.05rem; }
.hero-meta small{ display:block; color:var(--ink-2); font-size:.82rem; }
.hero-meta strong{ font-family:'Fredoka',sans-serif; font-size:1rem; }

/* visuel produit */
.hero-visual{ position:relative; aspect-ratio:1/1.04; }
.hero-disc{
  position:absolute; inset:0; border-radius:36px;
  background:
    radial-gradient(120% 120% at 30% 18%, var(--red-soft) 0%, var(--red) 42%, var(--red-deep) 100%);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-disc::after{ /* halo */
  content:""; position:absolute; width:75%; aspect-ratio:1; border-radius:50%;
  left:50%; top:46%; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,255,255,.22), transparent 62%);
}
.hero-photo{
  position:absolute; left:50%; top:50%; width:104%;
  transform:translate(-50%,-50%); object-fit:cover;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));
  animation:floaty 6s ease-in-out infinite; z-index:2;
}
@keyframes floaty{ 0%,100%{ transform:translate(-50%,-50%); } 50%{ transform:translate(-50%,calc(-50% - 14px)); } }
.hero-stamp{
  position:absolute; z-index:3; right:-10px; top:-10px;
  width:clamp(96px,13vw,140px); height:auto;
  animation:spin 18s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.hero-pricetag{
  position:absolute; z-index:4; left:-14px; bottom:18px;
  background:#fff; color:var(--ink); border-radius:18px; padding:.7rem 1.05rem;
  box-shadow:var(--shadow); text-align:center; transform:rotate(-6deg);
}
.hero-pricetag span{ display:block; font-family:'Fredoka',sans-serif; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); }
.hero-pricetag strong{ font-family:'Anton',sans-serif; font-size:1.7rem; color:var(--red); letter-spacing:.01em; }

/* carrousel hero */
.hero-track{ display:flex; height:100%; width:100%; transition:transform .55s var(--ease); touch-action:pan-y; }
.hero-slide{ min-width:100%; height:100%; position:relative; overflow:hidden; }
.hero-slide img{ width:100%; height:108%; object-fit:cover; object-position:center; animation:heroFloat 6s ease-in-out infinite; }
@keyframes heroFloat{ 0%,100%{ transform:translateY(-4%); } 50%{ transform:translateY(calc(-4% - 12px)); } }
.hero-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(245,236,221,.92); color:var(--red-deep); font-size:1.7rem; line-height:1;
  display:grid; place-items:center; box-shadow:var(--shadow-sm); transition:transform .2s var(--ease), background .2s; }
.hero-arrow:hover{ background:#fff; transform:translateY(-50%) scale(1.08); }
.hero-arrow.prev{ left:12px; } .hero-arrow.next{ right:12px; }
.hero-dots{ position:absolute; left:0; right:0; bottom:14px; z-index:5;
  display:flex; justify-content:center; gap:.5rem; }
.hero-dots button{ width:9px; height:9px; border-radius:50%; border:0; cursor:pointer; padding:0;
  background:rgba(245,236,221,.55); transition:transform .2s, background .2s; }
.hero-dots button.active{ background:#fff; transform:scale(1.35); }
.hero-pricetag .name{ display:block; font-family:'Fredoka',sans-serif; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); }

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{
  background:var(--red-deep); color:var(--cream); overflow:hidden;
  border-block:3px solid var(--ink);
  padding:.85rem 0; white-space:nowrap; position:relative; z-index:3;
}
.marquee-track{ display:inline-flex; align-items:center; gap:2.5rem; animation:scroll 28s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee span{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; letter-spacing:.06em; }
.marquee .star{ color:var(--red-soft); font-size:1rem; }
@keyframes scroll{ to{ transform:translateX(-50%); } }

/* ============================================================
   USP BAND (bandeau rouge statique)
   ============================================================ */
.usp-band{
  background:var(--red-deep); color:var(--cream);
  border-block:3px solid var(--ink);
  position:relative; z-index:3;
}
.usp-inner{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:clamp(1rem,3.5vw,3rem); padding:1.5rem clamp(1rem,4vw,2.4rem);
}
.usp{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:.15rem; }
.usp .t{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.1rem,2.4vw,1.5rem); letter-spacing:.02em; line-height:1; }
.usp .s{ font-family:'Fredoka',sans-serif; font-weight:500; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.usp-sep{ color:var(--red-soft); font-size:1.1rem; }
@media (max-width:640px){ .usp-sep{ display:none; } .usp-inner{ gap:1.2rem 2rem; } }

/* ============================================================
   SECTION GENERIC
   ============================================================ */
.section{ padding:clamp(4rem,9vh,7rem) 0; }
.section-alt{ background:var(--cream-2); }
.section-head{ max-width:760px; margin-bottom:clamp(2rem,4vh,3.2rem); }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-title{
  font-family:'Anton',sans-serif; text-transform:uppercase; line-height:.9;
  font-size:clamp(2.6rem,6vw,4.6rem); color:var(--ink); margin-top:.6rem;
}
.section-title em{ color:var(--red); font-style:normal; }
.section-intro{ color:var(--ink-2); font-size:1.08rem; margin-top:1rem; max-width:54ch; font-weight:500; }
.section-head.center .section-intro{ margin-inline:auto; }

/* ============================================================
   BURGERS / SIGNATURE CARDS
   ============================================================ */
.signature-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.4rem,2.5vw,2.2rem);
}
.dish{
  position:relative; background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid var(--cream-3);
  display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.dish:hover{ transform:translateY(-8px); box-shadow:var(--shadow); }
.dish-media{
  position:relative; aspect-ratio:1/1; overflow:hidden;
  background:radial-gradient(120% 120% at 50% 18%, var(--red-soft), var(--red) 45%, var(--red-deep) 100%);
}
.dish-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.dish:hover .dish-media img{ transform:scale(1.05); }
.dish-tag{
  position:absolute; top:1rem; left:1rem; z-index:2;
  background:var(--ink); color:var(--cream); font-family:'Fredoka',sans-serif; font-weight:600;
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:.35rem .8rem; border-radius:999px;
}
.dish-price{
  position:absolute; bottom:1rem; right:1rem; z-index:2;
  background:#fff; color:var(--red-deep); font-family:'Anton',sans-serif; font-size:1.5rem;
  padding:.3rem .85rem; border-radius:14px; box-shadow:var(--shadow-sm);
}
.dish-body{ padding:1.4rem 1.5rem 1.7rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.dish-name{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.7rem; line-height:1; letter-spacing:.01em; }
.dish-desc{ color:var(--ink-2); font-size:.96rem; }
.dish-foot{ margin-top:auto; display:flex; align-items:center; gap:.6rem; padding-top:.6rem; }
.chip{
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:.74rem; letter-spacing:.04em;
  color:var(--red-deep); background:var(--cream-2); border:1px solid var(--cream-3);
  padding:.28rem .7rem; border-radius:999px; text-transform:uppercase;
}

/* ---- Incontournables (cartes éditoriales numérotées) ---- */
.incont-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(210,59,39,.30); border-radius:22px; overflow:hidden;
  background:#fff;
}
.incont-card{ position:relative; padding:1.7rem 1.5rem 1.9rem; border-left:1px solid rgba(210,59,39,.18);
  transition:background .3s var(--ease); }
.incont-card:first-child{ border-left:0; }
.incont-card:hover{ background:var(--cream); }
.incont-num{
  position:absolute; top:.9rem; right:1.1rem; font-family:'Anton',sans-serif;
  font-size:3.4rem; line-height:1; color:rgba(36,21,16,.07); pointer-events:none;
}
.incont-tag{ font-family:'Fredoka',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; font-size:.72rem; color:var(--red-deep); }
.incont-name{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.5rem;
  line-height:1; letter-spacing:.01em; color:var(--ink); margin:.55rem 0 .7rem; }
.incont-desc{ color:var(--ink-2); font-size:.94rem; }

@media (max-width:980px){
  .incont-grid{ grid-template-columns:repeat(2,1fr); }
  .incont-card:nth-child(3){ border-left:0; }
  .incont-card:nth-child(n+3){ border-top:1px solid rgba(210,59,39,.18); }
}
@media (max-width:560px){
  .incont-grid{ grid-template-columns:1fr; }
  .incont-card{ border-left:0; }
  .incont-card:not(:first-child){ border-top:1px solid rgba(210,59,39,.18); }
}

/* feature large (chicken) */
.feature{
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(1.5rem,4vw,3.5rem);
  background:var(--ink); color:var(--cream); border-radius:32px; overflow:hidden;
}
.feature.flip{ direction:rtl; }
.feature.flip > *{ direction:ltr; }
.feature-media{ position:relative; aspect-ratio:4/4.4; background:var(--red-deep); }
.feature-media img{ width:100%; height:100%; object-fit:cover; }
.feature-body{ padding:clamp(2rem,4vw,3.4rem); }
.feature-body .eyebrow{ color:var(--red-soft); }
.feature-body h3{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.2rem,4vw,3.4rem); line-height:.92; margin:.6rem 0 1rem; }
.feature-body p{ color:#e9dcc9; opacity:.86; font-size:1.05rem; }
.feature-body .btn{ margin-top:1.6rem; }

/* JAC Chicken — le burger se sépare en tranches (fond rouge) */
.ce-stage{ position:relative; aspect-ratio:1/1.28; overflow:hidden; cursor:pointer; border-radius:24px;
  background:radial-gradient(120% 120% at 50% 18%, var(--red-soft), var(--red) 45%, var(--red-deep) 100%); }
.ce-burger{ position:absolute; inset:0; display:flex; flex-direction:column;
  transition:transform .8s cubic-bezier(.16,1,.3,1); will-change:transform; }
.ce-slice{ flex:1; position:relative;
  background-image:url('assets/v2/jac-chicken.jpg'); background-size:100% 600%; background-repeat:no-repeat;
  background-position:50% calc(var(--i) * 20%);
  transition:transform .8s cubic-bezier(.16,1,.3,1), box-shadow .5s var(--ease); will-change:transform; }
/* écartement au clic : les tranches du haut montent, celles du bas descendent */
.ce-stage.open .ce-burger{ transform:scale(.84); }
.ce-stage.open .ce-slice{ transform:translateY(calc((var(--i) - 2.5) * 30px));
  box-shadow:0 10px 22px -10px rgba(0,0,0,.5); border-radius:6px; }
.ce-hint{ position:absolute; left:50%; bottom:14px; transform:translateX(-50%); z-index:4;
  background:#fff; color:var(--ink); font-family:'Fredoka',sans-serif; font-weight:600; font-size:.76rem;
  padding:.45rem .95rem; border-radius:999px; box-shadow:var(--shadow-sm); white-space:nowrap;
  display:inline-flex; align-items:center; gap:.4rem; transition:opacity .3s; }
.ce-label{ position:absolute; right:8px; top:50%; z-index:3; pointer-events:none;
  transform:translateY(-50%) translateX(16px) scale(.96); max-width:62%; text-align:left; line-height:1.1;
  background:rgba(36,21,16,.94); color:var(--cream); font-family:'Fredoka',sans-serif; font-weight:600;
  font-size:.72rem; padding:.32rem .6rem; border-radius:9px; opacity:0;
  transition:opacity .45s var(--ease), transform .45s var(--ease); box-shadow:var(--shadow-sm); }
.ce-label::before{ content:""; position:absolute; left:-7px; top:50%; transform:translateY(-50%);
  width:9px; height:9px; border-radius:50%; background:var(--red); box-shadow:0 0 0 2px #fff; }
.ce-stage.open .ce-label{ opacity:1; transform:translateY(-50%) translateX(0) scale(1); }
.ce-stage.open .ce-slice:nth-child(1) .ce-label{ transition-delay:.34s; }
.ce-stage.open .ce-slice:nth-child(2) .ce-label{ transition-delay:.42s; }
.ce-stage.open .ce-slice:nth-child(3) .ce-label{ transition-delay:.50s; }
.ce-stage.open .ce-slice:nth-child(4) .ce-label{ transition-delay:.58s; }
.ce-stage.open .ce-slice:nth-child(5) .ce-label{ transition-delay:.66s; }
.ce-stage.open .ce-slice:nth-child(6) .ce-label{ transition-delay:.74s; }

/* ============================================================
   NAPPAGES
   ============================================================ */
.nappages{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2.5vw,2rem); }
.nappage{
  background:var(--cream); border:1px solid var(--cream-3); border-radius:var(--radius);
  padding:1.6rem 1.4rem 1.8rem; text-align:center; box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease);
}
.nappage:hover{ transform:translateY(-6px) rotate(-1deg); }
.nappage img{ height:120px; width:auto; margin:0 auto .6rem; object-fit:contain; }
.nappage h4{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; color:var(--red-deep); }
.nappage .supp{ font-family:'Fredoka',sans-serif; font-weight:600; color:var(--ink); font-size:.85rem; margin-top:.2rem; }
.nappage p{ color:var(--ink-2); font-size:.9rem; margin-top:.4rem; }

/* ============================================================
   SAUCES
   ============================================================ */
.sauces{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(1rem,3vw,2.4rem); }
.sauce{ text-align:center; width:140px; }
.sauce-disc{
  width:140px; height:140px; border-radius:50%; overflow:hidden; margin:0 auto .7rem;
  background:radial-gradient(120% 120% at 50% 25%, var(--red-soft), var(--red) 45%, var(--red-deep) 100%);
  box-shadow:var(--shadow-sm); border:4px solid #fff;
  transition:transform .4s var(--ease);
}
.sauce-disc img{ width:100%; height:100%; object-fit:cover; }
.sauce:hover .sauce-disc{ transform:translateY(-6px) scale(1.04); }
.sauce span{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:.92rem; color:var(--ink); }

/* ============================================================
   HISTOIRE
   ============================================================ */
.story{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.story-media{ position:relative; text-align:center; }
.story-media img{ width:min(82%,420px); margin-inline:auto; filter:drop-shadow(0 20px 30px rgba(36,21,16,.25)); }
.story-media .blob{
  position:absolute; inset:6% 8%; border-radius:46% 54% 56% 44%/52% 48% 52% 48%;
  background:radial-gradient(120% 120% at 40% 25%, var(--red-soft), var(--red) 50%, var(--red-deep)); z-index:-1;
}
.story h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.4rem,5vw,4rem); line-height:.9; }
.story p{ color:var(--ink-2); font-size:1.08rem; margin-top:1.1rem; font-weight:500; }
.stats{ display:flex; gap:clamp(1rem,3vw,2.6rem); margin-top:2rem; flex-wrap:wrap; }
.stat .num{ font-family:'Anton',sans-serif; font-size:2.2rem; color:var(--red); line-height:1; }
.stat .lab{ font-size:.82rem; color:var(--ink-2); text-transform:uppercase; letter-spacing:.08em; margin-top:.3rem; font-weight:700; }

/* ============================================================
   AVIS
   ============================================================ */
.reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2.5vw,1.8rem); }
.review{
  background:#fff; border:1px solid var(--cream-3); border-radius:var(--radius);
  padding:2rem 1.7rem; box-shadow:var(--shadow-sm); position:relative;
}
.review .qmark{ font-family:'Anton',sans-serif; font-size:3.4rem; color:var(--red); line-height:.6; opacity:.25; }
.review .rstars{ color:var(--red); letter-spacing:2px; margin:-.6rem 0 .7rem; }
.review p{ color:var(--ink); font-size:1rem; }
.review .author{ margin-top:1rem; font-family:'Fredoka',sans-serif; font-weight:600; color:var(--ink-2); font-size:.88rem; }

/* note générale + carrousel d'avis */
.reviews-rating{ display:flex; flex-direction:column; align-items:center; gap:.5rem; margin-bottom:clamp(2rem,4vh,2.8rem); }
.reviews-rating .rstars{ color:var(--red); font-size:1.5rem; letter-spacing:4px; }
.reviews-rating .score{ display:flex; align-items:baseline; gap:.5rem; }
.reviews-rating .score b{ font-family:'Anton',sans-serif; font-size:clamp(2.6rem,6vw,3.6rem); color:var(--red-deep); line-height:1; }
.reviews-rating .score span{ font-family:'Anton',sans-serif; font-size:1.4rem; color:var(--ink-2); }
.reviews-rating .count{ display:inline-flex; align-items:center; gap:.5rem; font-family:'Fredoka',sans-serif; font-weight:600; color:var(--ink-2); font-size:.95rem; }
.reviews-rating .gbadge{ width:22px; height:22px; border-radius:50%; background:#fff; border:1px solid var(--cream-3);
  display:inline-grid; place-items:center; font-family:'Anton',sans-serif; font-size:.85rem; color:var(--red); box-shadow:var(--shadow-sm); vertical-align:middle; margin-right:.35rem; }
.reviews-note{ color:var(--ink-2); font-size:.85rem; margin-top:.8rem; }
.reviews-marquee{ overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.reviews-track{ display:flex; gap:1.4rem; width:max-content; padding:.5rem clamp(1rem,3vw,2rem);
  animation:reviewscroll 46s linear infinite; }
.reviews-marquee:hover .reviews-track{ animation-play-state:paused; }
.reviews-track .review{ width:clamp(280px,80vw,360px); flex:none; box-shadow:var(--shadow-sm); }
@keyframes reviewscroll{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .reviews-track{ animation:none; } }

/* ============================================================
   COMMANDER
   ============================================================ */
.order{ background:var(--red-deep); color:var(--cream); border-radius:36px; overflow:hidden; position:relative; }
.order-inner{ display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:1rem; padding:clamp(2.2rem,5vw,4rem); }
.order h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.6rem,6vw,4.6rem); line-height:.88; }
.order h2 em{ font-style:normal; color:#fff; -webkit-text-stroke:2px #fff; color:transparent; }
.order p{ opacity:.9; margin-top:1rem; font-size:1.1rem; max-width:40ch; }
.platforms{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.8rem; }
.platform{
  display:inline-flex; align-items:center; gap:.6rem; background:#fff; color:var(--ink);
  font-family:'Fredoka',sans-serif; font-weight:600; padding:.85rem 1.4rem; border-radius:999px;
  box-shadow:var(--shadow-sm); transition:transform .25s var(--ease);
}
.platform:hover{ transform:translateY(-3px); }
.platform .ico{ font-size:1.2rem; }
.order-mascot{ text-align:center; }
.order-mascot img{ width:min(74%,240px); margin-inline:auto; display:block;
  background:#fff; border-radius:20px; padding:1rem 1.2rem; box-shadow:var(--shadow); }
.order::before{ content:""; position:absolute; right:-60px; top:-60px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.06); }

/* commander — version centrée */
.order-center{ display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:clamp(2.4rem,6vw,4.2rem) clamp(1.4rem,5vw,3rem); }
.order-center::after{ content:""; position:absolute; left:-70px; bottom:-70px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.05); }
.order-mascot-top{ width:clamp(120px,16vw,170px); background:#fff; border-radius:20px; padding:.7rem .9rem;
  box-shadow:var(--shadow); margin-bottom:1.3rem; position:relative; z-index:1;
  animation:floaty2 5s ease-in-out infinite; }
@keyframes floaty2{ 0%,100%{ transform:translateY(0) rotate(-2deg); } 50%{ transform:translateY(-9px) rotate(2deg); } }
.order-center h2{ position:relative; z-index:1; margin-top:.3rem;
  font-size:clamp(2.6rem,7vw,5rem); }
.order-center p{ position:relative; z-index:1; margin:1rem auto 0; max-width:46ch; font-size:1.12rem; }
.order-center .platforms{ position:relative; z-index:1; justify-content:center; margin-top:2rem; }
.order-center .platform{ font-size:1.05rem; padding:1rem 1.7rem; }

/* ============================================================
   FAQ
   ============================================================ */
.faq{ max-width:820px; margin-inline:auto; }
.faq-item{ border-bottom:1px solid var(--cream-3); cursor:pointer; }
.faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.3rem .2rem; font-family:'Fredoka',sans-serif; font-weight:600; font-size:1.1rem; color:var(--ink);
}
.faq-toggle{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--cream-2); color:var(--red-deep);
  display:grid; place-items:center; font-size:1.3rem; transition:transform .35s var(--ease), background .25s; }
.faq-item.open .faq-toggle{ transform:rotate(45deg); background:var(--red); color:#fff; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease), padding .4s var(--ease); color:var(--ink-2); }
.faq-item.open .faq-a{ max-height:280px; padding:0 .2rem 1.3rem; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:var(--ink); color:var(--cream); padding-top:clamp(3rem,6vh,4.5rem); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1.2fr .8fr; gap:clamp(1.5rem,3vw,2.5rem); padding-bottom:2.5rem; }
.footer-brand img{ width:160px; margin-bottom:1rem; }
.footer-brand p{ opacity:.7; font-size:.94rem; max-width:30ch; }
.footer h4{ font-family:'Fredoka',sans-serif; font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:.82rem; color:var(--red-soft); margin-bottom:1rem; }
.footer a{ opacity:.82; transition:opacity .2s, color .2s; }
.footer a:hover{ opacity:1; color:var(--red-soft); }
.footer .col p, .footer .col a{ display:block; margin-bottom:.55rem; font-size:.94rem; }
.hours span:first-child{ display:inline-block; min-width:120px; opacity:.7; }
.socials{ display:flex; gap:.7rem; }
.footer .socials a{ width:42px; height:42px; margin:0; border-radius:50%; border:1px solid rgba(245,236,221,.25);
  display:inline-flex; align-items:center; justify-content:center; opacity:1; }
.footer .socials a:hover{ background:var(--red); border-color:var(--red); }
.footer .socials svg{ width:18px; height:18px; fill:currentColor; display:block; }
.footer-cta-band{ border-top:1px solid rgba(245,236,221,.14); border-bottom:1px solid rgba(245,236,221,.14);
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.6rem 0; }
.footer-cta-band strong{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.4rem,3vw,2.2rem); }
.footer-map iframe{ width:100%; height:220px; border:0; filter:grayscale(.3) contrast(1.05); display:block; }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1.3rem 0; font-size:.82rem; opacity:.7; }
.legal-links{ display:flex; gap:1.2rem; flex-wrap:wrap; }

/* ============================================================
   REVEAL ANIMATION
   ============================================================ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.visible{ opacity:1; transform:none; }

/* ============================================================
   MENU PAGE
   ============================================================ */
.menu-hero{ padding:clamp(7rem,12vh,9rem) 0 2rem; text-align:center; }
.menu-hero h1{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(3rem,8vw,6rem); line-height:.9; }
.menu-hero h1 em{ color:var(--red); font-style:normal; }
.menu-hero p{ color:var(--ink-2); margin-top:.8rem; font-size:1.1rem; }

.menu-section{ padding:clamp(2.5rem,5vh,4rem) 0; }
.menu-cat-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.8rem; }
.menu-cat-head h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2rem,5vw,3.4rem); color:var(--ink); white-space:nowrap; }
.menu-cat-head .rule{ flex:1; height:3px; background:repeating-linear-gradient(90deg,var(--cream-3) 0 12px, transparent 12px 20px); }
.menu-cat-head .ic{ width:46px; height:46px; border-radius:50%; background:var(--red); color:#fff; display:grid; place-items:center; font-size:1.3rem; flex:none; }

.menu-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem 2.5rem; }
.menu-row{
  display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:start;
  padding:1.1rem; border-radius:18px; background:#fff; border:1px solid var(--cream-3);
  box-shadow:var(--shadow-sm); transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.menu-row:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.menu-row .thumb{ width:82px; height:82px; border-radius:14px; object-fit:cover; flex:none;
  background:radial-gradient(120% 120% at 50% 20%, var(--red-soft), var(--red-deep)); }
.menu-row .info h3{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; line-height:1; letter-spacing:.01em; }
.menu-row .info .badge{ display:inline-block; font-family:'Fredoka',sans-serif; font-weight:600; font-size:.66rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--red-deep); background:var(--cream-2); padding:.18rem .55rem; border-radius:999px; margin-bottom:.35rem; }
.menu-row .info p{ color:var(--ink-2); font-size:.88rem; line-height:1.45; }
.menu-row .info .opt{ color:var(--red-deep); font-size:.78rem; font-weight:600; margin-top:.4rem; }
.menu-row .price{ font-family:'Anton',sans-serif; font-size:1.5rem; color:var(--red-deep); white-space:nowrap; }

/* formules / menus simples */
.combo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.combo{
  background:var(--ink); color:var(--cream); border-radius:20px; padding:1.6rem 1.4rem; text-align:center;
  transition:transform .3s var(--ease);
}
.combo:hover{ transform:translateY(-6px); }
.combo .k{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.5rem; }
.combo .p{ font-family:'Anton',sans-serif; font-size:2rem; color:var(--red-soft); margin-top:.3rem; }
.combo small{ display:block; opacity:.7; font-size:.78rem; margin-top:.5rem; }

.pill-row{ display:flex; flex-wrap:wrap; gap:.7rem; }
.pill{ background:#fff; border:1px solid var(--cream-3); border-radius:999px; padding:.6rem 1.1rem;
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:.95rem; box-shadow:var(--shadow-sm); }
.pill b{ color:var(--red-deep); }

.note-band{ background:var(--cream-2); border:1px dashed var(--red); border-radius:18px; padding:1.1rem 1.4rem;
  color:var(--ink); font-size:.92rem; font-weight:500; }
.note-band b{ color:var(--red-deep); font-family:'Fredoka',sans-serif; }

/* poulet frit table */
.poulet-card{ background:var(--red-deep); color:var(--cream); border-radius:26px; padding:clamp(1.8rem,4vw,3rem); }
.poulet-card h3{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.8rem,4vw,2.8rem); }
.poulet-card .sub{ font-family:'Fredoka',sans-serif; opacity:.85; margin-bottom:1.4rem; }
.poulet-rows{ display:grid; gap:.7rem; }
.poulet-line{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  background:rgba(255,255,255,.08); border-radius:14px; padding:.8rem 1.2rem; }
.poulet-line .nm{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; }
.poulet-line .qty{ display:flex; gap:1.2rem; }
.poulet-line .qty b{ font-family:'Fredoka',sans-serif; font-weight:600; }
.poulet-line .qty span{ font-family:'Anton',sans-serif; color:var(--red-deep);
  background:var(--cream); padding:.08em .5em; border-radius:8px; margin-left:.25rem;
  box-shadow:0 4px 10px -4px rgba(0,0,0,.35); }

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.legal{ padding:clamp(7rem,12vh,9rem) 0 4rem; }
.legal-wrap{ width:min(100% - 2.6rem, 820px); margin-inline:auto; }
.legal h1{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.4rem,6vw,4rem); color:var(--ink); margin-bottom:.4rem; }
.legal .updated{ color:var(--ink-2); font-size:.9rem; margin-bottom:2.2rem; }
.legal h2{ font-family:'Fredoka',sans-serif; font-weight:700; font-size:1.3rem; color:var(--red-deep); margin:2rem 0 .6rem; }
.legal h3{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:1.05rem; margin:1.2rem 0 .4rem; }
.legal p, .legal li{ color:var(--ink-2); margin-bottom:.7rem; }
.legal ul{ padding-left:1.2rem; }
.legal a{ color:var(--red-deep); text-decoration:underline; }
.legal .back{ display:inline-flex; align-items:center; gap:.4rem; font-family:'Fredoka',sans-serif; font-weight:600;
  text-decoration:none; color:var(--ink-2); margin-bottom:1.4rem; transition:color .2s; }
.legal .back:hover{ color:var(--red-deep); }
.legal-highlight{ background:var(--cream-2); border:1px solid var(--cream-3); border-left:4px solid var(--red);
  border-radius:14px; padding:1.1rem 1.3rem; margin:1.1rem 0; }
.legal-highlight p{ margin:0; color:var(--ink); }
.legal-highlight strong{ color:var(--red-deep); }
.legal-table{ width:100%; border-collapse:collapse; margin:1.3rem 0; font-size:.9rem; background:#fff;
  border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); }
.legal-table th, .legal-table td{ padding:.85rem 1rem; text-align:left; border-bottom:1px solid var(--cream-3); }
.legal-table th{ background:var(--red-deep); color:var(--cream); font-family:'Fredoka',sans-serif; font-weight:600; }
.legal-table td{ color:var(--ink-2); }
.legal-table td:first-child{ color:var(--ink); font-weight:600; }
.legal-table tr:last-child td{ border-bottom:0; }
.legal-info{ background:var(--cream-2); border:1px solid var(--cream-3); border-radius:14px; padding:1.2rem 1.3rem; margin:1rem 0; }
.legal-info .lab{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red-deep); margin-top:.8rem; }
.legal-info .lab:first-child{ margin-top:0; }
.legal-info p{ margin:.15rem 0 0; color:var(--ink); }

/* ============================================================
   BANDE ALLERGÈNES (accueil)
   ============================================================ */
.allergen-band{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  background:#fff; border:1px solid var(--cream-3); border-left:5px solid var(--red);
  border-radius:var(--radius); padding:clamp(1.4rem,3vw,2rem); box-shadow:var(--shadow-sm); }
.allergen-band .txt{ max-width:60ch; }
.allergen-band .eyebrow{ color:var(--red-deep); }
.allergen-band h3{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1; margin:.4rem 0 .5rem; color:var(--ink); }
.allergen-band p{ color:var(--ink-2); font-size:1rem; }

/* ============================================================
   TABLEAU ALLERGÈNES (page dédiée)
   ============================================================ */
.allergen-scroll{ overflow-x:auto; border-radius:16px; border:1px solid var(--cream-3); box-shadow:var(--shadow-sm); margin:1.4rem 0; }
.allergen-table{ width:100%; border-collapse:collapse; background:#fff; min-width:680px; font-size:.9rem; }
.allergen-table th, .allergen-table td{ padding:.7rem .6rem; text-align:center; border-bottom:1px solid var(--cream-3); }
.allergen-table thead th{ background:var(--red-deep); color:var(--cream); font-family:'Fredoka',sans-serif; font-weight:600; font-size:.78rem; position:sticky; top:0; }
.allergen-table th:first-child, .allergen-table td:first-child{ text-align:left; font-weight:600; color:var(--ink);
  position:sticky; left:0; background:#fff; min-width:180px; }
.allergen-table thead th:first-child{ background:var(--red-deep); color:var(--cream); }
.allergen-table .cat td{ background:var(--cream-2); font-family:'Anton',sans-serif; text-transform:uppercase; color:var(--red-deep); text-align:left; letter-spacing:.02em; }
.allergen-table .cat td:first-child{ background:var(--cream-2); }
.allergen-table tbody tr:hover td{ background:var(--cream); }
.allergen-table tbody tr:hover td:first-child{ background:var(--cream); }
.dot-yes{ display:inline-block; width:14px; height:14px; border-radius:50%; background:var(--red); }
.dot-no{ color:var(--cream-3); }
.allergen-legend{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; color:var(--ink-2); font-size:.9rem; margin:.4rem 0 0; }
.allergen-legend span{ display:inline-flex; align-items:center; gap:.4rem; }

/* ============================================================
   ÉVÉNEMENTIEL
   ============================================================ */
.event-wrap{ background:var(--ink); color:var(--cream); border-radius:32px; overflow:hidden; position:relative; }
.event-wrap::before{ content:""; position:absolute; left:-80px; bottom:-80px; width:260px; height:260px; border-radius:50%; background:rgba(210,59,39,.18); }
.event-inner{ padding:clamp(2.2rem,5vw,4rem); position:relative; z-index:1; }
.event-head{ max-width:680px; }
.event-head .eyebrow{ color:var(--red-soft); }
.event-head h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.4rem,5.5vw,4rem); line-height:.92; margin:.6rem 0 1rem; }
.event-head h2 em{ color:var(--red-soft); font-style:normal; }
.event-head p{ color:#e9dcc9; opacity:.88; font-size:1.08rem; }
.event-types{ display:flex; flex-wrap:wrap; gap:.7rem; margin:1.8rem 0 2.2rem; }
.event-type{ display:inline-flex; align-items:center; gap:.5rem; background:rgba(245,236,221,.07);
  border:1px solid rgba(245,236,221,.18); border-radius:999px; padding:.6rem 1.1rem;
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:.92rem; }
.event-type .ic{ font-size:1.1rem; }
.event-sub{ font-family:'Fredoka',sans-serif; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  font-size:.78rem; color:var(--red-soft); margin-bottom:1rem; }
.event-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; margin-bottom:2.2rem; }
.event-card{ background:rgba(245,236,221,.06); border:1px solid rgba(245,236,221,.14); border-radius:18px; padding:1.2rem 1.3rem; }
.event-card .yr{ font-family:'Anton',sans-serif; color:var(--red-soft); font-size:1.1rem; }
.event-card h4{ font-family:'Fredoka',sans-serif; font-weight:700; font-size:1.05rem; margin:.15rem 0 .35rem; }
.event-card p{ color:#e9dcc9; opacity:.8; font-size:.88rem; }
.event-cta{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.event-cta .note{ color:#e9dcc9; opacity:.7; font-size:.9rem; }

/* ============================================================
   FORMULAIRE (page contact / événementiel)
   ============================================================ */
.form-page{ padding:clamp(7rem,12vh,9rem) 0 4rem; }
.form-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
.form-aside .eyebrow{ color:var(--red-deep); }
.form-aside h1{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(2.6rem,6vw,4.2rem); line-height:.9; margin:.5rem 0 1rem; color:var(--ink); }
.form-aside h1 em{ color:var(--red); font-style:normal; }
.form-aside p{ color:var(--ink-2); font-size:1.05rem; }
.form-aside .infos{ margin-top:1.8rem; display:grid; gap:.8rem; }
.form-aside .infos a, .form-aside .infos span{ display:flex; align-items:center; gap:.6rem; color:var(--ink); font-weight:600; font-family:'Fredoka',sans-serif; }
.form-aside .infos .ic{ width:38px; height:38px; border-radius:50%; background:var(--cream-2); display:grid; place-items:center; flex:none; }
.form-card{ background:#fff; border:1px solid var(--cream-3); border-radius:var(--radius); padding:clamp(1.5rem,3vw,2.4rem); box-shadow:var(--shadow-sm); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field{ display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem; }
.field.full{ grid-column:1 / -1; }
.field label{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:.85rem; color:var(--ink); }
.field label .req{ color:var(--red); }
.field input, .field select, .field textarea{
  font-family:'Manrope',sans-serif; font-size:.98rem; color:var(--ink);
  background:var(--cream); border:1px solid var(--cream-3); border-radius:12px; padding:.8rem .95rem; width:100%;
  transition:border-color .2s, box-shadow .2s; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--red);
  box-shadow:0 0 0 3px rgba(210,59,39,.15); background:#fff; }
.field textarea{ resize:vertical; min-height:120px; }
.form-card .btn{ width:100%; margin-top:.4rem; }
.form-note{ font-size:.82rem; color:var(--ink-2); margin-top:.9rem; text-align:center; }
.form-success{ display:none; background:var(--cream-2); border:1px solid var(--red); border-left:4px solid var(--red);
  border-radius:14px; padding:1.2rem 1.4rem; color:var(--ink); margin-top:1rem; }
.form-success.show{ display:block; }
@media (max-width:880px){ .form-grid{ grid-template-columns:1fr; } .form-row{ grid-template-columns:1fr; } }

/* ============================================================
   BANDEAU COOKIES
   ============================================================ */
.cookie-banner{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%) translateY(140%);
  z-index:200; width:min(100% - 1.6rem, 880px); background:#fff; color:var(--ink);
  border:1px solid var(--cream-3); border-radius:20px; box-shadow:0 24px 60px -20px rgba(36,21,16,.5);
  padding:1.3rem 1.5rem; opacity:0; transition:transform .5s var(--ease), opacity .5s var(--ease); }
.cookie-banner.show{ transform:translateX(-50%) translateY(0); opacity:1; }
.cookie-top{ display:flex; align-items:flex-start; gap:.9rem; }
.cookie-top .ic{ font-size:1.6rem; line-height:1; flex:none; }
.cookie-banner h4{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1.25rem; letter-spacing:.01em; color:var(--ink); }
.cookie-banner p{ color:var(--ink-2); font-size:.92rem; margin-top:.25rem; }
.cookie-banner p a{ color:var(--red-deep); text-decoration:underline; }
.cookie-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.1rem; }
.cookie-actions .btn{ padding:.7rem 1.2rem; font-size:.92rem; }
.cookie-actions .grow{ margin-left:auto; }
.cookie-link{ background:none; border:0; cursor:pointer; font-family:'Fredoka',sans-serif; font-weight:600;
  color:var(--ink-2); text-decoration:underline; font-size:.9rem; padding:.7rem .4rem; }
.cookie-link:hover{ color:var(--red-deep); }
/* panneau personnaliser */
.cookie-panel{ display:none; margin-top:1rem; border-top:1px solid var(--cream-3); padding-top:1rem; }
.cookie-panel.show{ display:block; }
.cookie-cat{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.6rem 0; border-bottom:1px solid var(--cream-2); }
.cookie-cat:last-child{ border-bottom:0; }
.cookie-cat .txt h5{ font-family:'Fredoka',sans-serif; font-weight:700; font-size:.95rem; color:var(--ink); }
.cookie-cat .txt p{ margin-top:.15rem; font-size:.84rem; }
/* switch */
.cookie-switch{ flex:none; width:46px; height:26px; border-radius:999px; background:var(--cream-3); border:0; cursor:pointer; position:relative; transition:background .25s; }
.cookie-switch::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:transform .25s; }
.cookie-switch[aria-checked="true"]{ background:var(--red); }
.cookie-switch[aria-checked="true"]::after{ transform:translateX(20px); }
.cookie-switch[disabled]{ opacity:.6; cursor:not-allowed; }
/* bouton flottant pour rouvrir */
.cookie-fab{ position:fixed; left:16px; bottom:16px; z-index:150; width:46px; height:46px; border-radius:50%;
  background:#fff; border:1px solid var(--cream-3); box-shadow:var(--shadow-sm); cursor:pointer; font-size:1.3rem;
  display:none; place-items:center; transition:transform .2s var(--ease); }
.cookie-fab.show{ display:grid; }
.cookie-fab:hover{ transform:scale(1.08); }
/* placeholder carte non chargée */
.map-placeholder{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem;
  background:var(--cream-2); color:var(--ink-2); min-height:200px; text-align:center; padding:1.5rem; }
@media (max-width:560px){
  .cookie-actions{ flex-direction:column; align-items:stretch; }
  .cookie-actions .btn{ width:100%; }
  .cookie-actions .grow{ margin-left:0; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; gap:2.5rem; text-align:center; }
  .hero-left{ display:flex; flex-direction:column; align-items:center; }
  .hero h1, .hero-sub{ margin-inline:auto; }
  .hero-cta{ margin-inline:auto; }
  .hero-meta{ justify-content:center; }
  .hero-meta > div{ text-align:center; }
  .hero-visual{ max-width:440px; margin-inline:auto; width:100%; }
  .feature, .feature.flip{ grid-template-columns:1fr; direction:ltr; }
  .feature-media{ aspect-ratio:auto; height:clamp(230px,42vw,360px); }
  .feature-media img{ object-position:center; }
  .story{ grid-template-columns:1fr; }
  .story-media{ order:-1; }
  .order-inner{ grid-template-columns:1fr; }
  .order-mascot{ display:none; }
  .reviews{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .combo-grid{ grid-template-columns:repeat(2,1fr); }
  .menu-list{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  /* le flou crée un "containing block" qui piège le menu fixe -> on le retire sur mobile */
  .nav{ backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(245,236,221,.97); }
  .nav-links{
    position:fixed; inset:0; width:100%; height:100vh; height:100dvh;
    background:var(--cream); flex-direction:column; align-items:center; justify-content:center;
    gap:1.8rem; padding:5.5rem 2rem 2rem; transform:translateX(100%); transition:transform .4s var(--ease);
    z-index:120; overflow-y:auto;
  }
  .nav-links.open{ transform:translateX(0); }
  .nav-links a{ font-size:1.7rem; }
  .nav-links .nav-cta{ margin-top:.6rem; font-size:1.3rem; padding:.8rem 2rem; }
  .nav-burger{ display:flex; z-index:130; }
  .nav-burger.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-burger.open span:nth-child(2){ opacity:0; }
  .nav-burger.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .signature-grid{ grid-template-columns:1fr; }
  .nappages{ grid-template-columns:1fr; }
  .combo-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero-stamp{ width:88px; }
}

/* ---------- Finitions téléphone ---------- */
@media (max-width:560px){
  .wrap{ width:min(100% - 2rem, var(--maxw)); }
  .section{ padding:3.2rem 0; }
  .hero{ padding-top:6.5rem; }
  .hero h1{ font-size:clamp(3.1rem,15vw,4.6rem); }
  .hero-sub{ font-size:1.04rem; max-width:none; }
  .hero-cta{ width:100%; align-items:stretch; gap:.7rem; }
  .cta-row{ flex-direction:column; }
  .hero-cta .btn, .cta-row .btn{ width:100%; white-space:normal; padding-inline:1rem;
    text-align:center; line-height:1.2; }
  .hero-meta{ gap:1rem 1.4rem; margin-top:1.6rem; }

  .section-head{ margin-bottom:2rem; }
  .section-title{ font-size:clamp(2.1rem,9.5vw,3rem); }
  .section-intro{ font-size:1rem; }

  /* bandeau USP : 2 colonnes propres */
  .usp-inner{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem 1rem; padding:1.3rem 1.2rem; }
  .usp{ align-items:flex-start; text-align:left; }
  .usp-sep{ display:none; }
  .usp .t{ font-size:1.15rem; }

  /* incontournables */
  .incont-card{ padding:1.4rem 1.2rem; }
  .incont-num{ font-size:2.9rem; top:.7rem; right:.9rem; }

  /* feature / histoire */
  .feature-media{ aspect-ratio:auto; height:clamp(210px,52vw,300px); }
  .feature-body{ padding:1.8rem 1.4rem 2rem; }
  .feature-body h3{ font-size:clamp(2rem,9vw,2.6rem); }
  .story h2{ font-size:clamp(2.1rem,9vw,2.8rem); }
  .stats{ gap:1.1rem 1.8rem; }

  /* nappages / sauces */
  .nappage img{ height:104px; }
  .sauce{ width:104px; }
  .sauce-disc{ width:104px; height:104px; }

  /* avis */
  .reviews-rating .score b{ font-size:2.8rem; }

  /* commander */
  .order{ border-radius:24px; }
  .order h2{ font-size:clamp(2.2rem,10vw,3rem); }
  .order p{ font-size:1rem; }
  .platforms{ gap:.6rem; }
  .platform{ flex:1 1 auto; justify-content:center; }

  /* événementiel */
  .event-inner{ padding:1.9rem 1.4rem; }
  .event-head h2{ font-size:clamp(2.1rem,9.5vw,2.9rem); }
  .event-cta{ flex-direction:column; align-items:stretch; }
  .event-cta .btn{ width:100%; }
  .event-cta .note{ text-align:center; }

  /* allergènes (bande accueil) */
  .allergen-band{ flex-direction:column; align-items:flex-start; }
  .allergen-band .btn{ width:100%; text-align:center; }

  /* faq */
  .faq-q{ font-size:1.02rem; padding:1.1rem .1rem; }

  /* footer */
  .footer-cta-band{ flex-direction:column; align-items:stretch; text-align:center; gap:1rem; }
  .footer-cta-band .btn{ width:100%; }
  .footer-cta-band strong{ font-size:1.6rem; }
  .footer-bottom{ justify-content:center; text-align:center; }
  .legal-links{ justify-content:center; width:100%; }
  .footer-map iframe{ height:180px; }

  /* menu */
  .menu-hero h1{ font-size:clamp(3rem,14vw,4.4rem); }
  .menu-cat-head h2{ font-size:clamp(1.8rem,8vw,2.4rem); }
  .menu-cat-head .ic{ width:40px; height:40px; font-size:1.1rem; }
  .menu-row{ padding:.85rem; gap:.8rem; grid-template-columns:62px 1fr auto; }
  .menu-row .thumb{ width:62px; height:62px; }
  .menu-row .info h3{ font-size:1.1rem; }
  .menu-row .price{ font-size:1.2rem; }
  .poulet-line{ flex-direction:column; align-items:flex-start; gap:.5rem; }
  .poulet-line .qty{ gap:1.4rem; }

  /* pages légales / formulaire */
  .legal-table{ font-size:.82rem; }
  .legal-table th, .legal-table td{ padding:.55rem .5rem; }
  .form-aside h1{ font-size:clamp(2.2rem,9vw,3rem); }
  .form-row{ grid-template-columns:1fr; }
}

@media (max-width:380px){
  .hero h1{ font-size:2.9rem; }
  .nav-logo img{ height:36px; }
  .usp-inner{ grid-template-columns:1fr; }
  .sauce, .sauce-disc{ width:92px; }
  .sauce-disc{ height:92px; }
  .menu-row{ grid-template-columns:54px 1fr; }
  .menu-row .price{ grid-column:2; justify-self:start; margin-top:.2rem; }
}
