/* ============================================================================
   INSTAFOOD — DESIGN SYSTEM v4
   Cheddar orange + briques noires — vrai branding
   ============================================================================ */

:root{
  --noir: #0a0a0a;
  --noir-2: #161412;
  --noir-3: #1f1c19;
  --brique: #2a201a;
  --cheddar: #ffb100;
  --cheddar-clair: #ffe18a;
  --cheddar-fonce: #d67b00;
  --rouge: #c8421c;
  --rouge-clair: #e85a35;
  --creme: #f4ede4;
  --creme-2: #d8cdb8;
  --vert: #34a853;

  --font-chunk: 'Bagel Fat One', 'Impact', sans-serif;
  --font-display: 'Anton', 'Impact', sans-serif;
  --font-hand: 'Caveat', cursive;
  --font-body: 'Manrope', system-ui, sans-serif;

  --max: 1400px;
  --easing: cubic-bezier(.7,.05,.2,1);
}

*,*::before,*::after{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top: 90px; }
body{
  background: var(--noir);
  color: var(--creme);
  font-family: var(--font-body);
  line-height: 1.5;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  background-image:
    linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'><rect width='100%25' height='100%25' fill='%23161412'/><g fill='none' stroke='%23000' stroke-width='2' opacity='.6'><path d='M0,40 L240,40 M0,80 L240,80'/><path d='M60,0 L60,40 M180,0 L180,40 M0,40 L0,80 M120,40 L120,80 M240,40 L240,80 M60,80 L60,120 M180,80 L180,120'/></g><g fill='%23000' opacity='.25'><rect x='0' y='0' width='60' height='40'/><rect x='120' y='0' width='60' height='40' fill='%23090807' opacity='.5'/><rect x='180' y='40' width='60' height='40' opacity='.6'/><rect x='60' y='80' width='60' height='40' opacity='.5'/></g></svg>");
  background-size: 240px 120px;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ cursor: pointer; font-family:inherit; border:none; }.grain{
  position: fixed; inset:0;
  pointer-events:none; z-index: 9998;
  opacity:.05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* NAV */.nav{
  position: fixed; top:0; left:0; right:0;
  z-index: 100;
  padding: 14px clamp(16px, 4vw, 48px);
  display:flex; align-items:center; justify-content:space-between;
  transition: all.35s var(--easing);
  background: linear-gradient(180deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,0) 100%);
}.nav.scrolled{
  background: rgba(10,10,10,.92);
  backdrop-filter: blur(14px);
  border-bottom: 2px solid var(--cheddar);
  padding: 10px clamp(16px, 4vw, 48px);
}.nav__logo{
  font-family: var(--font-chunk);
  font-size: 1.5rem;
  color: var(--creme);
  display:flex; align-items:center; gap:10px;
  background: var(--noir);
  padding: 4px 14px;
  border-radius: 6px;
  box-shadow: 0 2px 0 var(--cheddar);
}.nav__logo strong{ color: var(--cheddar); }.nav__links{ display:flex; gap: 28px; align-items:center; }.nav__links a{
  font-size:.78rem; letter-spacing:.15em;
  text-transform: uppercase; font-weight: 700;
  position: relative; padding: 6px 0;
  transition: color.25s ease;
}.nav__links a::after{
  content:''; position:absolute; left:50%; bottom:0;
  width:0; height:2px; background: var(--cheddar);
  transition: all.35s var(--easing);
}.nav__links a:hover,.nav__links a.active{ color: var(--cheddar); }.nav__links a:hover::after,.nav__links a.active::after{ width:100%; left:0; }.nav__cta{
  background: var(--cheddar); color: var(--noir);
  padding: 11px 20px; font-weight: 800;
  font-size:.76rem; letter-spacing:.12em;
  text-transform: uppercase; border-radius: 999px;
  transition: all.3s var(--easing);
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 4px 0 var(--cheddar-fonce);
}.nav__cta:hover{ transform: translateY(-2px); box-shadow: 0 6px 0 var(--cheddar-fonce); background: var(--cheddar-clair); }.nav__burger{ display:none; background:transparent; color:var(--creme); font-size:1.5rem; padding: 6px; }
@media (max-width: 980px){.nav__links{ display:none; }.nav__burger{ display:block; }.nav__cta{ padding: 10px 16px; font-size:.7rem; }.nav__links.open{
    display: flex; flex-direction: column;
    position: absolute; top:100%; left:0; right:0;
    background: var(--noir-2); padding: 20px; gap: 16px;
    border-bottom: 2px solid var(--cheddar);
  }
}

/* BUTTONS */.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 26px; font-size:.8rem;
  font-weight: 800; letter-spacing:.12em;
  text-transform: uppercase; border-radius: 999px;
  transition: all.3s var(--easing); cursor: pointer;
  text-align: center; justify-content: center;
}.btn--primary{ background: var(--cheddar); color: var(--noir); box-shadow: 0 5px 0 var(--cheddar-fonce); }.btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 7px 0 var(--cheddar-fonce); background: var(--cheddar-clair); }.btn--ghost{ background: transparent; color: var(--creme); border: 2px solid var(--creme); }.btn--ghost:hover{ background: var(--creme); color: var(--noir); }.btn--rouge{ background: var(--rouge); color: var(--creme); box-shadow: 0 5px 0 #8a2810; }.btn--rouge:hover{ background: var(--rouge-clair); transform: translateY(-2px); }.btn.arrow{ transition: transform.3s var(--easing); }.btn:hover.arrow{ transform: translateX(4px); }

/* ============================================================
   HERO V2 — Niveau Tasty Crousty / Shake Shack
   Image horizontale full-bleed en background + overlay narratif
   ============================================================ */.hero{
  position: relative;
  min-height: 92vh; min-height: 92svh;
  overflow: hidden; isolation: isolate;
  display: flex; align-items: flex-end;
  padding: 0;
}
/* Background cinématique full-bleed - image visible bien au-delà du texte */.hero__bg{
  position: absolute; inset: 0;
  z-index: 0;
  background-image: image-set(url('posters/hero-banner.webp') type('image/webp'), url('posters/hero-banner.png') type('image/png'));
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
/* Overlay vertical TRÈS LÉGER pour faire ressortir l'image cinématique */.hero__bg::after{
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,10,10,.18) 0%, rgba(10,10,10,.05) 35%, rgba(10,10,10,.55) 80%, rgba(10,10,10,.92) 100%);
  z-index: 1;
}
/* Vignette gauche : assez forte pour le texte mais image visible côté droit */.hero__bg::before{
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,10,10,.88) 0%, rgba(10,10,10,.65) 18%, rgba(10,10,10,.25) 38%, rgba(10,10,10,0) 55%);
  z-index: 2;
}
/* Drip cheddar vivant sous la nav */.hero__cheddar-top{
  position: absolute; top: 0; left:0; right:0;
  height: 84px; z-index: 4; pointer-events: none;
  overflow: visible;
  opacity: 1;
}.hero__cheddar-top::before{
  content: '';
  position: absolute;
  inset: -8px 0 30px;
  background:
    radial-gradient(circle at 12% 38%, rgba(255,236,168,.72) 0 9%, rgba(255,236,168,0) 10%),
    radial-gradient(circle at 33% 44%, rgba(255,211,95,.46) 0 9%, rgba(255,211,95,0) 10%),
    radial-gradient(circle at 58% 40%, rgba(255,235,160,.56) 0 8%, rgba(255,235,160,0) 9%),
    radial-gradient(circle at 76% 42%, rgba(255,196,44,.48) 0 8%, rgba(255,196,44,0) 9%),
    linear-gradient(180deg, rgba(255,202,74,.22), rgba(255,161,0,0));
  filter: blur(10px);
  opacity:.9;
  animation: cheddarGlow 7s ease-in-out infinite alternate;
}.hero__cheddar-drip{
  position: absolute;
  inset: 0;
  display:block;
  filter: drop-shadow(0 7px 14px rgba(255,165,0,.30)) drop-shadow(0 18px 28px rgba(255,120,0,.18));
  transform-origin: top center;
  animation: cheddarFloat 5.5s ease-in-out infinite;
}.hero__cheddar-drip use{
  fill: url(#cheddarGrad);
}.hero__cheddar-top::after{
  content: '';
  position: absolute;
  left: 0; right: 0; top: 4px;
  height: 18px;
  background: linear-gradient(180deg, rgba(255,236,176,.92) 0%, rgba(255,191,46,.62) 45%, rgba(255,157,0,0) 100%);
  mix-blend-mode: screen;
  opacity:.85;
  filter: blur(5px);
}.hero__cheddar-splash,.hero__cheddar-drop{
  position: absolute;
  display:block;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 30%, #fff3c0 0 18%, #ffd86c 19% 44%, #ffb100 45% 72%, #db7b00 73% 100%);
  box-shadow:
    0 0 0 1px rgba(255,214,111,.20),
    0 8px 18px rgba(255,139,0,.28),
    inset 0 1px 3px rgba(255,255,255,.28);
}.hero__cheddar-splash{
  top: 16px;
  width: 24px;
  height: 24px;
  opacity:.82;
  filter: blur(.2px);
}.hero__cheddar-splash::before,.hero__cheddar-splash::after{
  content: '';
  position: absolute;
  border-radius: inherit;
  background: inherit;
  box-shadow: inherit;
}.hero__cheddar-splash--1{ left: 17%; animation: cheddarSplash 6s ease-in-out infinite; }.hero__cheddar-splash--1::before{ width: 16px; height: 16px; left: -12px; top: 10px; }.hero__cheddar-splash--1::after{ width: 12px; height: 12px; right: -11px; top: -5px; }.hero__cheddar-splash--2{ left: 52%; width: 18px; height: 18px; animation: cheddarSplash 5.3s ease-in-out infinite 1.2s; }.hero__cheddar-splash--2::before{ width: 12px; height: 12px; left: -10px; top: -3px; }.hero__cheddar-splash--2::after{ width: 14px; height: 14px; right: -12px; top: 8px; }.hero__cheddar-splash--3{ left: 82%; width: 22px; height: 22px; animation: cheddarSplash 6.8s ease-in-out infinite.7s; }.hero__cheddar-splash--3::before{ width: 10px; height: 10px; left: -9px; top: 5px; }.hero__cheddar-splash--3::after{ width: 14px; height: 14px; right: -10px; top: -4px; }.hero__cheddar-drop{
  top: 40px;
  width: 10px;
  height: 28px;
  border-radius: 999px 999px 999px 999px / 12px 12px 18px 18px;
  opacity:.88;
  transform-origin: top center;
}.hero__cheddar-drop::after{
  content: '';
  position: absolute;
  left: 50%; bottom: -8px;
  width: 16px; height: 16px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: inherit;
  box-shadow: inherit;
}.hero__cheddar-drop--1{ left: 24%; animation: cheddarDrop 4.8s ease-in-out infinite.1s; }.hero__cheddar-drop--2{ left: 61%; width: 12px; height: 34px; animation: cheddarDrop 5.6s ease-in-out infinite 1.1s; }.hero__cheddar-drop--3{ left: 88%; width: 9px; height: 24px; animation: cheddarDrop 4.9s ease-in-out infinite 2s; }
@keyframes cheddarFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(1px); }
}
@keyframes cheddarGlow{
  0%{ opacity:.72; transform: translateY(0); }
  100%{ opacity:.96; transform: translateY(2px); }
}
@keyframes cheddarSplash{
  0%,100%{ transform: translateY(0) scale(1); opacity:.72; }
  50%{ transform: translateY(-2px) scale(1.08); opacity:.95; }
}
@keyframes cheddarDrop{
  0%,100%{ transform: translateY(0) scaleY(1); opacity:.78; }
  35%{ transform: translateY(6px) scaleY(1.12); opacity:.95; }
  55%{ transform: translateY(11px) scaleY(1.25); opacity: 1; }
  75%{ transform: translateY(4px) scaleY(.96); opacity:.88; }
}
@media (prefers-reduced-motion: reduce){.hero__cheddar-top::before,.hero__cheddar-drip,.hero__cheddar-splash,.hero__cheddar-drop{ animation: none !important; }
}.hero__inner{
  position: relative; z-index: 5;
  max-width: var(--max); margin: 0 auto;
  width: 100%;
  padding: 140px clamp(20px, 5vw, 60px) 80px;
  display: flex;
  align-items: flex-end;
  min-height: 92vh;
  min-height: 92svh;
}.hero__content{
  display: flex; flex-direction: column;
  align-items: flex-start;
  max-width: 720px;
}.hero__badge{
  display:inline-flex; align-items:center; gap:10px;
  background: var(--cheddar); color: var(--noir);
  padding: 8px 18px; border-radius: 999px;
  font-size:.72rem; letter-spacing:.2em;
  font-weight: 800; text-transform: uppercase;
  margin-bottom: 22px; width: fit-content;
  box-shadow: 0 4px 0 var(--cheddar-fonce);
  animation: fadeUp 1s var(--easing).3s both;
}.hero__badge::before{
  content:''; width:8px; height:8px;
  background: var(--noir); border-radius: 50%;
  animation: blink 1.6s infinite;
}
@keyframes blink{ 50%{ opacity:.3; } }.hero__title{
  font-family: var(--font-chunk);
  font-size: clamp(3.2rem, 10vw, 8rem);
  line-height:.85; color: var(--creme);
  text-transform: uppercase;
  letter-spacing: -.02em;
  text-shadow:
    3px 3px 0 var(--noir),
    -1px -1px 0 var(--noir),
    6px 6px 0 var(--cheddar-fonce),
    0 20px 60px rgba(0,0,0,.6);
  animation: fadeUp 1.2s var(--easing).5s both;
  margin: 0;
}.hero__title.insta{ display: block; color: var(--creme); }.hero__title.food{ display: block; color: var(--cheddar); margin-top: 4px; }.hero__title em{
  display: block;
  font-family: var(--font-hand); font-style: normal;
  font-weight: 700; color: var(--cheddar-clair);
  font-size:.26em; letter-spacing: 0;
  margin-top: 14px;
  text-transform: none;
  text-shadow: 2px 2px 0 var(--noir);
  transform: rotate(-2deg);
  opacity:.95;
}.hero__sub{
  font-size: clamp(.98rem, 1.2vw, 1.12rem);
  max-width: 580px; margin-top: 26px;
  color: var(--creme); line-height: 1.65;
  animation: fadeUp 1s var(--easing).8s both;
  text-shadow: 0 2px 12px rgba(0,0,0,.6);
}.hero__sub strong{ color: var(--cheddar); font-weight: 800; }.hero__ctas{
  display:flex; gap:12px; flex-wrap:wrap;
  margin-top: 30px;
  animation: fadeUp 1s var(--easing) 1s both;
}

/* Rating row - élégant inline plutôt que logo qui flotte */.hero__rating-row{
  display: flex; align-items: center; gap: 14px;
  margin-top: 28px;
  padding: 14px 22px;
  background: rgba(10,10,10,.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(245,166,35,.35);
  border-radius: 999px;
  animation: fadeUp 1s var(--easing) 1.2s both;
}.hero__rating-row.hero__rating-stars{
  color: var(--cheddar);
  font-size: 1.15rem;
  letter-spacing: 2px;
  text-shadow: 0 0 8px rgba(245,166,35,.5);
}.hero__rating-text{
  color: var(--creme);
  font-size:.92rem;
  font-weight: 600;
  line-height: 1.3;
}.hero__rating-text strong{
  color: var(--cheddar);
  font-weight: 800;
  font-size: 1.05rem;
}

/* Anciens éléments hero__brand / hero__logo / hero__rating - cachés (legacy compat) */.hero__brand{ display: none; }

@keyframes fadeUp{ from{ opacity:0; transform: translateY(40px); } to{ opacity:1; transform: translateY(0); } }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes float{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-10px); } }

/* Mobile / tablette */
@media (max-width: 920px){.hero{ min-height: auto; padding: 0; }.hero__bg{
    background:
      linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.85) 100%),
      image-set(url('posters/hero-banner.webp') type('image/webp'), url('posters/hero-banner.png') type('image/png')) center center / cover no-repeat;
  }.hero__bg::before{
    background: linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.65) 100%);
  }.hero__inner{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 110px 20px 50px;
    text-align: center;
  }.hero__content{ align-items: center; }.hero__sub{ margin-left: auto; margin-right: auto; }.hero__ctas{ justify-content: center; }.hero__brand{ order: -1; margin-top: 0; padding-top: 30px; }.hero__logo{ max-width: 200px; }.hero__rating{
    position: absolute;
    top: -16px; right: 50%;
    transform: translateX(50%) rotate(0deg) scale(.78);
    transform-origin: top center;
  }.hero__title em{ font-size:.32em; }.hero__badge{
    font-size:.62rem;
    padding: 6px 14px;
    letter-spacing:.14em;
  }
}
@media (max-width: 480px){.hero__inner{ padding: 118px 14px 40px; }.hero__cheddar-top{ height: 74px; }.hero__logo{ max-width: 160px; }.hero__title{ font-size: clamp(2.6rem, 13vw, 4.2rem); }.hero__badge{
    font-size:.55rem;
    padding: 5px 11px;
  }.hero__rating{
    transform: translateX(50%) rotate(0deg) scale(.65);
  }.hero__rating-num{ font-size: 2rem; }
}

/* MARQUEE */.marquee{
  background: var(--cheddar); color: var(--noir);
  padding: 16px 0; overflow: hidden; position: relative;
  border-top: 4px solid var(--noir);
  border-bottom: 4px solid var(--noir);
}.marquee__track{
  display:flex; gap: 40px; white-space: nowrap;
  animation: marquee 38s linear infinite;
  font-family: var(--font-chunk);
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  letter-spacing:.02em; text-transform: uppercase;
  width: max-content;
}.marquee__track > span{ display:flex; align-items:center; gap:40px; }.marquee__track.dot{
  display:inline-block; width:12px; height:12px;
  background: var(--noir); border-radius: 50%; flex-shrink:0;
}
@keyframes marquee{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }.marquee--rouge{ background: var(--rouge); color: var(--creme); border-color: var(--noir); }.marquee--rouge.dot{ background: var(--noir); }

/* SECTIONS */.section{
  padding: clamp(60px, 8vw, 120px) clamp(16px, 4vw, 48px);
  max-width: var(--max); margin: 0 auto;
}
/* GARANTIR scroll correct sur toutes les sections ancrées (fix bouton Commander) */
section[id]{ scroll-margin-top: 90px; }.howto[id], #commander, #carte, #avis, #location, #franchise, #histoire, #compose{
  scroll-margin-top: 90px;
}
@media (max-width: 768px){
  section[id]{ scroll-margin-top: 70px; }
}.section__head{
  text-align: center; max-width: 800px;
  margin: 0 auto clamp(40px, 6vw, 80px);
  padding: 0 16px;
}.section__eyebrow{
  display: inline-block; font-family: var(--font-hand);
  color: var(--cheddar); font-size: 1.4rem;
  font-weight: 700; margin-bottom: 8px;
  transform: rotate(-2deg);
}.section__title{
  font-family: var(--font-chunk);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  line-height:.9; text-transform: uppercase;
  color: var(--creme); letter-spacing: -.005em;
  text-shadow: 4px 4px 0 var(--noir), 6px 6px 0 var(--cheddar-fonce);
}.section__title em{ 
  font-style: normal;
  background: linear-gradient(180deg, #fff2be 0%, #ffd869 26%, #f5a623 62%, #d98400 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 2px 2px 0 rgba(0,0,0,.55), 0 0 14px rgba(245,166,35,.18);
}.section__title--facts{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap:.16em;
  line-height:.92;
  text-align: center;
  max-width: min(100%, 980px);
  margin-inline: auto;
}.section__title--facts.section__title-main{
  color: var(--creme);
  text-shadow: 4px 4px 0 var(--noir), 6px 6px 0 rgba(120,66,0,.85), 0 0 24px rgba(255,177,0,.08);
}.section__title--facts.section__title-accent{
  position: relative;
  display: inline-flex;
  align-items: center;
  padding:.06em.14em.08em;
  border-radius:.22em;
  background: linear-gradient(180deg, rgba(255,238,182,.96) 0%, rgba(255,215,109,.94) 45%, rgba(245,166,35,.92) 100%);
  color: #140d05;
  box-shadow: 
    0 12px 26px rgba(0,0,0,.18),
    0 5px 0 rgba(150,88,0,.95),
    inset 0 1px 0 rgba(255,255,255,.42);
  text-shadow: none;
  letter-spacing: -.015em;
}.section__title--facts.section__title-accent::after{
  content: '';
  position: absolute;
  left: 10%; right: 10%; bottom: -8px;
  height: 12px;
  background: radial-gradient(ellipse at center, rgba(245,166,35,.42) 0%, rgba(245,166,35,0) 72%);
  filter: blur(6px);
  opacity:.72;
  pointer-events: none;
}
@media (max-width: 768px){.section__title--facts{gap:.10em;}.section__title--facts.section__title-accent{padding:.05em.12em.08em;border-radius:.20em;}
}.section__sub{
  margin-top: 20px; color: var(--creme-2);
  font-size: 1.02rem; line-height: 1.65;
  max-width: 600px; margin-left: auto; margin-right: auto;
}.section__sub strong{ color: var(--cheddar); }

/* STATS */.stats{
  background: var(--noir);
  border-top: 4px solid var(--cheddar);
  border-bottom: 4px solid var(--cheddar);
}.stats__grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  max-width: var(--max); margin: 0 auto;
}.stat{
  padding: 50px 20px; text-align: center;
  border-right: 1px dashed var(--cheddar-fonce);
}.stat:last-child{ border-right: none; }.stat__num{
  font-family: var(--font-chunk);
  font-size: clamp(2.6rem, 5.5vw, 5rem);
  color: var(--cheddar); line-height: 1;
  text-shadow: 4px 4px 0 var(--noir);
}.stat__num small{ font-size:.55em; color: var(--cheddar-clair); }.stat__label{
  font-size:.76rem; letter-spacing:.2em;
  text-transform: uppercase; color: var(--creme);
  margin-top: 12px; font-weight: 700;
}.stat__source{
  font-family: var(--font-hand); color: var(--cheddar);
  font-size:.95rem; margin-top: 4px;
}.stat--guru{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,196,42,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,179,20,.08), transparent);
}.stat--guru.b-circledLeaves27--light{
  transform:scale(.82);
  transform-origin:center;
  max-width:220px;
}.stat--guru.stat__label{ color:var(--cheddar-clair); }
@media (max-width: 800px){.stat--guru.b-circledLeaves27--light{ transform:scale(.72); }
}

@media (max-width: 800px){.stats__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }.stat{ padding: 35px 14px; border-bottom: 1px dashed var(--cheddar-fonce); }.stat:nth-child(even){ border-right: none; }.stat:last-child{ border-bottom: none; }
}

/* PRODUCT CARDS */.products-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
}.pcard{
  background: var(--noir-2);
  border: 2px solid var(--noir-3);
  border-radius: 18px;
  overflow: hidden;
  transition: all.4s var(--easing);
  position: relative;
  display: flex; flex-direction: column;
}.pcard:hover{
  border-color: var(--cheddar);
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(245, 166, 35,.15);
}.pcard__media{
  aspect-ratio: 3/4;
  position: relative;
  overflow: hidden;
  background: var(--noir-3);
}.pcard__media img{
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform.8s var(--easing);
}.pcard:hover.pcard__media img{ transform: scale(1.04); }.pcard__price{
  position: absolute; bottom: 14px; right: 14px;
  background: var(--cheddar); color: var(--noir);
  padding: 6px 14px; border-radius: 999px;
  font-family: var(--font-chunk); font-size: 1.05rem;
  z-index: 2; box-shadow: 0 3px 0 var(--cheddar-fonce);
}.pcard__tag{
  position: absolute; top: 14px; left: 14px;
  background: var(--noir); color: var(--cheddar);
  border: 1.5px solid var(--cheddar);
  padding: 4px 10px; border-radius: 999px;
  font-size:.65rem; font-weight: 800;
  letter-spacing:.15em; text-transform: uppercase;
  z-index: 2;
}.pcard__body{
  padding: 20px 22px 24px;
  flex: 1; display: flex; flex-direction: column;
}.pcard__name{
  font-family: var(--font-chunk);
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing:.01em;
  margin-bottom: 8px;
  color: var(--creme);
}.pcard__desc{
  font-size:.88rem;
  color: var(--creme-2);
  line-height: 1.55;
  flex: 1;
}.pcard__desc strong{ color: var(--cheddar); font-weight: 700; }

/* MENU TABS */.menu-tabs{
  position: sticky; top: 70px; z-index: 50;
  background: rgba(10, 10, 10,.94);
  backdrop-filter: blur(16px);
  border-top: 2px solid var(--cheddar);
  border-bottom: 2px solid var(--cheddar);
  padding: 12px clamp(16px, 4vw, 48px);
  display: flex; gap: 10px;
  overflow-x: auto; scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--cheddar) var(--noir-2);
  -webkit-overflow-scrolling: touch;
}.menu-tabs::-webkit-scrollbar{ height: 4px; }.menu-tabs::-webkit-scrollbar-thumb{ background: var(--cheddar); border-radius: 2px; }.menu-tab{
  flex-shrink: 0; padding: 9px 18px;
  background: transparent; color: var(--creme);
  border: 2px solid var(--noir-3);
  border-radius: 999px;
  font-family: var(--font-chunk);
  font-size:.85rem; letter-spacing:.03em;
  text-transform: uppercase;
  transition: all.25s var(--easing); white-space: nowrap;
}.menu-tab:hover{ border-color: var(--cheddar); color: var(--cheddar); }.menu-tab.active{
  background: var(--cheddar); color: var(--noir);
  border-color: var(--cheddar);
  box-shadow: 0 4px 0 var(--cheddar-fonce);
}.menu-category{
  padding: clamp(50px, 7vw, 90px) clamp(16px, 4vw, 48px);
  scroll-margin-top: 130px;
}.menu-category:nth-child(odd){ background: var(--noir); }.menu-category:nth-child(even){ background: var(--noir-2); }.menu-category__head{
  text-align: center;
  max-width: 800px; margin: 0 auto 40px;
}

/* COMPOSE TIERS - avec vraies photos */.compose-zone{
  background: var(--noir-2);
  padding: clamp(50px, 7vw, 90px) clamp(16px, 4vw, 48px);
}.compose{
  background: var(--noir); border-radius: 24px;
  padding: clamp(28px, 4vw, 48px);
  margin: 0 auto; max-width: 1200px;
  border: 3px solid var(--cheddar);
  box-shadow: 0 0 80px rgba(245,166,35,.1);
}.tiers{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 14px; margin-bottom: 30px;
}.tier{
  background: var(--noir-2);
  border: 2px solid var(--noir-3);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  transition: all.3s var(--easing);
  position: relative;
}.tier:hover,.tier.active{
  border-color: var(--cheddar);
  transform: translateY(-4px);
}.tier.active{
  box-shadow: 0 8px 24px rgba(245,166,35,.25);
}.tier.active::before{
  content: '✓'; position: absolute; top: 8px; right: 8px;
  width: 26px; height: 26px;
  background: var(--cheddar); color: var(--noir);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; border: 2px solid var(--noir);
  z-index: 3;
}.tier__img{
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--noir-3);
}.tier__img img{ width:100%; height:100%; object-fit: cover; }.tier__content{ padding: 14px 12px; text-align: center; }.tier__name{ font-family: var(--font-chunk); font-size: 1.1rem; margin-bottom: 4px; line-height: 1; }.tier__meat{ font-size:.68rem; color: var(--creme-2); margin-bottom: 8px; text-transform: uppercase; letter-spacing:.1em; }.tier__price{
  font-family: var(--font-chunk); font-size: 1.5rem; color: var(--cheddar);
  text-shadow: 2px 2px 0 var(--noir);
}.options{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }.options h4{
  font-family: var(--font-chunk); font-size: 1rem;
  text-transform: uppercase; margin-bottom: 12px;
  color: var(--cheddar);
}.options h4 small{ font-family: var(--font-body); font-size:.65rem; color: var(--creme-2); font-weight: 600; letter-spacing: 0; text-transform: none; margin-left: 6px; }.options ul{ list-style: none; display: flex; flex-direction: column; gap: 5px; }.options li{
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 12px; background: var(--noir-2);
  border-radius: 8px; font-size:.82rem;
  border: 1px solid var(--noir-3);
}.options li span{ font-family: var(--font-chunk); color: var(--cheddar); font-size:.85rem; }.options.free{ color: var(--vert) !important; font-family: var(--font-body) !important; font-weight:700; font-size:.74rem !important; }.gratin-bar{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; margin-top: 22px; padding-top: 20px;
  border-top: 1px dashed var(--cheddar-fonce);
}.gratin-bar > div{
  background: var(--noir-2); border: 1.5px solid var(--noir-3);
  padding: 10px 14px; border-radius: 8px;
  font-size:.82rem; text-align: center;
}.gratin-bar strong{ color: var(--cheddar); font-family: var(--font-chunk); font-size: 1rem; margin-left: 6px; }
@media (max-width: 800px){.tiers{ grid-template-columns: repeat(2, 1fr); }.options{ grid-template-columns: 1fr; }.gratin-bar{ grid-template-columns: 1fr; }
}

/* FAQ réponses utiles */.faq{
  max-width: 900px; margin: 0 auto;
}.faq-item{
  background: var(--noir-2);
  border: 2px solid var(--noir-3);
  border-radius: 14px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color.3s ease;
}.faq-item:hover{ border-color: var(--cheddar-fonce); }.faq-item[open]{ border-color: var(--cheddar); }.faq-item summary{
  padding: 18px 24px;
  font-family: var(--font-chunk);
  font-size: 1.05rem;
  color: var(--creme);
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  list-style: none;
  letter-spacing:.01em;
}.faq-item summary::-webkit-details-marker{ display: none; }.faq-item summary::after{
  content: '+';
  font-size: 1.4rem;
  color: var(--cheddar);
  transition: transform.3s ease;
  flex-shrink: 0;
  margin-left: 12px;
}.faq-item[open] summary::after{ transform: rotate(45deg); }.faq-item__body{
  padding: 0 24px 20px;
  color: var(--creme-2);
  font-size:.95rem;
  line-height: 1.65;
}.faq-item__body strong{ color: var(--cheddar); }.faq-item__body a{ color: var(--cheddar); text-decoration: underline; }

/* FACTS GRID — réponses utiles/online guides citation-ready */.facts-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}.fact-card{
  background: var(--noir-2);
  border: 2px solid var(--noir-3);
  border-left: 4px solid var(--cheddar);
  border-radius: 12px;
  padding: 20px 24px;
  transition: all.3s var(--easing);
}.fact-card:hover{
  border-color: var(--cheddar);
  border-left-color: var(--cheddar);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(245,166,35,.12);
}.fact-card__label{
  font-family: var(--font-body);
  font-size:.68rem;
  text-transform: uppercase;
  letter-spacing:.18em;
  color: var(--cheddar);
  font-weight: 800;
  margin-bottom: 8px;
}.fact-card__value{
  font-family: var(--font-chunk);
  font-size: 1.35rem;
  color: var(--creme);
  letter-spacing:.005em;
  line-height: 1.1;
  margin-bottom: 6px;
}.fact-card__value a{ color: inherit; transition: color.2s; }.fact-card__value a:hover{ color: var(--cheddar); }.fact-card__detail{
  color: var(--creme-2);
  font-size:.85rem;
  line-height: 1.55;
}

/* AVIS SLIDER — défilement auto, pause au hover */.avis-slider{
  position: relative;
  overflow: hidden;
  margin: 0 -16px;
  padding: 10px 0 24px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}.avis-track{
  display: flex;
  gap: 18px;
  width: max-content;
  animation: avisScroll 120s linear infinite;
  padding: 0 16px;
}.avis-slider:hover.avis-track{ animation-play-state: paused; }.avis-track.avis-card{
  flex: 0 0 360px;
  min-height: 220px;
}
@keyframes avisScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (max-width: 600px){.avis-track.avis-card{ flex: 0 0 300px; }.avis-track{ animation-duration: 110s; }
}

/* AVIS — Grille classique (gardée pour compatibilité) */.avis{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 18px;
}.avis-card{
  background: var(--noir-2);
  border: 2px solid var(--cheddar-fonce);
  border-radius: 16px; padding: 22px;
  position: relative; transition: all.35s var(--easing);
}.avis-card:hover{ border-color: var(--cheddar); transform: translateY(-4px); }.avis-card__head{ display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }.avis-card__avatar{
  width: 42px; height: 42px;
  background: var(--cheddar); color: var(--noir);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-chunk); font-size: 1.2rem; flex-shrink: 0;
}.avis-card__name{ font-weight: 700; color: var(--creme); font-size:.92rem; }.avis-card__meta{ font-size:.75rem; color: var(--creme-2); }.avis-card__guide{ display: inline-block; background: var(--vert); color: var(--creme); font-size:.62rem; padding: 2px 6px; border-radius: 4px; font-weight: 700; margin-right: 6px; }.avis-card__stars{ color: var(--cheddar); margin-bottom: 8px; letter-spacing: 2px; font-size:.95rem; }.avis-card__text{ color: var(--creme); font-size:.9rem; line-height: 1.55; font-style: italic; }.avis-card__google{
  position: absolute; top: 16px; right: 16px;
  width: 22px; height: 22px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%234285f4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/><path fill='%2334a853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/><path fill='%23fbbc05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/><path fill='%23ea4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/></svg>") no-repeat center / contain;
}

/* LOCATION */.location{
  background: var(--noir-2);
  padding: clamp(60px, 8vw, 110px) clamp(16px, 4vw, 48px);
}.location__inner{
  max-width: var(--max); margin: 0 auto;
  display:grid; grid-template-columns: 1fr 1.2fr;
  gap: clamp(32px, 5vw, 70px); align-items: center;
}.location__details{ margin-top: 24px; }.location__detail{
  display:grid; grid-template-columns: 30px 1fr;
  gap: 14px; padding: 14px 0;
  border-bottom: 1px dashed var(--cheddar-fonce);
  align-items: start;
}.location__detail:last-child{ border-bottom: none; }.location__detail svg{ width:22px; height:22px; stroke: var(--cheddar); fill:none; stroke-width:1.8; margin-top: 2px; }.location__detail h4{
  font-family: var(--font-chunk); font-size:.95rem;
  letter-spacing:.04em; text-transform: uppercase;
  color: var(--cheddar); margin-bottom: 4px;
}.location__detail p,.location__detail a{ color: var(--creme); font-size:.94rem; line-height: 1.5; }.location__detail a:hover{ color: var(--cheddar); }.location__map{
  aspect-ratio: 4/5; border-radius: 18px; overflow: hidden;
  border: 3px solid var(--cheddar);
  filter: hue-rotate(-10deg) saturate(.7);
  transition: filter.5s ease;
}.location__map:hover{ filter: none; }.location__map iframe{ width:100%; height:100%; border:none; }
@media (max-width: 800px){.location__inner{ grid-template-columns: 1fr; }.location__map{ aspect-ratio: 1/1; }
}

/* PLATFORMS */.platforms{
  display: grid; grid-template-columns: repeat(6, 1fr);
  gap: 14px; margin-top: 36px;
}.platform{
  background: var(--noir-2); border: 2px solid var(--noir-3);
  border-radius: 16px; padding: 24px 14px;
  text-align: center;
  transition: all.35s var(--easing); cursor: pointer;
}.platform:hover{ border-color: var(--cheddar); transform: translateY(-6px); background: var(--noir-3); }.platform__logo{ font-family: var(--font-chunk); font-size: 1.35rem; margin-bottom: 6px; letter-spacing:.02em; }.platform__time{
  font-size:.7rem; color: var(--cheddar);
  font-weight: 700; letter-spacing:.12em; text-transform: uppercase;
}.platform--glovo .platform__logo,.platform--glovo .platform__time{ color:#15b26b; } .platform--yassir .platform__logo,.platform--yassir .platform__time{ color:#6B3FA0; } .platform--done .platform__logo,.platform--done .platform__time{ color:#FF6B1A; } .platform--kool .platform__logo,.platform--kool .platform__time{ color:#E63946; } .platform--onsite .platform__logo,.platform--onsite .platform__time,.platform--direct .platform__logo,.platform--direct .platform__time{ color: var(--cheddar); }
@media (max-width: 800px){.platforms{ grid-template-columns: repeat(2, 1fr); } }

/* NEWSLETTER (FONCTIONNELLE Netlify Forms) */.newsletter{
  background: var(--cheddar); color: var(--noir);
  padding: clamp(50px, 8vw, 100px) clamp(16px, 4vw, 48px);
  text-align: center; position: relative; overflow: hidden;
}.newsletter::before{
  content:'🌯🌯🌯'; position: absolute;
  font-size: 13rem; opacity:.04;
  top: -20px; right: -30px;
  letter-spacing: -50px; pointer-events: none;
}.newsletter h2{
  font-family: var(--font-chunk);
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height:.9; text-transform: uppercase;
  margin-bottom: 12px;
  color: #fff;
  text-shadow: 4px 4px 0 var(--noir);
  position: relative;
}.newsletter h2 em{ font-style: normal; }.newsletter > p{
  max-width: 540px; margin: 0 auto 28px;
  font-size: 1rem; line-height: 1.55;
  font-weight: 600; position: relative;
}.newsletter__form{
  max-width: 540px; margin: 0 auto;
  position: relative;
  display: grid; gap: 12px;
  grid-template-columns: 1fr 1fr;
}.newsletter__form input{
  padding: 14px 20px;
  background: var(--noir); color: var(--creme);
  border: 3px solid var(--noir);
  outline: none;
  font-family: inherit; font-size:.92rem;
  border-radius: 12px;
  transition: border-color.3s ease;
}.newsletter__form input:focus{ border-color: var(--cheddar-fonce); }.newsletter__form input::placeholder{ color: var(--creme-2); opacity:.7; }.newsletter__form input[type="email"]{ grid-column: 1 / -1; }.newsletter__form button{
  padding: 14px 24px;
  background: var(--noir); color: var(--cheddar);
  font-weight: 800; font-size:.8rem;
  letter-spacing:.12em; text-transform: uppercase;
  transition: all.3s ease;
  border-radius: 12px;
  grid-column: 1 / -1;
  margin-top: 4px;
}.newsletter__form button:hover{ background: #1a1a1a; transform: translateY(-2px); }.newsletter__form button:disabled{ opacity:.6; cursor: not-allowed; }.newsletter__success{
  display: none;
  background: var(--vert); color: var(--creme);
  padding: 16px 24px; border-radius: 12px;
  margin-top: 16px; font-weight: 700;
}.newsletter__success.show{ display: block; animation: fadeUp.5s ease; }.newsletter__legal{
  margin-top: 14px; font-size:.72rem;
  opacity:.7;
}

/* FRANCHISE */.franchise{
  position: relative;
  padding: clamp(70px, 11vw, 150px) clamp(16px, 4vw, 48px);
  background:
    linear-gradient(rgba(10,10,10,.88), rgba(10,10,10,.95)),
    url('posters/menu-overview.png') center/cover;
  isolation: isolate;
}.franchise__inner{
  max-width: var(--max); margin: 0 auto;
  display:grid; grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 70px); align-items: center;
}.franchise h2{
  font-family: var(--font-chunk);
  font-size: clamp(2.4rem, 6.5vw, 5.5rem);
  line-height:.88; text-transform: uppercase;
  text-shadow: 4px 4px 0 var(--noir), 6px 6px 0 var(--cheddar-fonce);
}.franchise h2 em{ font-style: normal; color: var(--cheddar); }.franchise p{ font-size: 1.02rem; line-height: 1.65; color: var(--creme-2); margin-bottom: 20px; }.franchise__cities{ list-style: none; margin: 24px 0; }.franchise__cities li{
  padding: 14px 18px;
  background: rgba(22,20,18,.7);
  border: 1.5px solid var(--cheddar-fonce);
  border-radius: 12px; margin-bottom: 8px;
  display:flex; justify-content:space-between; align-items: center;
  font-family: var(--font-chunk); font-size: 1.15rem;
  letter-spacing:.02em; text-transform: uppercase;
  transition: all.3s ease;
}.franchise__cities li:hover{ border-color: var(--cheddar); background: rgba(22,20,18,.95); }.franchise__cities li span{
  font-family: var(--font-body); font-size:.68rem;
  letter-spacing:.15em; padding: 5px 12px;
  border-radius: 999px; font-weight: 800;
}.franchise__cities li.open span{ background: var(--vert); color: var(--creme); }.franchise__cities li.coming span{ background: transparent; color: var(--cheddar); border: 1.5px solid var(--cheddar); }
@media (max-width: 900px){.franchise__inner{ grid-template-columns: 1fr; } }

/* FOOTER */.footer{
  background: var(--noir);
  padding: 60px clamp(16px, 4vw, 48px) 28px;
  border-top: 4px solid var(--cheddar);
}.footer__inner{
  max-width: var(--max); margin: 0 auto;
  display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 36px; margin-bottom: 44px;
}.footer__logo{
  font-family: var(--font-chunk); font-size: 2rem;
  color: var(--cheddar); margin-bottom: 12px;
  text-shadow: 3px 3px 0 var(--noir-2);
}.footer__tagline{
  font-family: var(--font-hand); color: var(--creme-2);
  font-size: 1.2rem; max-width: 320px;
  line-height: 1.4; transform: rotate(-1deg);
}.footer__col h5{
  font-family: var(--font-chunk); font-size:.95rem;
  letter-spacing:.04em; text-transform: uppercase;
  color: var(--cheddar); margin-bottom: 14px;
}.footer__col ul{ list-style: none; }.footer__col li{ margin-bottom: 9px; }.footer__col a{ color: var(--creme-2); font-size:.9rem; transition: color.25s ease; }.footer__col a:hover{ color: var(--cheddar); }.footer__socials{ display:flex; gap: 10px; margin-top: 18px; }.footer__socials a{
  width: 40px; height: 40px;
  border: 2px solid var(--cheddar-fonce);
  display:flex; align-items:center; justify-content:center;
  border-radius: 50%; transition: all.3s ease;
}.footer__socials a:hover{ border-color: var(--cheddar); background: var(--cheddar); transform: translateY(-3px); }.footer__socials a:hover svg{ fill: var(--noir); }.footer__socials svg{ width:16px; height:16px; fill: var(--cheddar); transition: fill.3s ease; }.footer__bottom{
  max-width: var(--max); margin: 0 auto;
  padding-top: 22px;
  border-top: 1px dashed var(--cheddar-fonce);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap: wrap; gap: 14px;
  font-size:.76rem; color: var(--creme-2);
}
@media (max-width: 800px){.footer__inner{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px){.footer__inner{ grid-template-columns: 1fr; } }

/* REVEAL */.reveal{ opacity: 0; transform: translateY(30px); transition: opacity.9s var(--easing), transform.9s var(--easing); }.reveal.in{ opacity: 1; transform: translateY(0); }.reveal--d1{ transition-delay:.1s; }.reveal--d2{ transition-delay:.2s; }.reveal--d3{ transition-delay:.3s; }.reveal--d4{ transition-delay:.4s; }.reveal--d5{ transition-delay:.5s; }

::selection{ background: var(--cheddar); color: var(--noir); }
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: var(--noir); }
::-webkit-scrollbar-thumb{ background: var(--cheddar-fonce); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover{ background: var(--cheddar); }.fab{
  position: fixed; bottom: 18px; right: 18px;
  z-index: 80; background: var(--cheddar); color: var(--noir);
  border-radius: 999px; padding: 12px 18px;
  font-family: var(--font-chunk); font-size:.95rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.5), 0 4px 0 var(--cheddar-fonce);
  transition: all.3s ease; display: none;
}.fab:hover{ background: var(--cheddar-clair); transform: translateY(-2px); }
@media (max-width: 980px){.fab{ display: inline-flex; align-items: center; gap: 6px; } }

/* ============================================================
   BOUTON WHATSAPP BUSINESS FLOTTANT
   ============================================================ */.wa-float{
  position: fixed;
  bottom: 22px;
  left: 22px;
  z-index: 90;
  width: 60px;
  height: 60px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(37, 211, 102,.45), 0 2px 8px rgba(0,0,0,.3);
  transition: all.3s var(--easing);
  animation: waPulse 2s infinite;
}.wa-float:hover{
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 10px 30px rgba(37, 211, 102,.6);
}.wa-float svg{
  width: 32px;
  height: 32px;
  fill: white;
}.wa-float__label{
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%) translateX(100%);
  background: var(--noir);
  color: var(--creme);
  padding: 8px 14px;
  border-radius: 20px;
  font-family: var(--font-body);
  font-size:.8rem;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity.2s, transform.2s;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
}.wa-float:hover.wa-float__label{
  opacity: 1;
  transform: translateY(-50%) translateX(105%);
}
@keyframes waPulse{
  0%, 100%{ box-shadow: 0 6px 20px rgba(37, 211, 102,.45), 0 2px 8px rgba(0,0,0,.3), 0 0 0 0 rgba(37, 211, 102,.5); }
  50%{ box-shadow: 0 6px 20px rgba(37, 211, 102,.45), 0 2px 8px rgba(0,0,0,.3), 0 0 0 14px rgba(37, 211, 102, 0); }
}
@media (max-width: 600px){.wa-float{ width: 54px; height: 54px; bottom: 16px; left: 16px; }.wa-float svg{ width: 28px; height: 28px; }.wa-float__label{ display: none; }
}

/* ============================================================
   BANDEAU COOKIES CNDP-COMPLNT
   ============================================================ */.cookie-banner{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--noir);
  border-top: 3px solid var(--cheddar);
  padding: 22px 24px;
  z-index: 1000;
  box-shadow: 0 -10px 40px rgba(0,0,0,.5);
  transform: translateY(100%);
  transition: transform.4s var(--easing);
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}.cookie-banner.visible{ transform: translateY(0); }.cookie-banner__content{ flex: 1 1 360px; }.cookie-banner__title{
  font-family: var(--font-chunk);
  font-size: 1.05rem;
  text-transform: uppercase;
  color: var(--cheddar);
  margin-bottom: 4px;
  letter-spacing:.02em;
}.cookie-banner__text{
  color: var(--creme-2);
  font-size:.85rem;
  line-height: 1.55;
}.cookie-banner__text a{ color: var(--cheddar); text-decoration: underline; }.cookie-banner__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}.cookie-btn{
  padding: 11px 22px;
  border: 2px solid var(--noir-3);
  background: transparent;
  color: var(--creme);
  font-family: var(--font-body);
  font-weight: 700;
  font-size:.82rem;
  border-radius: 999px;
  cursor: pointer;
  transition: all.2s;
}.cookie-btn:hover{ border-color: var(--cheddar); color: var(--cheddar); }.cookie-btn--accept{
  background: var(--cheddar);
  color: var(--noir);
  border-color: var(--cheddar);
}.cookie-btn--accept:hover{
  background: var(--cheddar-clair);
  border-color: var(--cheddar-clair);
  color: var(--noir);
  transform: translateY(-1px);
}

/* Modal paramètres cookies */.cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(0,0,0,.85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity.3s;
}.cookie-modal.visible{ opacity: 1; pointer-events: auto; }.cookie-modal__content{
  background: var(--noir);
  border: 2px solid var(--cheddar);
  border-radius: 16px;
  max-width: 540px;
  width: 100%;
  padding: 30px;
  max-height: 85vh;
  overflow-y: auto;
}.cookie-modal__title{
  font-family: var(--font-chunk);
  font-size: 1.4rem;
  text-transform: uppercase;
  color: var(--cheddar);
  margin-bottom: 14px;
}.cookie-toggle{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--noir-3);
}.cookie-toggle:last-of-type{ border-bottom: none; }.cookie-toggle__info h4{
  font-family: var(--font-body);
  font-weight: 800;
  color: var(--creme);
  font-size:.92rem;
  margin-bottom: 4px;
}.cookie-toggle__info p{
  color: var(--creme-2);
  font-size:.78rem;
  line-height: 1.45;
  margin: 0;
}.cookie-toggle__switch{
  width: 46px;
  height: 26px;
  background: var(--noir-3);
  border-radius: 999px;
  position: relative;
  cursor: pointer;
  transition: background.2s;
  flex-shrink: 0;
}.cookie-toggle__switch::after{
  content: '';
  position: absolute;
  top: 3px; left: 3px;
  width: 20px; height: 20px;
  background: var(--creme);
  border-radius: 50%;
  transition: transform.2s;
}.cookie-toggle__switch.active{ background: var(--cheddar); }.cookie-toggle__switch.active::after{ transform: translateX(20px); }.cookie-toggle__switch.disabled{ opacity:.5; cursor: not-allowed; background: var(--cheddar-fonce); }.cookie-modal__actions{
  display: flex;
  gap: 10px;
  margin-top: 22px;
  flex-wrap: wrap;
}
@media (max-width: 600px){.cookie-banner{ flex-direction: column; gap: 14px; padding: 18px 16px; }.cookie-banner__actions{ width: 100%; justify-content: stretch; }.cookie-btn{ flex: 1 1 auto; padding: 12px 14px; font-size:.78rem; }.cookie-modal__content{ padding: 22px 18px; }
}

/* ============================================================
   TRUST BADGES ROW
   ============================================================ */.trust-badges{
  background: linear-gradient(180deg, var(--noir) 0%, var(--noir-2) 100%);
  padding: 32px 16px;
  border-top: 1px solid var(--noir-3);
  border-bottom: 1px solid var(--noir-3);
}.trust-badges__inner{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}.trust-badge{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--creme-2);
  font-family: var(--font-body);
  font-weight: 700;
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform: uppercase;
}.trust-badge__icon{
  font-size: 1.6rem;
  color: var(--cheddar);
}.trust-badge strong{
  color: var(--cheddar);
  font-family: var(--font-chunk);
  font-size: 1rem;
  display: block;
  letter-spacing:.02em;
}
@media (max-width: 600px){.trust-badges{ padding: 22px 12px; }.trust-badges__inner{ gap: 14px; }.trust-badge{ font-size:.68rem; flex: 0 0 calc(50% - 8px); justify-content: flex-start; }.trust-badge__icon{ font-size: 1.3rem; }.trust-badge strong{ font-size:.85rem; }
}

/* ============================================================
   COMMENT COMMANDER — 3 ÉTAPES
   ============================================================ */.howto{
  background: var(--noir-2);
  padding: clamp(50px, 6vw, 80px) 16px;
  border-top: 1px solid var(--noir-3);
}.howto__grid{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  position: relative;
}.howto__grid::before{
  content: '';
  position: absolute;
  top: 50px;
  left: 16%;
  right: 16%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--cheddar) 0 8px, transparent 8px 16px);
  opacity:.35;
  z-index: 0;
}.howto-step{
  background: var(--noir);
  border: 2px solid var(--noir-3);
  border-radius: 16px;
  padding: 30px 24px;
  text-align: center;
  position: relative;
  z-index: 1;
  transition: all.3s var(--easing);
}.howto-step:hover{
  border-color: var(--cheddar);
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(245,166,35,.15);
}.howto-step__num{
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
  background: var(--cheddar);
  color: var(--noir);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-chunk);
  font-size: 1.8rem;
  box-shadow: 0 4px 0 var(--cheddar-fonce);
}.howto-step__title{
  font-family: var(--font-chunk);
  font-size: 1.15rem;
  text-transform: uppercase;
  color: var(--creme);
  margin-bottom: 10px;
  letter-spacing:.02em;
}.howto-step__desc{
  color: var(--creme-2);
  font-size:.88rem;
  line-height: 1.55;
}.howto-step__time{
  display: inline-block;
  margin-top: 12px;
  background: var(--cheddar);
  color: var(--noir);
  padding: 4px 12px;
  border-radius: 999px;
  font-size:.68rem;
  font-weight: 800;
  letter-spacing:.14em;
  text-transform: uppercase;
}
@media (max-width: 768px){.howto__grid{ grid-template-columns: 1fr; gap: 18px; }.howto__grid::before{ display: none; }.howto-step{ padding: 24px 20px; }
}

/* ============================================================
   NEWSLETTER COMPLNT — Avec consentement explicite
   ============================================================ */.newsletter__consent{
  background: var(--noir-2);
  border: 1px solid var(--noir-3);
  border-radius: 12px;
  padding: 14px 18px;
  margin: 14px auto 16px;
  max-width: 500px;
  text-align: left;
  font-size:.78rem;
  color: var(--creme-2);
  line-height: 1.5;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}.newsletter__consent input[type="checkbox"]{
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: var(--cheddar);
  width: 18px;
  height: 18px;
  cursor: pointer;
}.newsletter__consent label{ cursor: pointer; }.newsletter__consent a{ color: var(--cheddar); text-decoration: underline; }.newsletter__finalite{
  font-size:.72rem;
  color: var(--creme-2);
  opacity:.8;
  margin-top: 10px;
  font-style: italic;
}

/* ============================================================
   MOBILE FIXES — Anti-chevauchements + UX responsive
   ============================================================ */
@media (max-width: 768px){
  /* Section padding réduit */.section{ padding: 50px 16px; }.section__head{ margin-bottom: 32px; }.section__title{ font-size: clamp(2rem, 8vw, 2.8rem) !important; }

  /* Story grid - empilage propre */.story-grid{ grid-template-columns: 1fr !important; gap: 30px !important; }.story-grid > div:first-child img{ max-width: 320px !important; margin: 0 auto; }.story-grid h2{ font-size: clamp(1.8rem, 6vw, 2.6rem) !important; text-align: center; }.story-grid p,.story-grid > div:last-child > div:last-child{ text-align: center; }

  /* Stats - 2 colonnes au lieu de 4 */.stats__grid{ grid-template-columns: repeat(2, 1fr); }.stat{ padding: 30px 12px; }.stat__num{ font-size: clamp(2.2rem, 9vw, 3.5rem); }

  /* Facts grid - 1 colonne propre */.facts-grid{ grid-template-columns: 1fr; gap: 12px; }.fact-card{ padding: 16px 20px; }.fact-card__value{ font-size: 1.15rem; }

  /* Menu tabs - meilleur scroll horizontal */.menu-tabs{ padding: 10px 14px; gap: 8px; top: 64px; }.menu-tab{ padding: 7px 14px; font-size:.75rem; }

  /* Menu category - padding réduit */.menu-category{ padding: 50px 14px; scroll-margin-top: 120px; }

  /* Products grid - empilage 1 colonne ou 2 selon largeur */.products-grid{ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }.pcard__name{ font-size: 1.25rem; }.pcard__body{ padding: 16px 18px 20px; }

  /* Compose - refonte mobile */.compose-zone{ padding: 50px 14px; }.compose{ padding: 22px 18px; border-width: 2px; border-radius: 18px; }.tiers{ grid-template-columns: repeat(2, 1fr); gap: 10px; }.tier__content{ padding: 10px 8px; }.tier__name{ font-size:.95rem; }.tier__price{ font-size: 1.2rem; }

  /* Avis slider - cards plus petites */.avis-track.avis-card{ flex: 0 0 280px; min-height: 200px; }.avis-card{ padding: 18px; }.avis-card__text{ font-size:.85rem; }

  /* Location - empilage propre */.location{ padding: 60px 16px; }.location__inner{ grid-template-columns: 1fr; gap: 30px; }.location__map{ aspect-ratio: 1/1; max-width: 100%; }.location__detail{ grid-template-columns: 26px 1fr; gap: 10px; }

  /* Platforms grid - 2 colonnes */.platforms{ grid-template-columns: repeat(2, 1fr); gap: 10px; }.platform{ padding: 18px 10px; }.platform__logo{ font-size: 1.1rem; }

  /* Newsletter - layout corrigé */.newsletter{ padding: 50px 18px; }.newsletter h2{ font-size: clamp(1.8rem, 7vw, 2.5rem); }.newsletter__form{ grid-template-columns: 1fr; }.newsletter__form input,.newsletter__form button{ padding: 13px 18px; font-size:.88rem; }

  /* Franchise */.franchise{ padding: 60px 16px; }.franchise__inner{ grid-template-columns: 1fr; gap: 28px; }.franchise h2{ font-size: clamp(1.9rem, 7vw, 3rem); }.franchise__cities li{ padding: 11px 14px; font-size:.95rem; }

  /* Footer responsive */.footer{ padding: 50px 16px 24px; }.footer__inner{ grid-template-columns: 1fr 1fr; gap: 24px; }.footer__inner > div:first-child{ grid-column: 1 / -1; }.footer__bottom{ flex-direction: column; gap: 8px; text-align: center; font-size:.7rem; }

  /* Local hero (pages quartier) - lisibilité mobile */.local-hero{ padding: 110px 18px 40px; }.local-hero h1{ font-size: clamp(2rem, 8vw, 3rem); }.local-hero p{ font-size:.95rem; }

  /* Zones cards */.zones{ grid-template-columns: 1fr; }

  /* FAQ - mieux sur mobile */.faq-item summary{ font-size:.92rem; padding: 14px 18px; }.faq-item__body{ padding: 0 18px 16px; font-size:.88rem; }

  /* FAB ne masque pas le footer */.fab{ bottom: 14px; right: 14px; padding: 10px 16px; font-size:.85rem; }

  /* Marquee - mobile lisibilité */.marquee__track{ font-size: clamp(1rem, 4vw, 1.4rem); gap: 28px; }

  /* Nav burger - éviter chevauchement avec CTA */.nav{ padding: 12px 14px; }.nav__cta{ padding: 8px 12px; font-size:.65rem; letter-spacing:.08em; }.nav__logo{ font-size: 1.2rem; padding: 4px 10px; }
}

@media (max-width: 480px){.stats__grid{ grid-template-columns: 1fr 1fr; }.platforms{ grid-template-columns: 1fr; }.footer__inner{ grid-template-columns: 1fr; }.footer__inner > div:first-child{ grid-column: auto; }
  /* Section title en très petit écran */.section__title{ font-size: clamp(1.7rem, 8vw, 2.4rem) !important; }
  /* Local hero ultra mobile */.local-hero h1{ font-size: clamp(1.8rem, 9vw, 2.5rem); }
  /* CTA buttons compactés */.btn{ padding: 12px 18px; font-size:.72rem; }
  /* Pcard plus compactes */.pcard__name{ font-size: 1.1rem; }.pcard__desc{ font-size:.82rem; }.pcard__price{ font-size:.9rem; padding: 5px 11px; }
  /* Compose tiers en 1 colonne */.tiers{ grid-template-columns: 1fr 1fr; }.tier__img{ aspect-ratio: 1/1; }
  /* Hero rating ne sort plus */.hero__rating{
    transform: translateX(50%) scale(.6);
  }
}

/* LIGHTBOX */.lightbox{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.95); z-index: 9999;
  display: none; align-items: center; justify-content: center;
  padding: 30px 20px; cursor: zoom-out;
}.lightbox.open{ display: flex; animation: fadeIn.25s ease; }.lightbox img{
  max-width: 100%; max-height: 92vh;
  object-fit: contain; border-radius: 8px;
  box-shadow: 0 20px 80px rgba(0,0,0,.8);
}.lightbox__close{
  position: absolute; top: 20px; right: 20px;
  width: 44px; height: 44px;
  background: var(--cheddar); color: var(--noir);
  border-radius: 50%; font-size: 1.3rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 0 var(--cheddar-fonce);
}

/* PAGE LOCALES — Hero compact */.local-hero{
  padding: 130px clamp(16px, 4vw, 48px) 50px;
  text-align: center;
  background:
    linear-gradient(rgba(10,10,10,.85), rgba(10,10,10,.95)),
    url('../assets/posters/cat-tacos.png') center/cover;
  position: relative;
  isolation: isolate;
  border-bottom: 4px solid var(--cheddar);
}.local-hero h1{
  font-family: var(--font-chunk);
  font-size: clamp(2.4rem, 6.5vw, 5.5rem);
  line-height:.9;
  text-transform: uppercase;
  margin-bottom: 16px;
  text-shadow: 4px 4px 0 var(--noir), 6px 6px 0 var(--cheddar-fonce);
}.local-hero h1 em{ font-style: normal; color: var(--cheddar); }.local-hero p{
  max-width: 700px; margin: 0 auto 24px;
  font-size: 1.05rem; line-height: 1.65; color: var(--creme-2);
}.local-hero p strong{ color: var(--cheddar); }.breadcrumb{
  display: flex; justify-content: center;
  gap: 8px; font-size:.8rem;
  color: var(--creme-2); margin-bottom: 14px;
  letter-spacing:.05em;
}.breadcrumb a{ color: var(--cheddar); }.breadcrumb a:hover{ text-decoration: underline; }

/* ZONES (livraison Hay Riad, Agdal, Souissi) */.zones{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}.zone{
  background: var(--noir-2);
  border: 2px solid var(--noir-3);
  border-radius: 16px;
  padding: 24px;
  transition: all.3s var(--easing);
}.zone:hover{ border-color: var(--cheddar); transform: translateY(-4px); }.zone h3{
  font-family: var(--font-chunk);
  font-size: 1.5rem; text-transform: uppercase;
  color: var(--cheddar); margin-bottom: 8px;
}.zone__time{
  display: inline-block;
  background: var(--cheddar); color: var(--noir);
  padding: 4px 12px; border-radius: 999px;
  font-weight: 800; font-size:.75rem;
  letter-spacing:.1em; text-transform: uppercase;
  margin-bottom: 12px;
}.zone p{ color: var(--creme-2); font-size:.92rem; line-height: 1.55; }


/* ════════════════════════════════════════════════════════════
   AMÉLIORATIONS DESIGN PREMIUM (V5)
   ════════════════════════════════════════════════════════════ */

/* Boutons CTA : effet shimmer premium au survol */.btn--primary{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}.btn--primary::after{
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transition: left.6s ease;
  z-index: -1;
}.btn--primary:hover::after{ left: 100%; }

/* Effet glow sur les CTAs principaux au survol */.nav__cta:hover{
  box-shadow: 0 0 25px rgba(245,166,35,.55), 0 6px 20px rgba(0,0,0,.3);
  transform: translateY(-2px);
}

/* Cards plats : effet soulèvement plus prononcé */.pcard{ transition: all.35s var(--easing); }.pcard:hover{
  transform: translateY(-8px) scale(1.015);
  box-shadow: 0 25px 50px -12px rgba(245,166,35,.25), 0 12px 24px rgba(0,0,0,.4);
}.pcard__media img{ transition: transform.5s var(--easing); }.pcard:hover.pcard__media img{ transform: scale(1.08); }

/* Avis cards : glassmorphism subtil pour effet premium */.avis-card{
  background: linear-gradient(135deg, rgba(26,26,26,.95) 0%, rgba(20,20,20,.85) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(245,166,35,.12);
  transition: all.3s var(--easing);
}.avis-card:hover{
  border-color: rgba(245,166,35,.3);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(245,166,35,.1);
}

/* Trust badges : meilleur visual hierarchy */.trust-badge{
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(245,166,35,.06) 0%, rgba(245,166,35,.02) 100%);
  border: 1px solid rgba(245,166,35,.18);
  transition: all.3s ease;
}.trust-badge:hover{
  border-color: var(--cheddar);
  background: linear-gradient(135deg, rgba(245,166,35,.12) 0%, rgba(245,166,35,.06) 100%);
  transform: translateY(-1px);
}

/* Plateformes : couleurs marque officielles + effet hover premium */.platform{
  position: relative;
  overflow: hidden;
  transition: all.3s var(--easing);
}.platform::before{
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(245,166,35,.15) 0%, transparent 70%);
  opacity: 0;
  transition: opacity.3s;
  pointer-events: none;
}.platform:hover::before{ opacity: 1; }.platform--onsite:hover,.platform--direct:hover{ border-color: rgba(245,166,35,.88); box-shadow: 0 6px 20px rgba(245,166,35,.22); }.platform--glovo:hover{ border-color: #15b26b; box-shadow: 0 6px 20px rgba(21,178,107,.25); }.platform--yassir:hover{ border-color: #6B3FA0; box-shadow: 0 6px 20px rgba(107,63,160,.25); }.platform--done:hover{ border-color: #FF6B1A; box-shadow: 0 6px 20px rgba(255,107,26,.25); }.platform--kool:hover{ border-color: #E63946; box-shadow: 0 6px 20px rgba(230,57,70,.25); }

/* Howto-step : numéros plus visibles */.howto-step__num{
  position: relative;
}.howto-step__num::after{
  content: '';
  position: absolute;
  inset: -6px;
  border: 2px dashed rgba(245,166,35,.3);
  border-radius: 50%;
  animation: rotateDash 12s linear infinite;
  pointer-events: none;
}
@keyframes rotateDash{
  to{ transform: rotate(360deg); }
}

/* Fact cards : meilleur visual avec gradient subtil */.fact-card{
  background: linear-gradient(135deg, var(--noir-2) 0%, rgba(20,20,20,.95) 100%);
  position: relative;
  overflow: hidden;
}.fact-card::before{
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 80px; height: 80px;
  background: radial-gradient(circle at top right, rgba(245,166,35,.1) 0%, transparent 70%);
  pointer-events: none;
}

/* Section dividers subtils (transitions entre sections) */.section +.section,
section + section{
  position: relative;
}

/* Hero : améliorer le centrage du badge mobile */
@media (max-width: 480px){.hero__badge{
    margin: 0 auto 14px;
    max-width: fit-content;
  }.hero__rating{
    /* S'assurer qu'on ne sort jamais du conteneur */
    right: 15px !important;
    top: 8px !important;
    transform: scale(.55) !important;
    transform-origin: top right !important;
  }
}

/* Newsletter : meilleure lisibilité des inputs */.newsletter__form input{
  background: rgba(255,255,255,.95);
  color: var(--noir);
  font-weight: 600;
}.newsletter__form input::placeholder{
  color: rgba(0,0,0,.5);
  font-weight: 500;
}.newsletter__form input:focus{
  background: #fff;
  outline: 3px solid var(--noir);
  outline-offset: 2px;
}

/* Newsletter consent : meilleure lisibilité sur fond cheddar */.newsletter__consent{
  background: rgba(0,0,0,.85);
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
}.newsletter__consent label{
  color: rgba(255,255,255,.92);
}.newsletter__consent strong{ color: var(--cheddar-clair); }.newsletter__consent a{ color: var(--cheddar-clair); }.newsletter__finalite{
  color: rgba(0,0,0,.85);
  font-weight: 600;
}.newsletter__finalite strong{ color: var(--noir); }

/* Smooth scroll plus rapide */
html{ scroll-behavior: smooth; }

/* Focus visible amélioré (accessibilité + premium) */
*:focus-visible{
  outline: 3px solid var(--cheddar);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Sélection de texte cohérente avec branding */
::selection{
  background: var(--cheddar);
  color: var(--noir);
}

/* Scroll bar custom (desktop) */
@media (hover: hover){
  ::-webkit-scrollbar{ width: 10px; height: 10px; }
  ::-webkit-scrollbar-track{ background: var(--noir); }
  ::-webkit-scrollbar-thumb{ background: var(--cheddar-fonce); border-radius: 5px; }
  ::-webkit-scrollbar-thumb:hover{ background: var(--cheddar); }
}

/* ════════════════════════════════════════════════════════════
   LANGUAGE SWITCHER - Premium glassmorphism design
   ════════════════════════════════════════════════════════════ */.lang-switcher{
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 95;
}.lang-switcher__btn{
  display: flex; align-items: center; gap: 8px;
  background: rgba(10,10,10,.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--creme);
  border: 1.5px solid rgba(245,166,35,.4);
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size:.82rem;
  font-weight: 700;
  letter-spacing:.04em;
  cursor: pointer;
  transition: all.25s var(--easing);
  box-shadow: 0 4px 16px rgba(0,0,0,.35);
}.lang-switcher__btn:hover{
  border-color: var(--cheddar);
  background: rgba(245,166,35,.15);
  transform: translateY(-1px);
}.lang-switcher__chev{
  font-size:.55rem;
  opacity:.7;
  transition: transform.2s;
}.lang-switcher__btn[aria-expanded="true"].lang-switcher__chev{
  transform: rotate(180deg);
}.lang-switcher__menu{
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: var(--noir);
  border: 1.5px solid var(--cheddar);
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 12px 40px rgba(0,0,0,.6);
  list-style: none;
  margin: 0;
  max-height: 70vh;
  overflow-y: auto;
}.lang-switcher__menu li{
  margin: 0;
  list-style: none;
}.lang-switcher__menu button{
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  color: var(--creme);
  padding: 10px 14px;
  font-family: var(--font-body);
  font-size:.9rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all.15s;
  display: flex; align-items: center; gap: 10px;
}.lang-switcher__menu button:hover{
  background: rgba(245,166,35,.15);
  color: var(--cheddar);
}.lang-switcher__menu button[aria-current="true"]{
  background: rgba(245,166,35,.10);
  color: var(--cheddar);
  font-weight: 700;
  cursor: default;
}

/* Position adaptative : à gauche du WhatsApp si présent en mobile */
@media (max-width: 768px){.lang-switcher{
    top: 14px; right: 14px;
  }.lang-switcher__btn{
    padding: 6px 12px;
    font-size:.75rem;
  }.lang-switcher__menu{
    min-width: 180px;
    max-height: 60vh;
  }
}

/* ════════════════════════════════════════════════════════════
   SUPPORT RTL (Arabe) - Inversion automatique
   ════════════════════════════════════════════════════════════ */
[dir="rtl"]{
  /* Inverser les textes alignés */
  text-align: right;
}
[dir="rtl"].nav__links{ flex-direction: row-reverse; }
[dir="rtl"].hero__content{ align-items: flex-end; text-align: right; }
[dir="rtl"].hero__title{ text-align: right; direction: rtl; }
[dir="rtl"].hero__sub{ text-align: right; }
[dir="rtl"].hero__ctas{ flex-direction: row-reverse; }
[dir="rtl"].hero__rating-row{ flex-direction: row-reverse; }
[dir="rtl"].lang-switcher{ left: 18px; right: auto; }
[dir="rtl"].lang-switcher__menu{ left: 0; right: auto; }
[dir="rtl"].wa-float{ right: 22px; left: auto; }
[dir="rtl"].fab{ left: 18px; right: auto; }
[dir="rtl"].nav{ direction: rtl; }
[dir="rtl"].breadcrumb{ direction: rtl; }
[dir="rtl"].platform__logo{ direction: ltr; } /* Garder noms marques en LTR */
[dir="rtl"].pcard__price{ left: 12px; right: auto; }
[dir="rtl"].menu-tabs{ direction: rtl; }
[dir="rtl"].footer__inner{ direction: rtl; text-align: right; }
[dir="rtl"].arrow{ transform: rotate(180deg); display: inline-block; }
[dir="rtl"].btn.arrow{ margin-right: 6px; margin-left: 0; }

/* Préserver alignement gauche pour les éléments numériques/marques */
[dir="rtl"].hero__rating-text{ direction: ltr; text-align: left; }
[dir="rtl"].stat__num,
[dir="rtl"].fact-card__value{ direction: ltr; text-align: left; }

/* ════════════════════════════════════════════════════════════
   LOGO NAV AVEC MASCOTTES FOODY & SINTA (Branding renforcé)
   ════════════════════════════════════════════════════════════ */.nav__logo{
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px;
  text-decoration: none;
  padding: 5px 16px 5px 5px !important;
  background: rgba(0,0,0,.5) !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(245,166,35,.3) !important;
  transition: all.3s var(--easing);
  width: fit-content;
  max-width: max-content;
}.nav__logo:hover{
  border-color: var(--cheddar) !important;
  background: rgba(0,0,0,.75) !important;
  box-shadow: 0 4px 16px rgba(245,166,35,.25);
}.nav__logo-mascots{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  background: var(--cheddar);
  border: 2px solid var(--cheddar);
  box-shadow: 0 2px 8px rgba(245,166,35,.5);
  transition: transform.3s var(--easing);
  flex-shrink: 0;
}.nav__logo:hover .nav__logo-mascots{
  transform: rotate(-12deg) scale(1.1);
}.nav__logo-text{
  font-family: var(--font-chunk);
  font-size: 1.5rem;
  color: var(--creme);
  letter-spacing: -.01em;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}.nav__logo-text strong{
  color: var(--cheddar);
  font-weight: inherit;
}.nav__logo-text::after{
  content: 'RABAT';
  font-size:.55rem;
  letter-spacing:.25em;
  color: var(--creme-2);
  font-family: var(--font-body);
  font-weight: 800;
  margin-top: 2px;
}

/* Mobile : logo plus compact mais toujours visible */
@media (max-width: 600px){.nav__logo{
    padding: 4px 10px 4px 4px !important;
    gap: 8px;
  }.nav__logo-mascots{
    width: 36px;
    height: 36px;
    border-width: 1.5px;
  }.nav__logo-text{ font-size: 1.1rem; }.nav__logo-text::after{ font-size:.48rem; letter-spacing:.2em; }
}
@media (max-width: 380px){.nav__logo-text{ font-size:.95rem; }.nav__logo-mascots{ width: 32px; height: 32px; }.nav__logo-text::after{ display: none; }
}

/* ════════════════════════════════════════════════════════════
   HERO INSTAGRAM CTA — Signal social puissant
   ════════════════════════════════════════════════════════════ */.hero__instagram{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding: 14px 22px;
  background: linear-gradient(135deg, #833AB4 0%, #FD1D1D 50%, #FCB045 100%);
  border-radius: 999px;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 8px 24px rgba(253, 29, 29,.35), 0 4px 12px rgba(0,0,0,.4);
  transition: all.3s var(--easing);
  animation: fadeUp 1s var(--easing) 1.4s both;
  position: relative;
  overflow: hidden;
}.hero__instagram::before{
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transition: left.8s ease;
}.hero__instagram:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(253, 29, 29,.5), 0 6px 16px rgba(0,0,0,.5);
}.hero__instagram:hover::before{ left: 100%; }.hero__instagram svg{
  flex-shrink: 0;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}.hero__instagram-text{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
}.hero__instagram-text strong{
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
}.hero__instagram-text small{
  font-family: var(--font-body);
  font-size:.72rem;
  font-weight: 600;
  opacity:.92;
  letter-spacing:.02em;
  margin-top: 2px;
}.hero__instagram-arrow{
  font-size: 1.1rem;
  transition: transform.3s ease;
}.hero__instagram:hover.hero__instagram-arrow{
  transform: translate(3px, -3px);
}
@media (max-width: 600px){.hero__instagram{
    padding: 12px 18px;
    gap: 10px;
  }.hero__instagram-text strong{ font-size:.92rem; }.hero__instagram-text small{ font-size:.65rem; }
}

/* ════════════════════════════════════════════════════════════
   FIX HERO BG : visible côté droit (suppression zone vide)
   ════════════════════════════════════════════════════════════ */.hero__bg{
  background-position: center center !important;
  background-size: cover !important;
  /* S'assurer que l'image s'affiche partout */
}
@media (max-width: 768px){.hero__bg{
    /* Sur mobile : focus sur la partie centrale-droite de l'image (où sont les produits) */
    background-position: 65% center !important;
  }
}


/* ════════════════════════════════════════════════════════════
   FAIL-SAFE : éléments hero TOUJOURS visibles même sans animation
   (corrige le bug "hero noir" sur certains navigateurs)
   ════════════════════════════════════════════════════════════ */.hero__badge,.hero__title,.hero__sub,.hero__ctas,.hero__rating-row,.hero__instagram{
  opacity: 1 !important;
}
@media (prefers-reduced-motion: reduce){.hero__badge,.hero__title,.hero__sub,.hero__ctas,.hero__rating-row,.hero__instagram{
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ════════════════════════════════════════════════════════════
   FIX MOBILE NAV - éviter chevauchement logo + bouton COMMANDER
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px){.nav{
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px !important;
  }.nav__logo{
    flex-shrink: 1;
    min-width: 0;
    max-width: 60% !important;
  }.nav__cta{
    flex-shrink: 0;
    padding: 8px 14px !important;
    font-size:.68rem !important;
    letter-spacing:.06em !important;
  }.nav__burger{
    flex-shrink: 0;
  }
  /* Décaler le switcher de langue pour ne pas chevaucher la nav */.lang-switcher{
    top: 70px !important;
    right: 12px !important;
  }
}

@media (max-width: 480px){.nav__logo-text{ font-size: 1rem !important; }.nav__logo-mascots{ width: 32px !important; height: 32px !important; }.nav__logo-text::after{ display: none !important; }.nav__cta{
    padding: 7px 12px !important;
    font-size:.62rem !important;
  }.lang-switcher__btn{
    padding: 5px 10px !important;
    font-size:.7rem !important;
  }
}

/* ════════════════════════════════════════════════════════════
   GARANTIR HERO IMAGE VISIBLE - fallback avec inline style
   ════════════════════════════════════════════════════════════ */.hero{
  background-color: #1a1a1a; /* fallback couleur */
}.hero__bg{
  /* Force le rendu même si l'image charge lentement */
  will-change: auto;
  background-color: #2a2a2a;
}

/* ════════════════════════════════════════════════════════════
   Hero mobile - assurer texte lisible et image visible
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px){.hero{
    min-height: 88vh !important;
    min-height: 88svh !important;
  }.hero__inner{
    padding: 100px 18px 60px !important;
  }.hero__title{
    font-size: clamp(2.6rem, 14vw, 4.5rem) !important;
  }.hero__sub{
    font-size:.92rem !important;
    max-width: 100% !important;
  }.hero__instagram{
    width: 100%;
    justify-content: flex-start;
  }.hero__rating-row{
    width: 100%;
    flex-wrap: wrap;
  }
}

/* ════════════════════════════════════════════════════════════
   STAT FANS INSTAGRAM - effet "21.9K" premium
   ════════════════════════════════════════════════════════════ */.stat__num small{
  font-size:.55em;
  color: var(--cheddar);
  margin-left: 2px;
  font-weight: 800;
  text-shadow: 2px 2px 0 var(--noir);
  vertical-align: super;
  line-height: 1;
}

/* ════════════════════════════════════════════════════════════
   STICKY ITINÉRAIRE MOBILE (à côté du FAB Commander)
   ════════════════════════════════════════════════════════════ */.fab--maps{
  right: auto;
  left: 18px;
  background: var(--noir);
  color: var(--creme);
  border: 2px solid var(--cheddar);
  box-shadow: 0 8px 24px rgba(0,0,0,.6);
  display: none;
  text-decoration: none;
}.fab--maps:hover{
  background: var(--cheddar);
  color: var(--noir);
}
@media (max-width: 980px){.fab--maps{
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    bottom: 18px;
    /* Décaler du WhatsApp flottant déjà à gauche */
    left: 86px !important;
  }
  /* Cacher le bouton WhatsApp en double quand on a déjà 2 sticky en mobile */
  @media (max-width: 480px){.wa-float{
      bottom: 80px !important;
    }
  }
}

/* ════════════════════════════════════════════════════════════
   PAGES STANDALONE (Tasty Crousty, Meilleur Tacos, etc.)
   ════════════════════════════════════════════════════════════ */.page-hero{
  position: relative;
  padding: clamp(120px, 14vw, 180px) clamp(20px, 5vw, 60px) clamp(60px, 8vw, 100px);
  background: linear-gradient(135deg, var(--noir) 0%, #1a1a1a 100%);
  border-bottom: 4px solid var(--cheddar);
  text-align: center;
  overflow: hidden;
}.page-hero::before{
  content:'';
  position: absolute; inset: 0;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(245,166,35,.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 30%, rgba(245,166,35,.06) 0%, transparent 50%);
  pointer-events: none;
}.page-hero__inner{
  position: relative; z-index: 2;
  max-width: 900px; margin: 0 auto;
}.page-hero__eyebrow{
  display: inline-block;
  background: var(--cheddar);
  color: var(--noir);
  padding: 6px 16px;
  border-radius: 999px;
  font-size:.72rem;
  letter-spacing:.15em;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 24px;
}.page-hero__title{
  font-family: var(--font-chunk);
  font-size: clamp(2.4rem, 7vw, 5.5rem);
  line-height:.92;
  color: var(--creme);
  letter-spacing: -.015em;
  margin: 0 0 24px;
  text-shadow: 3px 3px 0 var(--noir), 6px 6px 0 var(--cheddar-fonce);
}.page-hero__title em{
  font-family: var(--font-hand);
  font-style: normal;
  color: var(--cheddar-clair);
  font-size:.95em;
  text-transform: none;
  letter-spacing: 0;
  display: inline-block;
  transform: rotate(-2deg);
}.page-hero__lead{
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.65;
  color: var(--creme);
  max-width: 720px;
  margin: 0 auto 32px;
}.page-hero__lead strong{ color: var(--cheddar); font-weight: 800; }.page-hero__ctas{
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Breadcrumb */.breadcrumb{
  background: var(--noir-2);
  padding: 12px clamp(16px, 4vw, 48px);
  border-bottom: 1px solid rgba(245,166,35,.15);
  font-size:.85rem;
}.breadcrumb ol{
  list-style: none;
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0; padding: 0;
  max-width: var(--max);
  margin: 0 auto;
  flex-wrap: wrap;
}.breadcrumb li{
  color: var(--creme-2);
  display: flex; align-items: center; gap: 10px;
}.breadcrumb li:not(:last-child)::after{
  content: '›';
  color: var(--cheddar);
  margin-left: 10px;
}.breadcrumb a{
  color: var(--creme-2);
  text-decoration: none;
  transition: color.2s;
}.breadcrumb a:hover{ color: var(--cheddar); }.breadcrumb li:last-child{ color: var(--creme); font-weight: 600; }

/* Page grid (image + content side-by-side) */.page-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 60px);
  align-items: center;
  max-width: var(--max);
  margin: 0 auto;
}.page-grid__media{
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,.5);
  position: relative;
}.page-grid__media img,.page-grid__media picture img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}.page-grid__content h2{
  margin-top: 8px;
}
@media (max-width: 768px){.page-grid{
    grid-template-columns: 1fr;
  }
}

/* Feature list (avantages) */.feature-list{
  list-style: none;
  padding: 0;
  margin: 24px 0;
}.feature-list li{
  padding: 12px 0 12px 32px;
  position: relative;
  color: var(--creme);
  font-size: 1rem;
  line-height: 1.6;
  border-bottom: 1px solid rgba(245,166,35,.08);
}.feature-list li::before{
  content: '✓';
  position: absolute;
  left: 0; top: 14px;
  color: var(--noir);
  background: var(--cheddar);
  width: 22px; height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size:.8rem;
}.feature-list li strong{ color: var(--cheddar); }

/* Info cards (3 colonnes preuves/avantages) */.info-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  max-width: var(--max);
  margin: 0 auto;
}.info-card{
  background: var(--noir-2);
  border: 1px solid rgba(245,166,35,.15);
  border-radius: 16px;
  padding: 24px;
  transition: all.3s var(--easing);
}.info-card:hover{
  border-color: rgba(245,166,35,.4);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(245,166,35,.1);
}.info-card h3{
  font-family: var(--font-chunk);
  color: var(--cheddar);
  font-size: 1.2rem;
  margin: 0 0 12px;
  letter-spacing: -.01em;
}.info-card p{
  color: var(--creme);
  margin: 0;
  line-height: 1.6;
  font-size:.95rem;
}.info-card strong{ color: var(--cheddar); }.info-card a{ color: var(--cheddar); }

/* FAQ list (details/summary natifs) */.faq-list{
  max-width: 900px;
  margin: 0 auto;
}.faq-item{
  background: var(--noir-2);
  border: 1px solid rgba(245,166,35,.12);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: all.25s ease;
}.faq-item[open]{
  border-color: rgba(245,166,35,.4);
  box-shadow: 0 6px 18px rgba(245,166,35,.08);
}.faq-item summary{
  padding: 18px 22px;
  cursor: pointer;
  color: var(--creme);
  font-size: 1rem;
  list-style: none;
  position: relative;
  padding-right: 50px;
  user-select: none;
}.faq-item summary::-webkit-details-marker{ display: none; }.faq-item summary::after{
  content: '+';
  position: absolute;
  right: 22px; top: 50%;
  transform: translateY(-50%);
  color: var(--cheddar);
  font-size: 1.6rem;
  font-weight: 300;
  transition: transform.3s ease;
}.faq-item[open] summary::after{
  transform: translateY(-50%) rotate(45deg);
}.faq-item summary:hover{ background: rgba(245,166,35,.05); }.faq-item p{
  padding: 0 22px 20px;
  color: var(--creme);
  line-height: 1.7;
  margin: 0;
  font-size:.95rem;
}.faq-item p strong{ color: var(--cheddar); }

/* CTA block */.section--cta{
  background: linear-gradient(135deg, var(--cheddar-fonce) 0%, var(--cheddar) 100%);
  padding: clamp(50px, 7vw, 90px) clamp(20px, 5vw, 60px);
}.cta-block{
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}.cta-block h2{
  font-family: var(--font-chunk);
  color: var(--noir);
  font-size: clamp(1.8rem, 4.5vw, 3.2rem);
  line-height: 1;
  margin: 0 0 14px;
  text-shadow: 3px 3px 0 var(--cheddar-clair);
}.cta-block h2 em{
  font-family: var(--font-hand);
  font-style: normal;
  color: var(--noir);
  display: inline-block;
  transform: rotate(-2deg);
}.cta-block p{
  color: var(--noir);
  font-size: 1.05rem;
  margin-bottom: 28px;
  font-weight: 600;
}.cta-block__actions{
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}.section--cta.btn--primary{
  background: var(--noir);
  color: var(--creme);
  border: 2px solid var(--noir);
}.section--cta.btn--primary:hover{
  background: var(--noir-2);
}.section--cta.btn--ghost{
  background: rgba(0,0,0,.1);
  color: var(--noir);
  border: 2px solid var(--noir);
}.section--cta.btn--ghost:hover{
  background: var(--noir);
  color: var(--creme);
}

/* Related grid */.related-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  max-width: var(--max);
  margin: 0 auto;
}.related-card{
  background: var(--noir-2);
  border: 1px solid rgba(245,166,35,.15);
  border-radius: 14px;
  padding: 20px;
  text-decoration: none;
  transition: all.3s var(--easing);
  display: block;
}.related-card:hover{
  border-color: var(--cheddar);
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(245,166,35,.15);
}.related-card h3{
  color: var(--cheddar);
  font-family: var(--font-chunk);
  font-size: 1.1rem;
  margin: 0 0 8px;
  letter-spacing: -.01em;
}.related-card p{
  color: var(--creme-2);
  margin: 0;
  font-size:.85rem;
  line-height: 1.5;
}

/* Section variants */.section--alt{
  background: linear-gradient(135deg, #050505 0%, #1a1a1a 100%);
  padding-top: clamp(50px, 7vw, 90px);
  padding-bottom: clamp(50px, 7vw, 90px);
}

/* ============================================================================
   MINI PANIER WHATSAPP — premium, mobile-first
   ============================================================================ */.if-add-cart{
  width:100%;
  margin:14px 0 0;
  min-height:44px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  background:linear-gradient(135deg,var(--cheddar),#ffd08a);
  color:var(--noir);
  font-family:var(--font-chunk);
  font-size:.9rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(245,166,35,.18);
  transition:transform.22s var(--easing), box-shadow.22s var(--easing);
}.if-add-cart:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(245,166,35,.26)}.if-add-cart:active{transform:translateY(0) scale(.99)}.if-cart-dock{
  position:fixed;
  z-index:1004;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(245,166,35,.45);
  background:linear-gradient(135deg,#0b0b0b,#1d1408);
  color:var(--creme);
  box-shadow:0 16px 45px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04) inset;
  cursor:pointer;
  font-family:var(--font-chunk);
  text-transform:uppercase;
}.if-cart-dock__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  padding:0 6px;
  background:var(--cheddar);
  color:var(--noir);
  font-size:.78rem;
}.if-cart-overlay{
  position:fixed;
  inset:0;
  z-index:1005;
  background:rgba(0,0,0,.58);
  opacity:0;
  pointer-events:none;
  transition:opacity.25s ease;
  backdrop-filter:blur(4px);
}.if-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:1006;
  width:min(460px,100vw);
  background:#0a0a0a;
  color:var(--creme);
  border-left:1px solid rgba(245,166,35,.22);
  box-shadow:-22px 0 60px rgba(0,0,0,.45);
  transform:translateX(105%);
  transition:transform.32s var(--easing);
  display:flex;
  flex-direction:column;
  max-height:100dvh;
}.if-cart-open.if-cart-overlay{opacity:1;pointer-events:auto}.if-cart-open.if-cart-drawer{transform:translateX(0)}.if-cart-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:22px 22px 16px;
  border-bottom:1px solid rgba(245,166,35,.15);
}.if-cart-kicker{font-size:.72rem;text-transform:uppercase;color:var(--cheddar);font-weight:800;letter-spacing:.12em}.if-cart-head h2{margin:4px 0 0;font-size:1.6rem;font-family:var(--font-chunk);text-transform:uppercase;color:var(--creme)}.if-cart-close{
  width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#151515;color:var(--creme);font-size:1.5rem;cursor:pointer
}.if-cart-body{padding:18px 22px;overflow:auto;flex:1}.if-cart-empty{border:1px dashed rgba(245,166,35,.3);border-radius:16px;padding:18px;color:var(--creme-2);font-size:.92rem;line-height:1.55;background:rgba(245,166,35,.05)}.if-cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;border:1px solid rgba(255,255,255,.08);background:#111;border-radius:16px;padding:14px;margin-bottom:12px}.if-cart-item__main strong{display:block;color:var(--cheddar);font-family:var(--font-chunk);text-transform:uppercase;font-size:1rem;line-height:1.2}.if-cart-item__main small{display:block;color:var(--creme-2);line-height:1.35;margin:5px 0;font-size:.78rem}.if-cart-item__main span{font-size:.8rem;color:#fff}.if-cart-item__qty{display:flex;align-items:center;gap:8px;background:#070707;border-radius:999px;padding:4px}.if-cart-item__qty button{width:30px;height:30px;border-radius:999px;border:0;background:var(--cheddar);color:var(--noir);font-weight:900;cursor:pointer}.if-cart-item__remove{grid-column:1 / -1;border:0;background:transparent;color:#ffb2a3;text-align:left;padding:0;font-size:.78rem;cursor:pointer}.if-cart-form{margin-top:18px;border-top:1px solid rgba(245,166,35,.16);padding-top:18px}.if-cart-form h3{font-family:var(--font-chunk);text-transform:uppercase;margin:0 0 14px;color:var(--creme);font-size:1.1rem}.if-cart-form label{display:block;color:var(--creme-2);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.if-cart-form input,.if-cart-form textarea{
  width:100%;box-sizing:border-box;margin-top:7px;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#fff;padding:10px 12px;font:inherit;outline:none
}.if-cart-form input:focus,.if-cart-form textarea:focus{border-color:var(--cheddar);box-shadow:0 0 0 3px rgba(245,166,35,.12)}.if-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.if-cart-type{display:flex;gap:10px;margin:6px 0 14px;flex-wrap:wrap}.if-cart-type label{margin:0;padding:10px 12px;border:1px solid rgba(245,166,35,.22);border-radius:999px;background:rgba(245,166,35,.06);cursor:pointer;color:var(--creme);text-transform:none;letter-spacing:0;font-size:.88rem}.if-cart-foot{padding:16px 22px 20px;border-top:1px solid rgba(245,166,35,.15);background:linear-gradient(180deg,#101010,#080808)}.if-cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--creme-2)}.if-cart-total strong{font-size:1.35rem;color:var(--cheddar);font-family:var(--font-chunk)}.if-cart-foot-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.if-btn{min-height:46px;border-radius:999px;border:0;cursor:pointer;font-family:var(--font-chunk);text-transform:uppercase;letter-spacing:.02em}.if-btn--ghost{background:#171717;color:var(--creme);border:1px solid rgba(255,255,255,.14)}.if-btn--primary{background:linear-gradient(135deg,var(--cheddar),#ffd08a);color:var(--noir)}.if-cart-note{margin:12px 0 0;color:var(--creme-2);font-size:.72rem;line-height:1.35}.if-cart-toast{position:fixed;z-index:1007;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#111;color:var(--creme);border:1px solid rgba(245,166,35,.35);border-radius:999px;padding:11px 16px;box-shadow:0 14px 35px rgba(0,0,0,.35);transition:.22s ease;font-weight:800;font-size:.85rem;max-width:calc(100vw - 28px);text-align:center}.if-cart-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:640px){.if-cart-dock{left:12px;right:12px;justify-content:center;bottom:calc(12px + env(safe-area-inset-bottom))}.if-cart-drawer{width:100vw}.if-grid{grid-template-columns:1fr}.if-cart-foot-actions{grid-template-columns:1fr}.if-cart-body{padding:16px}.if-cart-head,.if-cart-foot{padding-left:16px;padding-right:16px}.fab,.wa-float{display:none!important}
}.compose-cart-action.btn{min-height:48px;padding-inline:28px}


/* ════════════════════════════════════════════════════════════
   CORRECTIF FINAL PANIER / CTA — anti-chevauchement + branding premium
   ════════════════════════════════════════════════════════════ */
body.if-cart-enabled{ padding-bottom: 0; }
body.if-cart-open{ overflow: hidden; }
body.if-cart-enabled.wa-float,
body.if-cart-enabled.fab{
  display: none !important;
}.if-cart-dock{
  background: linear-gradient(135deg, rgba(9,9,9,.96), rgba(33,24,10,.96)) !important;
  border: 1px solid rgba(245,166,35,.52) !important;
  color: var(--creme) !important;
  letter-spacing:.04em;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}.if-cart-dock__icon{
  color: var(--cheddar);
  font-size:.9rem;
  line-height: 1;
}.if-cart-dock__text{ white-space: nowrap; }.if-add-cart{
  background: rgba(10,10,10,.78) !important;
  color: var(--cheddar) !important;
  border: 1px solid rgba(245,166,35,.45) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.22) !important;
}.if-add-cart:hover{
  background: var(--cheddar) !important;
  color: var(--noir) !important;
  box-shadow: 0 14px 32px rgba(245,166,35,.24) !important;
}.if-cart-drawer{ max-width: 100vw; }.if-cart-form input,.if-cart-form textarea{ font-size: 16px; }.if-cart-empty{ font-style: normal; }
@media (max-width: 980px){
  body.if-cart-enabled{ padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  body.if-cart-enabled.cookie-banner.visible{ padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
}
@media (max-width: 640px){.if-cart-dock{
    left: 14px !important;
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    justify-content: center !important;
    min-height: 54px !important;
    font-size:.86rem !important;
  }.if-cart-drawer{ width:100vw !important; border-left:0 !important; }.if-cart-head h2{ font-size:1.35rem !important; }
}

/* ════════════════════════════════════════════════════════════
   FINAL POLISH 10/10 UX — mobile hierarchy, CTA, premium cart
   Objectif : zéro chevauchement, meilleure lisibilité, branding noir/or.
   ════════════════════════════════════════════════════════════ */.hero__content{ max-width: 760px; }.hero__title{ text-wrap: balance; }.hero__sub{ max-width: 720px; line-height: 1.55; }.hero__ctas,.page-hero__ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.hero__ctas.btn,.page-hero__ctas.btn{ min-height:46px; display:inline-flex; align-items:center; justify-content:center; }.menu-tab{ font-size:.78rem; padding:10px 18px; }.trust-badge__icon{ background:rgba(245,166,35,.09); color:var(--cheddar); border:1px solid rgba(245,166,35,.28); }.pcard{ min-height:100%; }.pcard__body{ display:flex; flex-direction:column; min-height:190px; }.pcard__desc{ flex:1; }.compose-cart-action{ max-width:720px; margin-inline:auto !important; }.compose-cart-help{ max-width:620px; margin:12px auto 0; color:var(--creme-2); font-size:.86rem; line-height:1.55; text-align:center; }.options li{ gap:12px; }.options li span{ white-space:nowrap; }.wa-float{ background:linear-gradient(135deg,#0b0b0b,#1a1308); border:1px solid rgba(245,166,35,.5); box-shadow:0 12px 36px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04) inset; animation:none; }.wa-float svg{ fill:var(--cheddar); }.wa-float:hover{ transform:translateY(-2px); box-shadow:0 16px 44px rgba(245,166,35,.22); }.if-cart-dock{ min-width:172px; }.if-cart-drawer{ overscroll-behavior:contain; }.if-cart-body{ -webkit-overflow-scrolling:touch; }.if-cart-form input,.if-cart-form textarea{ caret-color:var(--cheddar); }.if-cart-type input{ width:auto; min-height:auto; margin:0 6px 0 0; accent-color:#f5a623; }.if-cart-item__qty button,.if-cart-close,.if-btn,.if-add-cart,.fab,.wa-float{ touch-action:manipulation; }.if-cart-item__remove{ min-height:34px; }

@media (max-width:980px){.hero{ min-height:auto; }.hero__inner{ padding-top:110px; padding-bottom:58px; }.hero__content{ max-width:100%; }.hero__title{ font-size:clamp(2.3rem,12vw,4.2rem); line-height:.9; }.hero__sub{ font-size:1rem; line-height:1.55; }.hero__ctas{ justify-content:flex-start; }.hero__rating-row{ align-items:flex-start; }.trust-badges{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.trust-badge{ min-height:72px; padding:12px; }.menu-tabs{ padding-inline:14px; scrollbar-width:none; }.menu-tabs::-webkit-scrollbar{ display:none; }.menu-tab{ flex:0 0 auto; min-height:42px; }.products-grid{ gap:18px !important; }.section__sub{ max-width:640px; }.footer__inner{ gap:26px; }
}

@media (max-width:640px){.nav{ min-height:64px; }.nav__logo-text{ font-size:1.05rem; }.nav__cta{ min-height:40px; }.hero__inner{ padding-inline:16px; padding-top:94px; }.hero__badge{ font-size:.68rem; padding:8px 12px; line-height:1.2; }.hero__title{ margin-top:12px; margin-bottom:14px; }.hero__sub{ margin-bottom:18px; }.hero__ctas{ display:grid; grid-template-columns:1fr; width:100%; }.hero__ctas.btn{ width:100%; }.hero__rating-row{ gap:8px; font-size:.84rem; }.hero__instagram{ max-width:100%; }.trust-badges{ grid-template-columns:1fr; margin-top:18px; }.stats__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }.stat__num{ font-size:clamp(2rem,11vw,3rem); }.menu-category,.compose-zone{ padding-left:14px; padding-right:14px; }.menu-category__head{ margin-bottom:24px; }.pcard__body{ min-height:auto; }.if-add-cart{ min-height:48px; font-size:.82rem; }.compose{ border-radius:18px; padding:18px; }.tiers{ gap:10px; }.tier__content{ padding:12px 8px; }.tier__price{ font-size:1.25rem; }.options h4 small{ display:block; margin:5px 0 0; }.options li{ align-items:flex-start; font-size:.8rem; }.gratin-bar strong{ display:block; margin:5px 0 0; }.page-hero{ padding-top:100px; padding-bottom:46px; }.page-hero__ctas{ display:grid; grid-template-columns:1fr; width:100%; }.page-hero__ctas.btn{ width:100%; }.related-grid{ grid-template-columns:1fr !important; }.footer{ padding-bottom:calc(92px + env(safe-area-inset-bottom)); }.footer__inner{ grid-template-columns:1fr !important; }.footer__col li{ margin-bottom:10px; }.wa-float{ width:52px; height:52px; left:14px; bottom:calc(74px + env(safe-area-inset-bottom)) !important; }.fab,.fab--maps{ width:52px !important; height:52px !important; min-width:52px !important; padding:0 !important; border-radius:999px !important; font-size:0 !important; justify-content:center !important; align-items:center !important; }.fab{ right:14px !important; bottom:calc(14px + env(safe-area-inset-bottom)) !important; }.fab::after{ content:'CMD'; font-size:.66rem; letter-spacing:.05em; }.fab--maps{ left:78px !important; bottom:calc(14px + env(safe-area-inset-bottom)) !important; }.fab--maps::after{ content:'MAP'; font-size:.66rem; letter-spacing:.05em; }.if-cart-dock{ min-width:0; }.if-cart-dock__text{ max-width:180px; overflow:hidden; text-overflow:ellipsis; }.if-cart-drawer{ border-radius:18px 18px 0 0; top:6vh; height:94vh; }.if-cart-head{ align-items:center; }.if-cart-head h2{ line-height:1; }.if-cart-item{ grid-template-columns:1fr; }.if-cart-item__qty{ justify-content:space-between; width:128px; }
}

@media (max-width:360px){.hero__title{ font-size:2.2rem; }.stats__grid{ grid-template-columns:1fr; }.if-cart-dock__text{ max-width:135px; }
}

/* === Instafood social proof live-ready cards === */.hero__socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
  max-width:760px;
}.hero__social{
  flex:1 1 190px;
  min-width:185px;
  max-width:250px;
}.hero__social-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--cheddar),#ffd08a);
  color:#080808;
  font-family:var(--font-chunk);
  font-size:.78rem;
  letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(245,166,35,.2);
}
@media (max-width:720px){.hero__socials{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px;width:100%;}.hero__social{max-width:none;width:100%;min-width:0;}.hero__social.hero__instagram-text{min-width:0;}
}
@media (max-width:420px){.hero__social{padding:9px 11px;}.hero__social-icon{width:30px;height:30px;font-size:.72rem;}
}

/* === Cart refinement: multi-item ordering + premium mobile checkout === */.if-cart-item__note{
  grid-column:1 / -1;
  width:100%;
  min-height:42px;
  resize:vertical;
  border-radius:12px;
  border:1px solid rgba(245,166,35,.18);
  background:#080808;
  color:var(--creme);
  padding:10px 12px;
  font-size:16px;
  line-height:1.35;
  outline:none;
}.if-cart-item__note:focus{border-color:var(--cheddar);box-shadow:0 0 0 3px rgba(245,166,35,.12)}.if-cart-continue{
  width:100%;
  margin:12px 0 0;
  min-height:44px;
}.if-cart-form.is-hidden{display:none;}.if-cart-item__remove{color:#ffcf99!important;}
@media (max-width:520px){.if-cart-foot-actions{grid-template-columns:1fr!important;}.if-cart-continue{order:-1;}.if-cart-drawer{top:4vh!important;height:96vh!important;}
}


/* ════════════════════════════════════════════════════════════
   CORRECTIF COOKIES PRIORITAIRES — mobile first
   Le bandeau cookies doit toujours passer au-dessus du panier/CTA.
   ════════════════════════════════════════════════════════════ */.cookie-banner{ z-index: 12000 !important; }.cookie-modal{ z-index: 12010 !important; }
body.if-cookie-pending.if-cart-dock,
body.if-cookie-pending.wa-float,
body.if-cookie-pending.fab,
body.if-cookie-modal-open.if-cart-dock,
body.if-cookie-modal-open.wa-float,
body.if-cookie-modal-open.fab{
  display:none !important;
}
@media (max-width: 640px){.cookie-banner.visible{
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom)) !important;
    max-height: 78vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }.cookie-banner__actions{
    display:grid !important;
    grid-template-columns:1fr;
    gap:8px !important;
  }.cookie-btn{
    width:100%;
    min-height:44px;
    text-align:center;
  }
}


/* ════════════════════════════════════════════════════════════
   BOOST UX DESKTOP + MOBILE FINAL — Instafood 2026
   Objectifs : aucun chevauchement, meilleure lisibilité ordinateur, CTA plus clair.
   ════════════════════════════════════════════════════════════ */
@media (min-width: 981px){.hero__inner{ align-items:center; min-height:calc(100vh - 80px); }.hero__content{ padding-top:24px; padding-bottom:48px; }.hero__ctas.btn,.page-hero__ctas.btn{ min-width:190px; }.products-grid{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:26px; }.pcard{ box-shadow:0 14px 34px rgba(0,0,0,.22); }.pcard__body{ min-height:210px; }.pcard__name{ line-height:1.02; }.pcard__desc{ font-size:.92rem; }.menu-tabs{ justify-content:center; padding-block:14px; }.menu-tab{ min-height:42px; }.if-cart-dock{ right:26px; bottom:26px; min-height:52px; padding-inline:18px; }.if-cart-dock:hover{ transform:translateY(-2px); border-color:var(--cheddar); box-shadow:0 20px 58px rgba(245,166,35,.22),0 0 0 1px rgba(255,255,255,.05) inset; }.if-cart-drawer{ width:min(500px,96vw); }.cookie-banner{ align-items:center; padding-left:clamp(24px,5vw,70px); padding-right:clamp(24px,5vw,70px); }.cookie-banner__actions{ flex:0 0 auto; }.cookie-btn{ min-width:130px; }
}
@media (max-width: 980px){
  body.if-cookie-pending{ padding-bottom:0 !important; }
  body.if-cookie-pending.footer{ padding-bottom:30px !important; }
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   INSTAFOOD CRO BOOST 2026 — conversion premium sans casser le branding
   ========================================================================== */.hero__title--conversion{max-width:980px;font-size:clamp(2.65rem,6vw,5.8rem);line-height:.92;letter-spacing:-.055em;text-transform:uppercase}.hero__title--conversion em{display:block;color:var(--cheddar);font-style:normal;text-shadow:0 0 34px rgba(255,194,68,.28)}.hero__ctas--conversion{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.btn--glovo{border-color:#FFC244!important;color:#FFC244!important}.btn--glovo:hover{background:#FFC244!important;color:#0a0a0a!important}.hero__proof-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;max-width:980px}.hero__proof-row>div{border:1px solid rgba(255,194,68,.28);background:rgba(10,10,10,.62);backdrop-filter:blur(12px);border-radius:18px;padding:13px 14px;box-shadow:0 16px 40px rgba(0,0,0,.28)}.hero__proof-row strong{display:block;color:#fff;font-size:.9rem;line-height:1.1}.hero__proof-row span{display:block;color:rgba(255,255,255,.72);font-size:.76rem;margin-top:4px}.best-sellers{padding-top:clamp(54px,7vw,90px)}.best-sellers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px}.product-card{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,194,68,.22);box-shadow:0 24px 80px rgba(0,0,0,.34)}.product-card img{width:100%;aspect-ratio:1.08/1;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.03)}.product-card__badge{position:absolute;top:12px;left:12px;z-index:2;background:rgba(10,10,10,.78);border:1px solid rgba(255,194,68,.5);color:#FFC244;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.product-card__body{padding:18px}.product-card h3{font-size:1.15rem;margin:0 0 7px;color:#fff}.product-card p{font-size:.9rem;color:rgba(255,255,255,.72);line-height:1.45;min-height:76px;margin:0 0 15px}.product-card.btn{width:100%;justify-content:center;min-height:46px}.conversion-sticky{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:990;display:flex;gap:8px;padding:8px;border-radius:999px;background:rgba(8,8,8,.88);backdrop-filter:blur(16px);border:1px solid rgba(255,194,68,.35);box-shadow:0 18px 60px rgba(0,0,0,.45)}.conversion-sticky a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:999px;padding:0 20px;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.06em;font-size:.76rem;border:1px solid rgba(255,255,255,.12)}.conversion-sticky__main{background:linear-gradient(135deg,#FFC244,#C9A45C)!important;color:#080808!important;border-color:transparent!important}body.if-cookie-pending.conversion-sticky,body.if-cookie-modal-open.conversion-sticky{display:none!important}body.if-cart-enabled.conversion-sticky{bottom:calc(82px + env(safe-area-inset-bottom))}
@media (max-width:1120px){.hero__proof-row,.best-sellers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.nav__links a[href="#best-sellers"]{display:none}.hero__ctas--conversion.btn{width:100%;justify-content:center}.hero__proof-row{grid-template-columns:1fr 1fr;gap:8px}.hero__proof-row>div{padding:11px 12px}.best-sellers__grid{grid-template-columns:1fr}.product-card p{min-height:0}.conversion-sticky{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;display:grid;grid-template-columns:.85fr 1.25fr.85fr;border-radius:24px}.conversion-sticky a{min-height:46px;padding:0 10px;font-size:.68rem}.wa-float{display:none!important}.fab{display:none!important}}
@media (max-width:380px){.hero__proof-row{grid-template-columns:1fr}.conversion-sticky a{font-size:.62rem}}


/* ==========================================================================
   INSTAFOOD FINAL CRO HARDENING — no overlap, exact product cards, RTL safe
   ========================================================================== */.product-card button.btn{
  border:0;
  font-family:var(--font-body);
  cursor:pointer;
}.product-card button.btn:focus-visible,.conversion-sticky a:focus-visible,.if-cart-dock:focus-visible,.cookie-btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}
body.if-cart-enabled{
  padding-bottom:calc(92px + env(safe-area-inset-bottom));
}
body.if-cart-enabled.if-cart-dock{
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:1004;
}
body.if-cart-enabled.conversion-sticky{
  bottom:calc(82px + env(safe-area-inset-bottom));
  z-index:990;
}.cookie-banner.visible ~.conversion-sticky,
body.if-cookie-pending.conversion-sticky,
body.if-cookie-modal-open.conversion-sticky{
  display:none!important;
}
body.if-cookie-pending.if-cart-dock,
body.if-cookie-modal-open.if-cart-dock{
  bottom:calc(18px + env(safe-area-inset-bottom));
}
[dir="rtl"].hero__proof-row,
[dir="rtl"].best-sellers__grid{
  direction:rtl;
}
[dir="rtl"].conversion-sticky{
  direction:rtl;
}
@media (min-width:761px){.conversion-sticky{
    max-width:min(820px,calc(100vw - 48px));
  }
}
@media (max-width:760px){
  body.if-cart-enabled{
    padding-bottom:calc(154px + env(safe-area-inset-bottom));
  }
  body.if-cart-enabled.conversion-sticky{
    bottom:calc(76px + env(safe-area-inset-bottom));
  }.if-cart-dock{
    right:12px;
    left:auto;
    bottom:calc(12px + env(safe-area-inset-bottom));
    min-height:46px;
  }.cookie-banner{
    padding-bottom:calc(20px + env(safe-area-inset-bottom));
  }
}

/* Final anti-overlap override: cookie banner wins, no floating control on top of consent */
body{
  padding-bottom:calc(84px + env(safe-area-inset-bottom));
}
body.if-cookie-pending.if-cart-dock,
body.if-cookie-modal-open.if-cart-dock,
body.if-cookie-pending.wa-float,
body.if-cookie-modal-open.wa-float,
body.if-cookie-pending.fab,
body.if-cookie-modal-open.fab{
  display:none!important;
}
@media (max-width:760px){
  body{
    padding-bottom:calc(132px + env(safe-area-inset-bottom));
  }
}

/* ==========================================================================
   INSTAFOOD ULTIMATE 2026 — premium CRO polish, ergonomic hierarchy, no overlap
   ========================================================================== */
html{scroll-padding-top:96px;}.nav{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}.nav__links a,.conversion-sticky a,.btn{touch-action:manipulation;}.hero__content{max-width:1120px;}.hero__badge{box-shadow:0 14px 42px rgba(0,0,0,.34),0 0 0 1px rgba(255,194,68,.14) inset;}.hero__ctas--conversion.btn{min-height:54px;box-shadow:0 18px 42px rgba(0,0,0,.22);}.hero__ctas--conversion.btn--primary{box-shadow:0 18px 50px rgba(255,194,68,.24),0 0 0 1px rgba(255,255,255,.08) inset;}.hero__proof-row>div{transition:transform.22s ease,border-color.22s ease,background.22s ease;}.hero__proof-row>div:hover{transform:translateY(-2px);border-color:rgba(255,194,68,.54);background:rgba(12,12,12,.78);}.product-card{isolation:isolate;transition:transform.24s ease,border-color.24s ease,box-shadow.24s ease;background:radial-gradient(circle at 18% 0,rgba(255,194,68,.13),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018));}.product-card:hover{transform:translateY(-5px);border-color:rgba(255,194,68,.48);box-shadow:0 30px 90px rgba(0,0,0,.44),0 0 0 1px rgba(255,194,68,.08) inset;}.product-card img{background:#111;content-visibility:auto;}.product-card__body{display:flex;flex-direction:column;min-height:218px;}.product-card__body.btn{margin-top:auto;}.pcard,.product-card,.tier,.fact-card,.trust-badge{overflow-wrap:anywhere;}.if-cart-drawer{z-index:1200;}.cookie-banner{z-index:1400;}.conversion-sticky{z-index:980;}
body.if-cookie-pending{padding-bottom:0!important;}
body.if-cookie-pending.conversion-sticky,
body.if-cookie-pending.if-cart-dock,
body.if-cookie-pending.wa-float,
body.if-cookie-pending.fab{display:none!important;}
@media (min-width:1121px){.best-sellers__grid{grid-template-columns:repeat(4,minmax(220px,1fr));}.product-card__body{padding:20px;}
}
@media (max-width:760px){
  html{scroll-padding-top:84px;}.hero__title--conversion{font-size:clamp(2.25rem,13vw,3.8rem);letter-spacing:-.05em;}.hero__ctas--conversion{gap:10px;}.hero__ctas--conversion.btn{min-height:50px;}.hero__proof-row strong{font-size:.84rem;}.hero__proof-row span{font-size:.7rem;}.product-card__body{min-height:0;}.conversion-sticky{box-shadow:0 12px 42px rgba(0,0,0,.56);}
}
@media (prefers-reduced-motion: reduce){.product-card,.hero__proof-row>div{transition:none!important;}.product-card:hover,.hero__proof-row>div:hover{transform:none!important;}
}

/* ════════════════════════════════════════════════════════════
   BOOST PERF 2026 — Z-index consolidation (échelle propre)
   Hiérarchie finale (haut → bas):
   - Cookie modal      : 14000
   - Cookie banner     : 13000
   - Cart drawer       : 1200
   - Cart overlay      : 1100
   - Cart dock         : 1050
   - Toast             : 1300
   - Conversion sticky : 980
   - WA float / FAB    : 90
   - Lang switcher     : 95
   - Lightbox          : 9999
   ════════════════════════════════════════════════════════════ */.cookie-modal{ z-index: 14000 !important; }.cookie-banner{ z-index: 13000 !important; }.if-cart-toast{ z-index: 1300 !important; }.if-cart-drawer{ z-index: 1200 !important; }.if-cart-overlay{ z-index: 1100 !important; }.if-cart-dock{ z-index: 1050 !important; }.conversion-sticky{ z-index: 980 !important; }

/* ════════════════════════════════════════════════════════════
   BOOST référencement 2026 — Best Sellers cards : titre + image cliquables
   sans casser le design existant
   ════════════════════════════════════════════════════════════ */.product-card a[aria-label]{
  display: block;
  line-height: 0;
  text-decoration: none;
}.product-card h3 a{
  color: inherit;
  text-decoration: none;
  transition: color.2s ease;
}.product-card h3 a:hover{
  color: var(--cheddar);
}.product-card a[aria-label]:focus-visible,.product-card h3 a:focus-visible{
  outline: 3px solid var(--cheddar);
  outline-offset: 4px;
  border-radius: 8px;
}


/* OFFICL FINAL PATCH — navigation premium, no duplicate floating CTA */.nav__account{
  border:1.5px solid rgba(245,166,35,.55);
  color:var(--cheddar)!important;
  padding:8px 13px!important;
  border-radius:999px;
  background:rgba(245,166,35,.08);
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}.nav__account:hover{background:var(--cheddar);color:var(--noir)!important;}.nav__lang-slot{display:flex;align-items:center;justify-content:center;flex-shrink:0;}.nav__lang-slot.lang-switcher{position:relative!important;right:auto!important;bottom:auto!important;z-index:auto!important;margin-left:6px;}.nav__lang-slot.lang-switcher__btn{min-height:42px;border:1.5px solid rgba(245,166,35,.38);background:rgba(10,10,10,.88);color:var(--creme);border-radius:999px;padding:0 12px;font-weight:900;letter-spacing:.05em;box-shadow:none;}.nav__lang-slot.lang-switcher__menu{position:absolute;right:0;top:calc(100% + 8px);left:auto;bottom:auto;background:rgba(10,10,10,.96);border:1px solid rgba(245,166,35,.42);border-radius:16px;padding:8px;min-width:170px;box-shadow:0 18px 60px rgba(0,0,0,.55);list-style:none;}.nav__lang-slot.lang-switcher__menu button{width:100%;text-align:left;background:transparent;color:var(--creme);border:0;border-radius:12px;padding:10px 12px;font-weight:800;}.nav__lang-slot.lang-switcher__menu button:hover,.nav__lang-slot.lang-switcher__menu button[aria-current="true"]{background:rgba(245,166,35,.14);color:var(--cheddar);}.conversion-sticky,.fab,.wa-float{display:none!important;}.if-cart-options{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}.if-cart-option{border:1px solid rgba(245,166,35,.24);background:rgba(245,166,35,.06);color:var(--creme);border-radius:999px;padding:8px 10px;font-size:.72rem;font-weight:800;cursor:pointer;}.if-cart-option.is-on{background:var(--cheddar);border-color:var(--cheddar);color:var(--noir);}.if-cart-item__subtotal{grid-column:1 / -1;color:var(--cheddar);font-weight:900;font-size:.84rem;}
@media(max-width:1080px){.nav__links{gap:14px}.nav__links a{font-size:.68rem}.nav__cta{padding:10px 14px}.nav__account{padding:7px 11px!important}}
@media(max-width:980px){.nav__lang-slot{margin-left:auto}.nav__links.open{padding-bottom:18px}.nav__links.open.nav__account{display:inline-flex;justify-content:center}.nav__cta{display:inline-flex}.nav__lang-slot.lang-switcher__menu{right:0}.nav{gap:10px}}
@media(max-width:520px){.nav__logo-text{font-size:1.05rem}.nav__cta{font-size:.64rem!important;padding:9px 11px!important}.nav__lang-slot.lang-switcher__btn{min-height:38px;padding:0 9px;font-size:.72rem}.if-cart-options{gap:6px}.if-cart-option{font-size:.69rem;padding:7px 9px}}


/* === 2026 CHEDDAR CINEMATIC GOLD BOOST === */
:root{
  --if-liquid-gold-1:#fff1b3;
  --if-liquid-gold-2:#ffd45e;
  --if-liquid-gold-3:#ffb100;
  --if-liquid-gold-4:#d97900;
  --if-dark-brown:#160b03;
}
body{
  background-color:var(--noir);
  background-image:
    radial-gradient(circle at 18% 0%, rgba(255,177,0,.16), transparent 25%),
    radial-gradient(circle at 82% 8%, rgba(255,120,0,.12), transparent 26%),
    linear-gradient(rgba(0,0,0,.46), rgba(0,0,0,.56)),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'><rect width='100%25' height='100%25' fill='%23110d09'/><g fill='none' stroke='%23000' stroke-width='2' opacity='.55'><path d='M0,40 L240,40 M0,80 L240,80'/><path d='M60,0 L60,40 M180,0 L180,40 M0,40 L0,80 M120,40 L120,80 M240,40 L240,80 M60,80 L60,120 M180,80 L180,120'/></g><g fill='%23000' opacity='.22'><rect x='0' y='0' width='60' height='40'/><rect x='120' y='0' width='60' height='40' fill='%23090807' opacity='.5'/><rect x='180' y='40' width='60' height='40' opacity='.58'/><rect x='60' y='80' width='60' height='40' opacity='.48'/></g></svg>");
}.nav,.if-pro-nav{
  background:linear-gradient(180deg, rgba(8,8,8,.95) 0%, rgba(8,8,8,.88) 68%, rgba(8,8,8,.55) 100%)!important;
  box-shadow:0 10px 42px rgba(0,0,0,.45), 0 2px 0 rgba(255,177,0,.18) inset;
}.nav.scrolled,.if-pro-nav.scrolled{
  border-bottom-color:rgba(255,177,0,.65)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.52), 0 1px 0 rgba(255,255,255,.04) inset, 0 -1px 0 rgba(255,177,0,.22) inset;
}.nav__logo,.if-pro-nav.nav__logo{
  background:linear-gradient(180deg, rgba(12,10,8,.98) 0%, rgba(20,15,10,.95) 100%)!important;
  border:1px solid rgba(255,177,0,.46)!important;
  box-shadow:0 0 0 1px rgba(255,216,125,.14) inset, 0 12px 34px rgba(255,177,0,.16), 0 3px 0 rgba(214,123,0,.9)!important;
}.hero__bg::after{
  background:
    radial-gradient(circle at 12% 36%, rgba(255,177,0,.16), transparent 24%),
    radial-gradient(circle at 28% 62%, rgba(255,132,0,.13), transparent 30%),
    linear-gradient(180deg, rgba(10,10,10,.18) 0%, rgba(10,10,10,.04) 34%, rgba(10,10,10,.50) 74%, rgba(10,10,10,.93) 100%)!important;
}.hero__badge{
  background:linear-gradient(180deg, var(--if-liquid-gold-1) 0%, var(--if-liquid-gold-2) 18%, var(--if-liquid-gold-3) 70%, var(--if-liquid-gold-4) 100%)!important;
  border:1px solid rgba(255,229,155,.65);
  box-shadow:0 10px 0 rgba(169,96,0,.85), 0 16px 45px rgba(255,177,0,.26), 0 0 0 2px rgba(255,227,145,.12) inset!important;
}.hero__title{
  text-shadow:
    3px 3px 0 #120d09,
    7px 7px 0 rgba(214,123,0,.95),
    0 0 26px rgba(255,186,41,.18),
    0 22px 60px rgba(0,0,0,.72)!important;
}.hero__title.food,.hero__sub strong,.local-hero h1 em,.page-hero__title em,.page-hero__lead strong{
  color:var(--if-liquid-gold-2)!important;
  text-shadow:0 0 18px rgba(255,177,0,.14);
}.hero__cheddar-top{filter: drop-shadow(0 8px 20px rgba(255,177,0,.2));}.btn--primary,.btn-primary,.hero__ctas.btn:first-child,.if-main-cta,.if-add,.if-checkout,.if-btn--primary,.cookie-btn--primary,.newsletter__button,.local-hero.btn,.page-hero__ctas.btn:first-child{
  position:relative;
  background:linear-gradient(180deg, var(--if-liquid-gold-1) 0%, var(--if-liquid-gold-2) 16%, var(--if-liquid-gold-3) 58%, var(--if-liquid-gold-4) 100%)!important;
  color:var(--if-dark-brown)!important;
  border:1px solid rgba(255,233,166,.78)!important;
  box-shadow:0 7px 0 rgba(164,92,0,.88), 0 16px 36px rgba(255,177,0,.3), 0 1px 0 rgba(255,255,255,.4) inset!important;
  overflow:hidden;
}.btn--primary::before,.btn-primary::before,.hero__ctas.btn:first-child::before,.if-main-cta::before,.if-add::before,.if-checkout::before,.if-btn--primary::before,.cookie-btn--primary::before,.newsletter__button::before,.local-hero.btn::before,.page-hero__ctas.btn:first-child::before{
  content:"";position:absolute;inset:-1px auto -1px -35%;width:38%;transform:skewX(-22deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  animation:goldShine 4.8s ease-in-out infinite;pointer-events:none;
}
@keyframes goldShine{0%,70%,100%{left:-35%;opacity:0}12%{left:120%;opacity:1}}.btn--primary:hover,.btn-primary:hover,.hero__ctas.btn:first-child:hover,.if-main-cta:hover,.if-add:hover,.if-checkout:hover,.if-btn--primary:hover,.local-hero.btn:hover,.page-hero__ctas.btn:first-child:hover{
  filter:saturate(1.08) brightness(1.02); transform:translateY(-2px);
  box-shadow:0 8px 0 rgba(164,92,0,.92), 0 22px 40px rgba(255,177,0,.36), 0 1px 0 rgba(255,255,255,.44) inset!important;
}.if-account-btn,.if-lang__button,.nav__links a,.if-pro-nav.nav__links a{
  border-color:rgba(255,177,0,.26)!important;
}.if-account-btn:hover,.if-lang__button:hover,.nav__links a:hover,.if-pro-nav.nav__links a:hover{
  background:rgba(255,177,0,.12)!important; color:var(--if-liquid-gold-2)!important; box-shadow:0 8px 24px rgba(255,177,0,.12);
}.hero__instagram,.trust-badge,.if-order-card,.if-cart-panel,.feature-card,.menu-card,.avis-card,.info-card{
  box-shadow:0 12px 30px rgba(0,0,0,.24), 0 0 0 1px rgba(255,177,0,.08) inset;
}.hero__instagram,.if-order-card,.if-cart-panel{ border-color:rgba(255,177,0,.28)!important; }.if-order-card img,.card img,.menu-card img,.product-card img{filter:saturate(1.06) contrast(1.04) drop-shadow(0 8px 18px rgba(0,0,0,.18));}.section-title,.menu-section h2,.page-hero__title,.local-hero h1{ text-shadow:0 4px 0 rgba(214,123,0,.65), 0 0 26px rgba(255,177,0,.11);} 


/* ===== DIVINE CHEDDAR UX PATCH — premium realistic motion ===== */.hero__cheddar-top{
  height: 96px !important;
  isolation: isolate;
}.hero__cheddar-top::before{
  inset: -6px 0 18px !important;
  background:
    radial-gradient(1200px 60px at 50% 0%, rgba(255,248,214,.56) 0%, rgba(255,214,112,.22) 42%, rgba(255,164,0,0) 72%),
    linear-gradient(180deg, rgba(255,222,124,.26) 0%, rgba(255,177,0,.1) 36%, rgba(255,140,0,0) 100%) !important;
  filter: blur(12px) saturate(1.12) !important;
  opacity:.92 !important;
  animation: cheddarAura 8.5s ease-in-out infinite alternate !important;
}.hero__cheddar-drip{
  filter:
    drop-shadow(0 3px 0 rgba(255,236,177,.34))
    drop-shadow(0 10px 18px rgba(255,153,0,.24))
    drop-shadow(0 22px 44px rgba(168,83,0,.22)) !important;
  animation: cheddarBreath 7.5s ease-in-out infinite !important;
  will-change: transform, filter;
}.hero__cheddar-drip use{
  fill: url(#cheddarGrad);
}.hero__cheddar-top::after{
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(106deg,
      rgba(255,255,255,0) 8%,
      rgba(255,248,219,.12) 18%,
      rgba(255,248,219,.42) 22%,
      rgba(255,248,219,.08) 28%,
      rgba(255,255,255,0) 36%),
    linear-gradient(180deg, rgba(255,241,198,.52) 0 10px, rgba(255,214,112,.14) 14px, rgba(255,177,0,0) 30px) !important;
  mix-blend-mode: screen;
  filter: blur(2px);
  opacity:.95;
  animation: cheddarSheen 12s cubic-bezier(.22,.61,.36,1) infinite;
  pointer-events: none;
}
/* Hide childish dots and drips, keep premium flowing silhouette only */.hero__cheddar-splash,.hero__cheddar-drop{ display:none !important; }

@keyframes cheddarBreath{
  0%,100%{ transform: translateY(0) scaleY(1); }
  50%{ transform: translateY(1px) scaleY(1.015); }
}
@keyframes cheddarAura{
  0%{ opacity:.76; transform: translateY(0); }
  100%{ opacity:.96; transform: translateY(2px); }
}
@keyframes cheddarSheen{
  0%{ transform: translateX(-18%) translateY(0); opacity:.28; }
  14%{ opacity:.62; }
  34%{ transform: translateX(8%) translateY(0); opacity:.82; }
  54%{ opacity:.14; }
  100%{ transform: translateX(32%) translateY(0); opacity:.08; }
}
@media (max-width: 768px){.hero__cheddar-top{ height: 82px !important; }
}


/* ===== RESTORE VALIDATED BRANDING & PREMIUM HOVER UX — FINAL ===== */
/* The previous cheddar strip/splash animation was visually cheap. Hide it fully and keep the validated hero image clean. */.hero__cheddar-top{display:none!important;visibility:hidden!important;height:0!important;opacity:0!important}.hero__inner{padding-top:clamp(72px,7vw,118px)!important}

/* Premium menu tabs: cinematic black/gold, stable, no cheap effects */.menu-tabs{
  background:linear-gradient(180deg,rgba(7,6,5,.98),rgba(7,6,5,.90))!important;
  border-top:1px solid rgba(245,166,35,.42)!important;
  border-bottom:1px solid rgba(245,166,35,.34)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,230,170,.06)!important;
}.menu-tab{
  position:relative!important;overflow:hidden!important;
  background:rgba(11,10,8,.78)!important;
  border:1px solid rgba(245,166,35,.22)!important;
  color:rgba(247,239,227,.86)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
  transition:transform.26s cubic-bezier(.16,1,.3,1),border-color.26s ease,box-shadow.26s ease,background.26s ease,color.26s ease!important;
}.menu-tab::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 0%,rgba(255,238,190,.16) 42%,transparent 64%);
  transform:translateX(-120%);transition:transform.7s cubic-bezier(.16,1,.3,1);pointer-events:none;
}.menu-tab:hover{transform:translateY(-2px)!important;border-color:rgba(255,194,68,.62)!important;color:#fff5df!important;box-shadow:0 10px 28px rgba(245,166,35,.12)!important}.menu-tab:hover::after{transform:translateX(120%)}.menu-tab.active{
  background:linear-gradient(135deg,#fff0be 0%,#ffd078 22%,#f5a623 62%,#d88908 100%)!important;
  color:#120b03!important;border-color:rgba(255,230,170,.5)!important;
  box-shadow:0 10px 0 rgba(137,78,3,.7),0 18px 40px rgba(245,166,35,.24),inset 0 1px 0 rgba(255,255,255,.58)!important;
}

/* Restore the validated premium card behaviour: black bricks, cheddar border, glow, smooth hover. */.pcard,.product-card,.feature-card,.fact-card,.info-card,.avis-card,.story-card{
  position:relative!important;isolation:isolate!important;
  background:radial-gradient(circle at 18% 0%,rgba(245,166,35,.08),transparent 30%),linear-gradient(180deg,rgba(18,16,13,.96),rgba(8,8,7,.94))!important;
  border:1px solid rgba(245,166,35,.18)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035)!important;
  transition:transform.34s cubic-bezier(.16,1,.3,1),border-color.34s ease,box-shadow.34s ease,background.34s ease!important;
}.pcard::before,.product-card::before,.feature-card::before,.fact-card::before,.info-card::before,.avis-card::before,.story-card::before{
  content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:2;
  background:linear-gradient(135deg,rgba(255,229,165,.72),rgba(245,166,35,.10) 32%,rgba(245,166,35,.52) 68%,rgba(255,238,190,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity.34s ease;
}.pcard::after,.product-card::after,.feature-card::after,.fact-card::after,.info-card::after,.avis-card::after,.story-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:linear-gradient(115deg,transparent 0%,rgba(255,230,170,.08) 40%,rgba(255,230,170,.24) 48%,rgba(245,166,35,.06) 56%,transparent 72%);
  transform:translateX(-125%);opacity:0;transition:transform.85s cubic-bezier(.16,1,.3,1),opacity.34s ease;
}.pcard:hover,.product-card:hover,.feature-card:hover,.fact-card:hover,.info-card:hover,.avis-card:hover,.story-card:hover{
  transform:translateY(-8px) scale(1.008)!important;
  border-color:rgba(255,177,0,.78)!important;
  box-shadow:0 34px 92px rgba(0,0,0,.48),0 0 0 1px rgba(255,177,0,.10) inset,0 0 46px rgba(245,166,35,.16)!important;
}.pcard:hover::before,.product-card:hover::before,.feature-card:hover::before,.fact-card:hover::before,.info-card:hover::before,.avis-card:hover::before,.story-card:hover::before{opacity:1}.pcard:hover::after,.product-card:hover::after,.feature-card:hover::after,.fact-card:hover::after,.info-card:hover::after,.avis-card:hover::after,.story-card:hover::after{transform:translateX(125%);opacity:1}.pcard__media img,.product-card img,.story-card img{
  transform-origin:center center!important;
  transition:transform.62s cubic-bezier(.16,1,.3,1),filter.62s ease!important;
  filter:saturate(1.08) contrast(1.05) brightness(.98) drop-shadow(0 8px 18px rgba(0,0,0,.18))!important;
}.pcard:hover.pcard__media img,.product-card:hover img,.story-card:hover img{
  transform:scale(1.075)!important;
  filter:saturate(1.20) contrast(1.10) brightness(1.04) drop-shadow(0 12px 22px rgba(0,0,0,.22))!important;
}.pcard__name,.product-card h3,.product-card h3 a{
  color:#fff6e6!important;text-shadow:0 3px 0 rgba(0,0,0,.35)!important;
}.pcard:hover.pcard__name,.product-card:hover h3,.product-card:hover h3 a{
  color:#fff9ef!important;text-shadow:0 3px 0 rgba(0,0,0,.42),0 0 18px rgba(245,166,35,.16)!important;
}.pcard__price,.product-card__badge{
  background:linear-gradient(135deg,#fff0be 0%,#ffd078 25%,#f5a623 68%,#d88908 100%)!important;
  color:#120b03!important;border-color:rgba(255,230,170,.42)!important;
  box-shadow:0 8px 0 rgba(137,78,3,.72),0 16px 32px rgba(245,166,35,.22),inset 0 1px 0 rgba(255,255,255,.55)!important;
}.if-home-order-link,.product-card.btn,.pcard.if-add-cart{
  position:relative!important;overflow:hidden!important;
  background:linear-gradient(135deg,#fff0be 0%,#ffd078 24%,#f5a623 58%,#d88908 100%)!important;
  color:#120b03!important;border:1px solid rgba(255,230,170,.48)!important;
  box-shadow:0 8px 0 rgba(137,78,3,.72),0 18px 38px rgba(245,166,35,.24),inset 0 1px 0 rgba(255,255,255,.52)!important;
  transition:transform.24s cubic-bezier(.16,1,.3,1),box-shadow.24s ease,filter.24s ease!important;
}.if-home-order-link::before,.product-card.btn::before,.pcard.if-add-cart::before{
  content:'';position:absolute;inset:-2px auto -2px -40%;width:32%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transition:left.72s cubic-bezier(.16,1,.3,1);pointer-events:none;
}.if-home-order-link:hover,.product-card.btn:hover,.pcard.if-add-cart:hover{transform:translateY(-2px)!important;filter:saturate(1.08) brightness(1.03)!important;box-shadow:0 10px 0 rgba(137,78,3,.78),0 22px 46px rgba(245,166,35,.30),inset 0 1px 0 rgba(255,255,255,.56)!important}.if-home-order-link:hover::before,.product-card.btn:hover::before,.pcard.if-add-cart:hover::before{left:125%}

/* Restore premium contrast on black brick sections */.section,.facts-section,.menu-section{background-color:transparent!important}.section__eyebrow{color:#ffb100!important;text-shadow:0 0 18px rgba(245,166,35,.22)!important}.section__title{color:#fff6e6!important}.section__title em,.section__title strong{background:linear-gradient(90deg,#fff2be,#ffd078,#f5a623)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}

@media (prefers-reduced-motion: reduce){.menu-tab,.pcard,.product-card,.feature-card,.fact-card,.info-card,.avis-card,.story-card,.pcard__media img,.product-card img,.story-card img{transition:none!important}.pcard:hover,.product-card:hover,.feature-card:hover,.fact-card:hover,.info-card:hover,.avis-card:hover,.story-card:hover{transform:none!important}.pcard::after,.product-card::after,.feature-card::after,.fact-card::after,.info-card::after,.avis-card::after,.story-card::after,.if-home-order-link::before,.product-card.btn::before,.pcard.if-add-cart::before{display:none!important}
}

/* V5 fallback — no boxed title accents */.section__title em,.section__title strong,.hero__title em,.if-order-hero h1 em,.menu-category__head.section__title em{
  background:none !important;background-image:none !important;-webkit-background-clip:border-box !important;background-clip:border-box !important;-webkit-text-fill-color:currentColor !important;color:#f5b12f !important;
}


/* ===== V10.5 CTA COHERENCE PATCH ===== */.hero__ctas--conversion.btn{
  position:relative;
  background:linear-gradient(180deg, var(--if-liquid-gold-1) 0%, var(--if-liquid-gold-2) 16%, var(--if-liquid-gold-3) 58%, var(--if-liquid-gold-4) 100%) !important;
  color:var(--if-dark-brown) !important;
  border:1px solid rgba(255,233,166,.78) !important;
  box-shadow:0 7px 0 rgba(164,92,0,.88), 0 16px 36px rgba(255,177,0,.3), 0 1px 0 rgba(255,255,255,.4) inset !important;
  overflow:hidden;
  min-width:220px;
}.hero__ctas--conversion.btn::before{
  content:"";position:absolute;inset:-1px auto -1px -35%;width:38%;transform:skewX(-22deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  animation:goldShine 4.8s ease-in-out infinite;pointer-events:none;
}.hero__ctas--conversion.btn:hover{
  filter:saturate(1.08) brightness(1.02);
  transform:translateY(-2px);
  box-shadow:0 8px 0 rgba(164,92,0,.92), 0 22px 40px rgba(255,177,0,.36), 0 1px 0 rgba(255,255,255,.44) inset !important;
}.hero__ctas--conversion.btn--glovo,.hero__ctas--conversion.btn--ghost{
  background:linear-gradient(180deg, var(--if-liquid-gold-1) 0%, var(--if-liquid-gold-2) 16%, var(--if-liquid-gold-3) 58%, var(--if-liquid-gold-4) 100%) !important;
  color:var(--if-dark-brown) !important;
  border:1px solid rgba(255,233,166,.78) !important;
}
@media (max-width:760px){.hero__ctas--conversion.btn{min-width:0;width:100%;}
}.avis-source-note{max-width:820px;margin:10px auto 0;font-size:.86rem;opacity:.82}


/* V10.43.3 — PageSpeed + multilingual reviews hardening */.if-human-reviews.avis-slider{min-height:260px;contain:layout paint;}.if-human-reviews.avis-track{will-change:transform;transform:translate3d(0,0,0);}.if-human-reviews.avis-card{backface-visibility:hidden;}
@media (max-width:600px){.if-human-reviews.avis-slider{min-height:235px}.if-human-reviews.avis-track{animation-duration:130s!important}}
/* Reduce non-composited decorative animations that Lighthouse flags as noise */.hero:before,.hero__cheddar-splash,.hero__cheddar-drop,.hero__cheddar-drip{animation:none!important;}.hero__bg{animation:none!important;transform:none!important;}.reveal{transition:opacity.18s ease, transform.18s ease;}
@media (prefers-reduced-motion:reduce){.avis-track{animation:none!important}}


/* V10.43.12 — WhatsApp officiel + animations + ordre mobile commande */.marquee__track{animation:marquee 24s linear infinite!important;will-change:transform;transform:translate3d(0,0,0);}.marquee:hover.marquee__track{animation-play-state:running!important;}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:marquee 48s linear infinite!important;}}.if-delivery-top-mount{margin:18px auto 20px;max-width:1180px;border:1px solid rgba(245,166,35,.24);border-radius:24px;background:linear-gradient(135deg,rgba(245,166,35,.08),rgba(255,255,255,.035));padding:18px;}.if-delivery-top-mount h2{margin:0 0 6px;color:#ffd58f;}.if-delivery-top-mount.if-delivery-panel{margin-top:12px;margin-bottom:0;}.if-service-modes label:has(input:checked),.if-service-modes label.is-selected{background:linear-gradient(135deg,#f5a623,#ffd58f)!important;color:#16110a!important;border-color:rgba(255,236,178,.9)!important;box-shadow:0 12px 28px rgba(245,166,35,.22)!important;}
@media(max-width:760px){.if-order-layout{display:flex;flex-direction:column}.if-delivery-top-mount{order:-2;margin:14px 12px 16px;padding:14px;border-radius:20px}.ifProducts,#ifProducts{order:-1}.if-service-modes{grid-template-columns:1fr!important}.if-delivery-panel{padding:14px}}


/* V10.43.48 — homepage WhatsApp float refined: icon only, gold luxe, transparent, glossy */
.if-home-whatsapp-float{
  position:fixed;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  z-index:2147482600;
  width:62px;
  height:62px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(246,210,122,.72);
  background:radial-gradient(circle at 30% 30%, rgba(255,235,180,.22), rgba(201,164,92,.10) 38%, rgba(8,8,8,.18) 70%, rgba(8,8,8,.04) 100%);
  color:#f6d27a!important;
  text-decoration:none!important;
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  box-shadow:0 18px 40px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.03) inset,0 0 26px rgba(246,210,122,.18);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  overflow:hidden;
  pointer-events:auto;
}
.if-home-whatsapp-float::before{
  content:'';
  position:absolute;
  inset:-35% auto -35% -120%;
  width:68%;
  transform:rotate(18deg);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,245,210,.55), rgba(255,255,255,0));
  animation:ifWaLuxShine 3.6s ease-in-out infinite;
  pointer-events:none;
}
.if-home-whatsapp-float:hover,
.if-home-whatsapp-float:focus-visible{
  transform:translateY(-2px) scale(1.03);
  border-color:rgba(255,229,159,.98);
  box-shadow:0 22px 56px rgba(0,0,0,.42),0 0 34px rgba(246,210,122,.28);
  outline:none;
}
.if-home-whatsapp-float__icon{
  position:relative;
  z-index:1;
  width:29px;
  height:29px;
  display:block;
  color:#f6d27a;
  filter:drop-shadow(0 0 12px rgba(246,210,122,.26));
}
@keyframes ifWaLuxShine{
  0%{transform:translateX(0) rotate(18deg);opacity:0;}
  14%{opacity:.0;}
  32%{opacity:1;}
  55%{opacity:.15;}
  100%{transform:translateX(290%) rotate(18deg);opacity:0;}
}
@media(max-width:520px){
  .if-home-whatsapp-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:58px;height:58px;}
  .if-home-whatsapp-float__icon{width:27px;height:27px;}
}
/* V10.43.43 mobile LCP background override */
@media(max-width:780px){.hero__bg{background-image:image-set(url('posters/hero-banner-mobile.webp') type('image/webp'),url('posters/hero-banner.webp') type('image/webp'))!important;}}
