/* Polices auto-hebergees (Google Fonts via fontsource 5.3.0, OFL 1.1) */
@font-face{font-family:'Bagel Fat One';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/bagel-fat-one-latin-ext-v1149410.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bagel Fat One';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/bagel-fat-one-latin-v1149410.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Anton';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/anton-latin-ext-v1149410.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Anton';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/anton-latin-v1149410.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/manrope-latin-ext-wght-v1149410.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/manrope-latin-wght-v1149410.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Caveat';font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/fonts/caveat-latin-ext-wght-v1149410.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Caveat';font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/fonts/caveat-latin-wght-v1149410.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* if-bundle-v1149331.css */
/* Instafood · TRAIN H · if-bundle-v11592.css purgé (14 pages types ×2 viewports + safelist parc). Cascade conservée. */
.if-rythme-veil { position: fixed; inset: 0px; pointer-events: none; z-index: -1; }.if-rythme-veil > div { position: absolute; inset: 0px; opacity: 0; transition: opacity var(--ifr-veil-dur,.8s) ease; }.ifr-instant .if-rythme-veil > div { transition: none; }.if-rythme-veil .ifr-noir { background: rgb(10, 8, 6); }.if-rythme-veil .ifr-or { background: radial-gradient(120% 85% at 50% 0%, rgba(244, 201, 93, 0.16), rgba(244, 201, 93, 0) 62%), rgb(20, 16, 10); }html[data-ifr-tone="noir"] .if-rythme-veil .ifr-noir { opacity: 1; }html[data-ifr-tone="voile-or"] .if-rythme-veil .ifr-or { opacity: 1; }html[data-ifr-tone="photo"] .if-rythme-veil .ifr-noir { opacity: 0.35; }.if-rythme-sec { position: relative; }html.if-rythme-js .ifr-line { display: block; overflow: clip; }html.if-rythme-js .ifr-line-in { display: block; transform: translateY(115%); opacity: 0.001; transition-behavior: normal, normal; transition-duration: 0.72s, 0.5s; transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1), linear; transition-property: transform, opacity; transition-delay: calc(var(--ifr-i,0)*var(--ifr-stagger,90ms)); }html.if-rythme-js .ifr-on .ifr-line-in, html.ifr-force .ifr-line-in { transform: none; opacity: 1; }
@media (prefers-reduced-motion: reduce){.if-rythme-veil > div { transition: none; }html.if-rythme-js .ifr-line-in { transform: none; opacity: 1; transition: none; }}
.if-poster { position: relative; isolation: isolate; min-height: 100svh; display: flex; align-items: flex-end; overflow: clip; background: rgb(10, 8, 6); border-top: 2px solid rgb(244, 201, 93); border-bottom: 2px solid rgb(244, 201, 93); }.ifp-media, .ifp-veil { position: absolute; inset: 0px; }.ifp-media img { width: 100%; height: 100%; object-fit: cover; display: block; }.ifp-veil { background: linear-gradient(rgba(10, 8, 6, 0.45) 0%, rgba(10, 8, 6, 0.78) 60%, rgba(10, 8, 6, 0.92) 100%); pointer-events: none; }.ifp-tilt { position: relative; z-index: 1; width: 100%; max-width: 1100px; margin: 0px auto; padding: clamp(20px, 5vw, 56px) clamp(20px, 5vw, 56px) clamp(30px, 7vh, 76px); transform: perspective(950px); transition: transform 0.22s ease-out; }.ifp-kicker { font: 700 12px / 1.4 Manrope, system-ui, sans-serif; letter-spacing: 0.22em; text-transform: uppercase; color: rgb(255, 177, 0); margin: 0px 0px 10px; }.ifp-name { font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: clamp(52px, 14vw, 148px); line-height: 0.92; text-transform: uppercase; color: rgb(245, 234, 217); margin: 0px 0px 14px; letter-spacing: 0.01em; text-shadow: rgba(122, 86, 20, 0.9) 0px 2px 0px, rgba(80, 56, 12, 0.55) 0px 4px 0px, rgba(244, 201, 93, 0.16) 0px 18px 40px; }.ifp-compo { font: 500 clamp(15px, 2.2vw, 19px) / 1.5 Manrope, system-ui, sans-serif; color: rgba(245, 234, 217, 0.92); max-width: 46ch; margin: 0px 0px 6px; }.ifp-note { font-family: Caveat, cursive; font-size: clamp(21px, 3vw, 27px); line-height: 1.2; color: rgb(244, 201, 93); transform: rotate(-1.6deg); transform-origin: left bottom; margin: 4px 0px 18px; max-width: 38ch; }.ifp-row { display: flex; align-items: center; gap: clamp(16px, 3vw, 28px); flex-wrap: wrap; margin: 0px 0px 16px; }.ifp-cta { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0px clamp(26px, 4vw, 40px); background: rgb(244, 201, 93); color: rgb(10, 8, 6); font: 800 16px / 1 Manrope, system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; border-radius: 999px; box-shadow: rgba(244, 201, 93, 0.26) 0px 6px 22px; transition: transform 0.18s; }.ifp-cta::after { content: ""; position: absolute; inset: 0px; border-radius: 999px; box-shadow: rgba(255, 177, 0, 0.38) 0px 12px 32px; opacity: 0; transition: opacity 0.18s linear; }.ifp-cta:hover { background: rgb(255, 177, 0); transform: translateY(-2px); }.ifp-cta:hover::after { opacity: 1; }.ifp-meta { font: 700 11px / 1.7 Manrope, system-ui, sans-serif; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245, 234, 217, 0.6); margin: 0px; }html.if-poster-js .ifp-in { opacity: 0; transform: translateY(26px); transition-behavior: normal, normal; transition-duration: 0.7s, 0.55s; transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1), linear; transition-property: transform, opacity; transition-delay: calc(var(--ifp-i,0)*110ms); }html.if-poster-js .ifp-on .ifp-in, html.if-poster-force .ifp-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){.ifp-in { opacity: 1 !important; transform: none !important; transition: none !important; }.ifp-tilt { transform: none !important; transition: none !important; }}
@media (max-width: 480px){.if-poster { align-items: flex-end; }.ifp-name { font-size: clamp(46px, 15.5vw, 72px); }}
@keyframes ifu-rise { 
  100% { transform: none; }
}@keyframes ifu-marq { 
  100% { transform: translateX(-50%); }
}@keyframes ifu-marqB { 
  0% { transform: translateX(-50%); }
  100% { transform: none; }
}@keyframes ifu-float { 
  0%, 100% { transform: translate3d(0px, 0px, 0px); }
  50% { transform: translate3d(8px, -22px, 0px); }
}@keyframes ifu-drift { 
  0%, 100% { transform: translate3d(-3%, 2%, 0px) scale(1); }
  50% { transform: translate3d(4%, -4%, 0px) scale(1.12); }
}@keyframes ifu-osc { 
  0%, 100% { transform: rotateY(-13deg); }
  50% { transform: rotateY(13deg); }
}@keyframes ifu-cue { 
  0% { transform: scaleY(0); transform-origin: center top; }
  45% { transform: scaleY(1); transform-origin: center top; }
  55% { transform: scaleY(1); transform-origin: center bottom; }
  100% { transform: scaleY(0); transform-origin: center bottom; }
}.if-hero-typo { position: relative; min-height: 92svh; display: flex; align-items: center; justify-content: center; overflow: clip; perspective: 1100px; background: rgb(10, 8, 6); text-align: center; }.if-hero-typo .ifu-glow { position: absolute; inset: 0px; background: radial-gradient(62% 42% at 50% 0%, rgba(244, 201, 93, 0.14), rgba(244, 201, 93, 0) 70%); }.if-hero-typo .ifu-grain { position: absolute; inset: 0px; pointer-events: none; opacity: 0.06; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }.ifu-parts { position: absolute; inset: 0px; pointer-events: none; }.ifu-p { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: rgb(244, 201, 93); box-shadow: rgba(244, 201, 93, 0.85) 0px 0px 8px; animation: ifu-float var(--d,8s) ease-in-out var(--dl,0s) infinite; }.ifu-stack { position: relative; padding: 0px 16px; transform-style: preserve-3d; transform: translate3d(calc(var(--hx,0px)*.6),calc(var(--hy,0px)*.6 + var(--hs,0)*-40px),0) rotateX(calc(var(--hs,0)*10deg)) scale(calc(1 - var(--hs,0)*.14)); opacity: calc(1 - var(--hs,0)*.95); }.ifu-mask { display: block; overflow: clip; }html.ifu-js .ifu-line { display: block; transform: translateY(112%); animation-duration: 0.9s; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: forwards; animation-play-state: running; animation-name: ifu-rise; animation-timeline: auto; animation-range: normal; animation-delay: calc(.2s + var(--i,0)*.13s); }.ifu-slogan { margin: 6px 0px 0px; font-weight: 400; line-height: 0.9; text-transform: uppercase; font-family: Anton, Impact, sans-serif; }.ifu-slogan-caveat { font-family: Caveat, cursive; font-size: clamp(24px, 4vw, 38px); color: rgb(244, 201, 93); rotate: -2deg; }.ifu-slogan-l1 { font-size: clamp(54px, 14.5vw, 168px); color: rgb(245, 234, 217); text-shadow: rgba(122, 86, 20, 0.9) 0px 3px 0px, rgba(80, 56, 12, 0.5) 0px 6px 0px, rgba(244, 201, 93, 0.2) 0px 24px 60px; }.ifu-stroke { color: rgb(244, 201, 93); }.ifu-stroke { color: transparent; -webkit-text-stroke: 2px rgb(244, 201, 93); }.ifu-cue { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; }.ifu-cue span { font: 700 10px / 1 Manrope, system-ui, sans-serif; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(244, 201, 93, 0.75); }.ifu-cue i { display: block; width: 2px; height: 52px; background: rgb(244, 201, 93); animation: 2.2s ease-in-out 0s infinite normal none running ifu-cue; }.if-marquees-statement { position: relative; transform: rotate(-1.4deg); margin: clamp(30px, 6vh, 60px) -3vw 0px; width: 106vw; }.ifu-band-or { overflow: clip; background: rgb(244, 201, 93); border-top: 2px solid rgb(10, 8, 6); border-bottom: 2px solid rgb(10, 8, 6); padding: 12px 0px; }.ifu-band-noir { overflow: clip; background: rgb(10, 8, 6); border-bottom: 2px solid rgb(244, 201, 93); padding: 10px 0px; }.ifu-track { display: inline-flex; white-space: nowrap; animation: ifu-marq var(--ifu-mdur,28s) linear infinite; }.ifu-trackB { animation: ifu-marqB var(--ifu-mdur,36s) linear infinite; }.ifu-track > span { font-family: Anton, Impact, sans-serif; text-transform: uppercase; letter-spacing: 0.02em; padding-right: 40px; }.ifu-band-or .ifu-track > span { font-size: clamp(20px, 4vw, 42px); color: rgb(10, 8, 6); }.ifu-band-noir .ifu-track > span { font-size: clamp(18px, 3.4vw, 36px); letter-spacing: 0.03em; }.if-orbite { position: relative; padding: clamp(60px, 10vh, 110px) 0px clamp(30px, 5vh, 60px); overflow-x: clip; background: rgb(10, 8, 6); }.ifu-orbite-head { max-width: 1100px; margin: 0px auto; padding: 0px clamp(16px, 4vw, 40px); text-align: center; }.ifu-kicker-caveat { font-family: Caveat, cursive; font-size: clamp(22px, 3.4vw, 30px); color: rgb(244, 201, 93); margin: 0px 0px 6px; rotate: -1.5deg; }.ifu-h2 { font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: clamp(34px, 7.5vw, 84px); line-height: 0.95; text-transform: uppercase; color: rgb(245, 234, 217); margin: 0px 0px 10px; text-shadow: rgba(122, 86, 20, 0.85) 0px 2px 0px, rgba(244, 201, 93, 0.15) 0px 16px 40px; }.ifu-sub { font: 500 14px / 1.6 Manrope, system-ui, sans-serif; color: rgba(245, 234, 217, 0.6); margin: 0px; }.ifu-stage { position: relative; height: clamp(400px, 60vh, 540px); margin-top: clamp(10px, 3vh, 30px); perspective: 1300px; touch-action: pan-y; cursor: grab; --ifu-r: min(40vw,350px); }.ifu-stage.ifu-grabbing { cursor: grabbing; }.ifu-ring { position: absolute; left: 50%; top: 50%; width: 0px; height: 0px; transform-style: preserve-3d; }.ifu-card { position: absolute; left: calc(-0.5 * clamp(170px, 22vw, 240px)); top: calc(-0.5 * clamp(238px, 30.8vw, 336px)); width: clamp(170px, 22vw, 240px); height: clamp(238px, 30.8vw, 336px); display: flex; flex-direction: column; background: rgb(16, 13, 8); border: 1px solid rgba(244, 201, 93, 0.5); box-shadow: rgba(0, 0, 0, 0.5) 0px 20px 50px, rgb(10, 8, 6) 0px 0px 0px 4px inset, rgba(244, 201, 93, 0.25) 0px 0px 0px 5px inset; backface-visibility: hidden; overflow: clip; }.ifu-card-media { height: 56%; position: relative; border-bottom: 1px solid rgba(244, 201, 93, 0.35); }.ifu-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }.ifu-card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; }.ifu-card-cat { font: 700 9px / 1 Manrope, system-ui, sans-serif; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(255, 177, 0); }.ifu-card-nom { font-family: Anton, Impact, sans-serif; font-size: clamp(16px, 2vw, 21px); line-height: 1; text-transform: uppercase; color: rgb(245, 234, 217); }.ifu-card-prix { font-family: "Bagel Fat One", Anton, sans-serif; font-size: clamp(18px, 2.4vw, 24px); color: rgb(244, 201, 93); text-shadow: rgba(122, 86, 20, 0.7) 0px 2px 0px; }.ifu-stage.ifu-flat { height: auto; perspective: none; cursor: default; }.ifu-stage.ifu-flat .ifu-ring { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; transform: none !important; }.ifu-stage.ifu-flat .ifu-card { position: static; margin: 0px; transform: none !important; }html.if-lite .ifu-stage, html.ifu-static .ifu-stage { height: auto; perspective: none; cursor: default; }html.if-lite .ifu-ring, html.ifu-static .ifu-ring { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; transform: none !important; }html.if-lite .ifu-card, html.ifu-static .ifu-card { position: static; margin: 0px; transform: none !important; }.if-chiffres { position: relative; height: 330vh; }html.if-lite .if-chiffres, html.ifu-static .if-chiffres { height: auto; }.ifu-tone { position: absolute; width: 100%; pointer-events: none; }.ifu-pin { position: sticky; top: 0px; height: 100svh; display: grid; place-items: center; overflow: clip; }html.if-lite .ifu-pin, html.ifu-static .ifu-pin { position: relative; height: auto; padding: 60px 0px; display: block; }.ifu-pin-head { position: absolute; top: 76px; left: 0px; right: 0px; display: flex; flex-direction: column; align-items: center; gap: 10px; }html.if-lite .ifu-pin-head, html.ifu-static .ifu-pin-head { position: relative; top: auto; margin-bottom: 30px; }.ifu-pin-kicker { font: 700 11px / 1 Manrope, system-ui, sans-serif; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(244, 201, 93, 0.8); margin: 0px; }.ifu-bar { display: block; width: min(320px, 60vw); height: 2px; background: rgba(244, 201, 93, 0.18); overflow: clip; }.ifu-bar-in { display: block; width: 100%; height: 100%; background: rgb(244, 201, 93); transform: scaleX(0); transform-origin: left center; }.ifu-phase { grid-area: 1 / 1; text-align: center; padding: 0px 18px; }html.ifu-js .ifu-phase { opacity: 0; }html.if-lite .ifu-phase, html.ifu-static .ifu-phase, html.ifu-force .ifu-phase { position: relative; margin: 26px 0px; opacity: 1 !important; transform: none !important; }.ifu-num { font-family: "Bagel Fat One", Anton, sans-serif; font-size: clamp(110px, 26vw, 280px); line-height: 1; color: rgb(244, 201, 93); text-shadow: rgba(122, 86, 20, 0.9) 0px 4px 0px, rgba(80, 56, 12, 0.5) 0px 8px 0px, rgba(244, 201, 93, 0.22) 0px 30px 70px; }.ifu-phase-label { font-family: Anton, Impact, sans-serif; font-size: clamp(22px, 4.5vw, 46px); text-transform: uppercase; color: rgb(245, 234, 217); margin: 8px 0px 4px; }.ifu-phase-sub { font: 500 14px / 1.5 Manrope, system-ui, sans-serif; color: rgba(245, 234, 217, 0.6); margin: 0px; }.ifu-extrude { display: inline-block; transform-style: preserve-3d; animation: 7s ease-in-out 0s infinite normal none running ifu-osc; }.ifu-prix { display: inline-flex; align-items: baseline; gap: 10px; font-family: "Bagel Fat One", Anton, sans-serif; color: rgb(244, 201, 93); }.ifu-prix-b { font-weight: 400; font-size: clamp(56px, 9vw, 86px); line-height: 1; text-shadow: rgba(150, 105, 26, 0.95) 0px 2px 0px, rgba(122, 86, 20, 0.9) 0px 4px 0px, rgba(96, 68, 16, 0.85) 0px 6px 0px, rgba(70, 50, 12, 0.8) 0px 8px 0px, rgba(50, 36, 9, 0.7) 0px 12px 0px, rgba(244, 201, 93, 0.3) 0px 26px 50px; }.ifu-prix-mad { font-size: clamp(18px, 2.4vw, 24px); }.if-avis-signature { position: relative; padding: clamp(70px, 14vh, 140px) clamp(18px, 5vw, 40px); background: rgb(10, 8, 6); text-align: center; }.if-finale-commander { position: relative; }.ifu-cta-band { display: block; background: rgb(244, 201, 93); color: rgb(10, 8, 6); text-decoration: none; text-align: center; padding: clamp(30px, 6vh, 70px) 10px; border-top: 2px solid rgb(10, 8, 6); transition: transform 0.18s; }.ifu-cta-band b { display: block; font-weight: 400; font-family: Anton, Impact, sans-serif; font-size: clamp(58px, 17vw, 220px); line-height: 0.9; text-transform: uppercase; letter-spacing: 0.01em; text-shadow: rgba(122, 86, 20, 0.35) 0px 4px 0px; }.ifu-cta-band i { display: block; margin-top: 10px; font: 800 clamp(11px, 1.6vw, 15px) / 1 Manrope, system-ui, sans-serif; letter-spacing: 0.3em; text-transform: uppercase; }.ifu-infos { background: rgb(10, 8, 6); padding: 26px clamp(18px, 5vw, 40px); display: flex; flex-wrap: wrap; gap: 12px 26px; align-items: center; justify-content: center; border-top: 2px solid rgb(244, 201, 93); font: 600 13px / 1.5 Manrope, system-ui, sans-serif; color: rgba(245, 234, 217, 0.75); }.ifu-infos a { color: rgb(244, 201, 93); }.ifu-infos a:hover { color: rgb(255, 177, 0); }.ifu-sep { color: rgba(244, 201, 93, 0.5); }html.ifu-js [data-ifu-reveal] .ifu-in { opacity: 0; transform: translateY(26px); transition-behavior: normal, normal; transition-duration: 0.7s, 0.55s; transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1), linear; transition-property: transform, opacity; transition-delay: calc(var(--i,0)*110ms); }html.ifu-js [data-ifu-reveal].ifu-on .ifu-in, html.ifu-force .ifu-in { opacity: 1; transform: none; }html.if-lite .ifu-p, html.if-lite .ifu-cue i, html.if-lite .ifu-extrude, html.if-lite .ifu-track, html.if-lite .ifu-trackB { animation: auto ease 0s 1 normal none running none; }
@media (prefers-reduced-motion: reduce){.ifu-p, .ifu-cue i, .ifu-extrude, .ifu-track, .ifu-trackB { animation: auto ease 0s 1 normal none running none !important; }html.ifu-js .ifu-line { animation: auto ease 0s 1 normal none running none; transform: none; }.ifu-in { opacity: 1 !important; transform: none !important; transition: none !important; }.ifu-stack { transform: none !important; opacity: 1 !important; }}
html.ifs-on .ifs-el { opacity: 0; transform: perspective(950px) translate3d(-16px, 34px, -70px) rotateX(9deg) rotateY(5deg) scale(0.965); transform-origin: 50% 100%; transition: opacity .9s cubic-bezier(.22,1,.36,1) var(--ifs-d,0ms),transform 1s cubic-bezier(.22,1,.36,1) var(--ifs-d,0ms); }html.ifs-on .ifs-el.ifs-alt { transform: perspective(950px) translate3d(16px, 34px, -70px) rotateX(9deg) rotateY(-5deg) scale(0.965); }html.ifs-on .ifs-media { transform: perspective(950px) translate3d(-20px, 42px, -90px) rotateX(10.5deg) rotateY(6deg) scale(0.94); }html.ifs-on .ifs-media.ifs-alt { transform: perspective(950px) translate3d(20px, 42px, -90px) rotateX(10.5deg) rotateY(-6deg) scale(0.94); }html.ifs-on .ifs-in { opacity: 1; transform: none; }html.ifs-on.ifs-force .ifs-el { opacity: 1 !important; transform: none !important; transition: none !important; }html.ifs-static .ifs-el, html.ifs-lite .ifs-el { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce){.ifs-el { opacity: 1 !important; transform: none !important; transition: none !important; }}
#ifh-fil { position: fixed; top: 0px; left: 0px; right: 0px; height: 3px; z-index: 2147483000; pointer-events: none; transform: scaleX(var(--ifh-p,0)); transform-origin: 0px 50%; background: linear-gradient(90deg, rgb(214, 177, 88), rgb(255, 241, 184) 55%, rgb(245, 166, 35)); box-shadow: rgba(245, 166, 35, 0.45) 0px 0px 14px; opacity: 0.92; transition: opacity 0.3s; }html.ifh-top #ifh-fil { opacity: 0; }main .ifh-r1 > h2, main .ifh-r1 .if-steps__title, main .ifh-r1 > div > h2, main .ifh-r1 > div > div > h2 { font-size: clamp(2.6rem, 7.2vw, 5.6rem); line-height: 0.86; letter-spacing: -0.012em; }main .ifh-r2 > h2, main .ifh-r2 > div > h2, main .ifh-r2 > div > div > h2 { font-size: clamp(2.1rem, 5vw, 3.8rem); line-height: 0.92; }main .ifh-r3 > h2, main .ifh-r3 .if-steps__title, main .ifh-r3 > div > h2, main .ifh-r3 > div > div > h2 { font-size: clamp(1.7rem, 3.6vw, 2.7rem); line-height: 1; }main .ifh-r3 .section__eyebrow, main .ifh-r3 .if-discovery-hub__eyebrow { letter-spacing: 0.22em; }main .ifh-r1 { padding-block: clamp(46px, 7vh, 96px); }main .ifh-r2 { padding-block: clamp(38px, 5.5vh, 74px); }main .ifh-r3 { padding-block: clamp(28px, 4vh, 56px); }
@media (prefers-reduced-motion: no-preference){html.ifh-on main .ifh-r1, html.ifh-on main .ifh-r2 { transition: filter 0.6s, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }html.ifh-on main .ifh-r1:not(.ifh-live), html.ifh-on main .ifh-r2:not(.ifh-live) { filter: saturate(0.82) brightness(0.92); }html.ifh-on main .ifh-live { filter: none; }}
@media (prefers-reduced-motion: reduce){html.ifh-on main .ifh-r1, html.ifh-on main .ifh-r2 { filter: none !important; transform: none !important; transition: none !important; }}
html.ifh-force main .ifh-r1, html.ifh-force main .ifh-r2 { filter: none !important; transform: none !important; }main .ifg-nu { position: relative; }main .ifg-nu > h3 { margin: 26px 0px 8px; padding: 14px 0px 0px; font-family: var(--font-chunk,inherit); font-size: clamp(1.05rem, 2.2vw, 1.35rem); line-height: 1.2; letter-spacing: 0.01em; color: rgb(245, 201, 107); border-top: 1px solid rgba(214, 177, 88, 0.3); }main .ifg-nu > h3:first-of-type { margin-top: 18px; }main .ifg-nu > h3 + p { margin: 0px 0px 4px; padding: 0px 0px 0px 14px; border-left: 2px solid rgba(214, 177, 88, 0.34); color: rgba(247, 239, 226, 0.9); max-width: 68ch; line-height: 1.62; }main .ifg-nu > h3 + p + p { padding-left: 14px; border-left: 2px solid rgba(214, 177, 88, 0.16); max-width: 68ch; }main .ifa-body > p { max-width: 70ch; line-height: 1.7; }main .ifa-chapo { max-width: 70ch; font-size: clamp(1.05rem, 2.4vw, 1.28rem); line-height: 1.55; color: rgb(247, 239, 227); padding: 16px 18px; border-radius: 16px; background: linear-gradient(rgba(245, 201, 107, 0.09), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(214, 177, 88, 0.26); }main .ifa-body > h2 { margin-top: 34px; padding-top: 16px; border-top: 1px solid rgba(214, 177, 88, 0.22); }main .ifa-toc { margin: 22px 0px 10px; padding: 16px 18px; border-radius: 18px; background: rgba(255, 255, 255, 0.043); border: 1px solid rgba(214, 177, 88, 0.24); }main .ifa-toc > p { margin: 0px 0px 8px; font-family: var(--font-chunk,inherit); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.78rem; color: rgb(245, 201, 107); }main .ifa-toc ol { margin: 0px; padding-left: 20px; }main .ifa-toc li { margin: 2px 0px; }main .ifa-toc a { display: inline-block; min-height: 44px; line-height: 44px; color: rgba(247, 239, 226, 0.92); text-decoration: none; border-bottom: 1px solid rgba(214, 177, 88, 0.22); }main .ifa-toc a:hover, main .ifa-toc a:focus-visible { color: rgb(245, 201, 107); border-bottom-color: rgb(245, 201, 107); }
@media (max-width: 640px){main .ifg-nu > h3 { margin-top: 20px; }main .ifa-chapo { padding: 14px; }}
footer .ifb-hub { margin: 26px auto 0px; padding: 18px 18px 10px; max-width: 1160px; border-top: 1px solid rgba(214, 177, 88, 0.22); border-radius: 18px 18px 0px 0px; background: linear-gradient(rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)); }footer .ifb-hub .if-hub__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px 26px; }footer .ifb-hub h2 { letter-spacing: 0.16em; text-transform: uppercase; color: rgb(245, 201, 107); margin: 0px 0px 6px; line-height: 1.3; font-size: 0.82rem !important; text-shadow: none !important; }footer .ifb-hub ul { margin: 0px; padding: 0px; list-style: none; }footer .ifb-hub li { margin: 0px; }footer .ifb-hub a { display: block; padding: 7px 0px; font-size: 0.9rem; line-height: 1.35; color: rgba(247, 239, 226, 0.78); text-decoration: none; }footer .ifb-hub a:hover, footer .ifb-hub a:focus-visible { color: rgb(245, 201, 107); }
@media (max-width: 760px){footer .ifb-hub { max-height: var(--ifb-h,268px); overflow: hidden; position: relative; mask-image: linear-gradient(rgb(0, 0, 0) 74%, transparent); }footer .ifb-hub.ifb-open { max-height: none; mask-image: none; }footer .ifb-more { display: block; width: 100%; margin: 8px 0px 2px; padding: 12px 14px; min-height: 44px; border: 1px solid rgba(214, 177, 88, 0.34); border-radius: 999px; background: rgba(255, 255, 255, 0.05); color: rgb(245, 201, 107); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 0.86rem; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; }footer .ifb-hub a { padding: 9px 0px; }}
footer .ifb-more { display: none; }html.ifz-on .ifz-c { opacity: 0; transform: perspective(1000px) translate3d(-22px, 52px, -120px) rotateX(11deg) rotateY(7deg) scale(0.93); transform-origin: 50% 100%; transition: opacity .78s cubic-bezier(.22,1,.36,1) var(--ifz-d,0ms),
             transform 1.05s cubic-bezier(.22,1,.36,1) var(--ifz-d,0ms); }html.ifz-on .ifz-c.ifz-alt { transform: perspective(1000px) translate3d(22px, 52px, -120px) rotateX(11deg) rotateY(-7deg) scale(0.93); }html.ifz-on .ifz-c.ifz-in { opacity: 1; transform: none; }html.ifz-on .ifz-media { will-change: transform; transform: translate3d(0,var(--ifz-py,0px),0) scale(1.04); }
@media (prefers-reduced-motion: no-preference){html.ifz-on .ifz-media { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: ifzPar; animation-timeline: view(); animation-range: entry exit; transform: none; }@keyframes ifzPar { 
  0% { transform: translate3d(0px, 26px, 0px) scale(1.06); }
  100% { transform: translate3d(0px, -26px, 0px) scale(1.06); }
}}
html.ifz-on .ifz-h { overflow: clip; display: block; }html.ifz-on .ifz-h > .ifz-hin { display: block; transform: translateY(108%); opacity: 0.001; transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s linear; }html.ifz-on .ifz-h.ifz-in > .ifz-hin { transform: none; opacity: 1; }html.ifz-static .ifz-c, html.ifz-static .ifz-media, html.ifz-static .ifz-h > .ifz-hin, html.ifz-force .ifz-c, html.ifz-force .ifz-media, html.ifz-force .ifz-h > .ifz-hin { opacity: 1 !important; transform: none !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
@media (prefers-reduced-motion: reduce){.ifz-c, .ifz-media, .ifz-h > .ifz-hin { opacity: 1 !important; transform: none !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important; }}
.product-card .ifz-price { display: inline-block; margin: 0px 0px 6px; transform: translateZ(0px); }.product-card .ifz-price .ifu-prix { display: inline-flex; align-items: baseline; gap: 4px; font-family: var(--font-chunk,inherit); letter-spacing: 0.01em; color: rgb(247, 239, 227); }.product-card .ifz-price .ifu-prix-b { font-size: clamp(1.5rem, 3.6vw, 2rem); line-height: 1; color: rgb(255, 255, 255); text-shadow: rgba(0, 0, 0, 0.55) 0px 2px 0px, rgba(214, 123, 0, 0.55) 0px 4px 0px, rgba(245, 166, 35, 0.22) 0px 0px 20px; }.product-card .ifz-price .ifu-prix-mad { font-size: 0.78rem; letter-spacing: 0.14em; color: rgb(245, 201, 107); text-transform: uppercase; }html.ifz-on .product-card.ifz-in .ifz-price { animation-duration: 0.6s; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: ifzPop; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--ifz-d,0ms) + 180ms); }@keyframes ifzPop { 
  0% { opacity: 0; transform: translate3d(0px, 10px, 0px) scale(0.92); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce){html.ifz-on .product-card .ifz-price { animation: auto ease 0s 1 normal none running none !important; }}
.if-orbite .ifu-card-link { display: block; text-decoration: none; color: inherit; }.if-orbite .ifu-card-media { display: block; border-radius: 18px; overflow: hidden; border: 1px solid rgba(214, 177, 88, 0.28); box-shadow: rgba(0, 0, 0, 0.45) 0px 18px 40px; }.if-orbite .ifu-card-media img { display: block; width: 100%; height: auto; }.if-orbite .ifu-card-name { display: block; margin: 8px 0px 2px; font-family: var(--font-chunk,inherit); font-size: 0.98rem; line-height: 1.2; color: rgb(247, 239, 227); text-align: center; }.if-orbite .ifz-price { display: block; text-align: center; }.if-orbite .ifz-price .ifu-prix-b { font-size: 1.25rem; }.if-orbite .ifu-card-link:focus-visible { outline: rgb(245, 201, 107) solid 2px; outline-offset: 4px; border-radius: 20px; }.if-hero-typo .ifu-slogan-l1 { font-size: clamp(30px, 6.4vw, 84px); line-height: 0.96; letter-spacing: -0.01em; text-wrap: balance; }.if-hero-typo .ifu-hero-lead { max-width: 64ch; margin: 18px auto 0px; font-size: clamp(1rem, 2.2vw, 1.16rem); line-height: 1.6; color: rgba(247, 239, 226, 0.86); }.if-hero-typo .ifu-hero-lead .ifu-line { display: block; }.if-hero-typo .ifu-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 20px 0px 0px; }.if-hero-typo { min-height: clamp(520px, 78svh, 780px); }
@media (max-width: 640px){.if-hero-typo { min-height: clamp(460px, 72svh, 640px); }.if-hero-typo .ifu-slogan-l1 { font-size: clamp(28px, 8.4vw, 44px); }html.if27 .if27-orderbar { left: 80px; right: 12px; padding: 10px 10px 10px 12px; gap: 10px; }html.if27 .if27-orderbar .t2 { display: none; }html.if27 .if27-orderbar .t b { font-size: 0.88rem; }}
@media (max-width: 700px){.franchise h2 { line-height: 1.04; }.franchise h2 em { display: block; position: static; transform: none; margin-top: 0.1em; }}
.btn, .btn--primary, .btn--ghost, .platform, .ifp-cta { border-radius: 999px; font-size: clamp(0.86rem, 1.6vw, 0.95rem); letter-spacing: 0.01em; font-weight: 600; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s, background-color 0.35s, border-color 0.35s; }.btn { min-height: 46px; padding: 12px 22px; }.btn--primary { box-shadow: rgba(245, 166, 35, 0.55) 0px 10px 26px -12px, rgba(255, 255, 255, 0.24) 0px 1px 0px inset; border: 1px solid rgba(255, 255, 255, 0.14); }.btn--primary:hover, .btn--primary:focus-visible { transform: translateY(-1px); box-shadow: rgba(245, 166, 35, 0.7) 0px 16px 34px -14px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset; }.btn--primary:active { transform: translateY(0px); box-shadow: rgba(245, 166, 35, 0.5) 0px 6px 16px -10px; }.btn--ghost { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(214, 177, 88, 0.34); color: rgb(247, 239, 227); box-shadow: none; }.btn--ghost:hover, .btn--ghost:focus-visible { background: rgba(214, 177, 88, 0.1); border-color: rgba(214, 177, 88, 0.55); transform: translateY(-1px); }.ifp-cta { padding: 12px 24px; min-height: 46px; display: inline-flex; align-items: center; }
@media (pointer: coarse){.btn, .ifp-cta { min-height: 48px; }}
main h1 { text-wrap: balance; }main h2, main h3 { text-wrap: pretty; }body:not(:has(.ifh-r1)) main > section > h2, body:not(:has(.ifh-r1)) main > section > div > h2 { font-size: clamp(1.55rem, 3.4vw, 2.45rem); line-height: 1.06; }body:not(:has(.ifh-r1)) main > section h3 { font-size: clamp(1.02rem, 2vw, 1.28rem); line-height: 1.24; }main > section > p, main > section > div > p { max-width: 72ch; }.if-poster h1, .if-hero-typo h1, .ifu-h2, .ifz-price * { font-size: revert-layer; }.if-card, .card, .info-card, .ifa-toc, .ifg-nu { border-radius: 18px; }
@media (prefers-reduced-motion: reduce){.btn, .btn--primary, .btn--ghost, .platform, .ifp-cta { transition: none !important; transform: none !important; }}
main .ifh-r1 > h2 > .ifz-hin, main .ifh-r1 > div > h2 > .ifz-hin, main .if-steps__title > .ifz-hin, .if-orbite .ifu-h2 { display: inline; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0.04em 0.22em 0.1em; background: linear-gradient(rgba(20, 15, 7, 0.92), rgba(20, 15, 7, 0.92)); box-shadow: rgba(214, 177, 88, 0.28) 0px 0px 0px 1px; border-radius: 6px; color: rgb(247, 239, 227); }main .ifh-r1 > h2 em, main .ifh-r1 > div > h2 em, main .if-steps__title em { font-style: normal; display: inline; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0.02em 0.16em; border-radius: 5px; background: linear-gradient(rgb(245, 201, 107), rgb(214, 165, 58)); color: rgb(21, 15, 6); box-shadow: none; text-shadow: none; }html.ifz-on main .ifz-h { overflow: visible; }html.ifz-on main .ifz-h > .ifz-hin { will-change: transform; }.if-steps .if-step { position: relative; }.if-steps .if-step__n { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; font-family: var(--font-chunk,inherit); font-size: 1.15rem; line-height: 1; color: rgb(21, 15, 6); background: radial-gradient(120% 120% at 30% 20%, rgb(255, 230, 166), rgb(214, 165, 58) 62%, rgb(169, 124, 30)); box-shadow: rgba(245, 166, 35, 0.8) 0px 10px 22px -12px, rgba(255, 255, 255, 0.5) 0px 1px 0px inset; margin-bottom: 10px; }.if-steps .if-step__t { margin: 2px 0px 6px; }html.ifz-on .if-steps .if-step.ifz-in .if-step__n { animation-duration: 0.5s; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: ifsPop; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--ifz-d,0ms) + 120ms); }@keyframes ifsPop { 
  0% { opacity: 0; transform: scale(0.6) rotate(-12deg); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce){html.ifz-on .if-steps .if-step .if-step__n { animation: auto ease 0s 1 normal none running none !important; }}
@media (min-width: 761px) and (prefers-reduced-motion: no-preference){main .ifh-r2 > .section__head, main .ifh-r3 > .section__head, main .ifg-nu > h2, main .ifa-body > h2 { position: sticky; top: 76px; z-index: 3; padding-block: 8px; background: linear-gradient(rgba(10, 8, 6, 0.92), rgba(10, 8, 6, 0.72) 70%, rgba(10, 8, 6, 0)); backdrop-filter: saturate(120%) blur(2px); }main .ifh-r2 > :not(.section__head), main .ifh-r3 > :not(.section__head) { position: relative; z-index: 1; }.if-orbite .ifu-orbite-head, .if-poster *, .if-hero-typo *, .ifm-marquee *, .ifv-kitchen * { position: static; }.if-orbite .ifu-orbite-head { position: relative; }}
@media (min-width: 761px){main .ifh-r1 { padding-block: clamp(38px, 5.2vh, 72px); }main .ifh-r2 { padding-block: clamp(30px, 4.2vh, 56px); }main .ifh-r3 { padding-block: clamp(24px, 3.2vh, 44px); }main .ifg-nu > h3 { margin-top: 20px; }main .ifa-body > h2 { margin-top: 26px; }main .section__head { margin-bottom: 14px; }main .section__sub { margin-top: 6px; }main .if-grid, main .platforms, main .if-discovery-hub__grid { gap: 14px; }}
@media (prefers-reduced-motion: reduce){main .ifh-r2 > .section__head, main .ifh-r3 > .section__head, main .ifg-nu > h2, main .ifa-body > h2 { position: static; background: none; backdrop-filter: none; }}
html.if-lite main .ifh-r2 > .section__head, html.if-lite main .ifh-r3 > .section__head, html.if-lite main .ifg-nu > h2, html.if-lite main .ifa-body > h2 { position: static; background: none; backdrop-filter: none; }.ifc { position: relative; }.ifc-rail { display: flex; gap: 14px; overflow: auto hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; padding: 6px 16px 18px; scrollbar-width: none; }.ifc-rail::-webkit-scrollbar { display: none; }.ifc-card { flex: 0 0 auto; width: min(80vw, 340px); scroll-snap-align: center; background: linear-gradient(rgb(20, 16, 9), rgb(11, 9, 6)); border: 1px solid rgba(214, 177, 88, 0.3); border-radius: 22px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.9) 0px 22px 44px -26px; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.5s, box-shadow 0.5s; transform: perspective(1200px) scale(0.955) rotateY(0deg); }.ifc-card a { display: block; text-decoration: none; color: inherit; }.ifc-card.ifc-on { transform: perspective(1200px) scale(1) translateZ(0px); border-color: rgba(245, 201, 107, 0.62); box-shadow: rgba(245, 166, 35, 0.35) 0px 30px 60px -28px, rgba(0, 0, 0, 0.9) 0px 22px 44px -26px; }.ifc-card.ifc-on .ifc-media img { transform: scale(1.045); }.ifc-card:not(.ifc-on) { filter: saturate(0.86) brightness(0.9); }.ifc-nav { position: absolute; top: calc(-4px + (0.5 * min(80vw, 340px))); display: none; width: 44px; height: 44px; border-radius: 999px; cursor: pointer; background: rgba(12, 9, 6, 0.72); border: 1px solid rgba(214, 177, 88, 0.4); color: rgb(245, 201, 107); align-items: center; justify-content: center; backdrop-filter: blur(4px); transition: transform 0.3s, border-color 0.3s, opacity 0.3s; z-index: 4; }.ifc-nav:hover { transform: scale(1.06); border-color: rgb(245, 201, 107); }.ifc-nav[disabled] { opacity: 0.25; pointer-events: none; }.ifc-prev { left: 6px; }.ifc-next { right: 6px; }.ifc-nav svg { width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: 2.2; }
@media (hover: hover) and (min-width: 761px){.ifc-nav { display: inline-flex; }}
.ifc-dots { display: flex; gap: 6px; justify-content: center; margin-top: 2px; }.ifc-dot { width: 6px; height: 6px; border-radius: 999px; background: rgba(214, 177, 88, 0.3); transition: 0.3s; }.ifc-dot.ifc-dot-on { width: 22px; background: rgb(245, 201, 107); }
@media (min-width: 761px){.ifc-card { width: 340px; }.ifc-rail { gap: 18px; padding: 6px 44px 20px; scroll-padding-inline: 44px; }}
@media (prefers-reduced-motion: reduce){.ifc-card, .ifc-media img { transition: none !important; transform: none !important; filter: none !important; }.ifc-rail { scroll-behavior: auto; }}
@view-transition { navigation: auto; }::view-transition-old(root) { animation: 0.18s cubic-bezier(0.4, 0, 1, 1) 0s 1 normal both running ifvtOut; }::view-transition-new(root) { animation: 0.28s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running ifvtIn; }@keyframes ifvtOut { 
  100% { opacity: 0; transform: translateY(-6px); }
}@keyframes ifvtIn { 
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: none; }
}.nav .brand img, .if-pro-nav .brand img { view-transition-name: if-logo; }header .nav, header .if-pro-nav { view-transition-name: if-nav; }::view-transition-group(if-logo), ::view-transition-group(if-nav) { animation-duration: 0.24s; }#ifh-fil { view-transition-name: none; }
@media (prefers-reduced-motion: reduce){@view-transition { navigation: none; }::view-transition-old(root), ::view-transition-new(root) { animation: auto ease 0s 1 normal none running none !important; }}
@media (max-width: 760px){.if-orbite .ifu-stage { touch-action: pan-x pan-y; margin-top: 14px; padding: 4px 0px 14px; overflow: auto hidden; scroll-snap-type: x mandatory; scrollbar-width: none; height: auto !important; perspective: none !important; cursor: default !important; }.if-orbite .ifu-stage::-webkit-scrollbar { display: none; }.if-orbite .ifu-stage.ifu-flat { height: auto !important; perspective: none !important; }.if-orbite .ifu-ring { gap: 12px; padding: 0px 16px; position: static !important; transform: none !important; transform-style: flat !important; display: flex !important; flex-wrap: nowrap !important; width: max-content !important; height: auto !important; justify-content: flex-start !important; overflow: visible !important; }.if-orbite .ifu-card { flex: 0 0 auto; width: min(78vw, 320px); height: auto; scroll-snap-align: center; background: rgb(16, 13, 8); border: 1px solid rgba(214, 177, 88, 0.3); border-radius: 20px; box-shadow: rgba(0, 0, 0, 0.8) 0px 16px 34px -18px; overflow: hidden; transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s; position: static !important; transform: none !important; left: auto !important; top: auto !important; margin: 0px !important; opacity: 1 !important; visibility: visible !important; }.if-orbite .ifu-card:active { transform: scale(0.985) !important; }.if-orbite .ifu-card-media { border: 0px; border-radius: 0px; box-shadow: none; overflow: hidden; height: min(78vw, 320px) !important; position: relative !important; }.if-orbite .ifu-card-media img { object-fit: cover; display: block; width: 100% !important; height: 100% !important; }.if-orbite .ifu-card-name { margin: 10px 12px 2px; font-size: 1rem; text-align: left; }.if-orbite .ifz-price { margin: 0px 12px 12px; text-align: left; }.if-orbite .ifz-price .ifu-prix-b { font-size: 1.35rem; }.if-orbite .ifu-stage { mask-image: linear-gradient(90deg, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0.35)); }.if-orbite .ifu-sub { padding: 0px 16px; }html.if27 .if27-orderbar { left: 76px; right: 10px; padding: 8px 8px 8px 12px; gap: 8px; align-items: center; }html.if27 .if27-orderbar .t { min-width: 0px; flex: 1 1 auto; }html.if27 .if27-orderbar .t b { display: block; font-size: 0.82rem; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }html.if27 .if27-orderbar .t2 { display: none !important; }html.if27 .if27-orderbar .btn, html.if27 .if27-orderbar a { flex: 0 0 auto; min-height: 42px; padding: 10px 16px; font-size: 0.86rem; white-space: nowrap; }footer .ifb-hub { max-height: var(--ifb-h,300px); mask-image: linear-gradient(rgb(0, 0, 0) 90%, rgba(0, 0, 0, 0.25)); }footer .ifb-hub.ifb-open { mask-image: none; }footer .ifb-hub a { padding: 8px 0px; }main .ifh-r1 { padding-block: 32px; }main .ifh-r2 { padding-block: 26px; }main .ifh-r3 { padding-block: 20px; }main section { padding-top: min(var(--ifm-pt,28px),34px); }.if-hero-typo { min-height: clamp(420px, 62svh, 560px); }.if-poster { min-height: auto; }main .ifg-nu > h3 { margin-top: 16px; }main .ifh-r1 > h2, main .ifh-r1 > div > h2 { font-size: clamp(2.1rem, 9.6vw, 3rem); line-height: 0.92; letter-spacing: -0.02em; }main .ifh-r2 > h2, main .ifh-r2 > div > h2 { font-size: clamp(1.7rem, 7vw, 2.2rem); line-height: 0.98; }}
@media (max-width: 760px) and (prefers-reduced-motion: reduce){.if-orbite .ifu-card { transition: none !important; }}
html.if-lite .if-orbite .ifu-card-media, html.ifu-static .if-orbite .ifu-card-media, .ifu-stage.ifu-flat .ifu-card-media { height: min(60vw, 260px) !important; position: relative !important; }html.if-lite .if-orbite .ifu-card, html.ifu-static .if-orbite .ifu-card, .ifu-stage.ifu-flat .ifu-card { height: auto !important; opacity: 1 !important; visibility: visible !important; }.franchise h2 em, main section:not(.ifh-r1) h2 em, main .if-discovery-hub h2 em { font-style: normal; text-shadow: rgba(245, 166, 35, 0.22) 0px 0px 24px; background: none border-box !important; -webkit-text-fill-color: rgb(245, 201, 107) !important; color: rgb(245, 201, 107) !important; }.franchise h2 em { display: block; margin-top: 0.08em; }.newsletter__consent, .newsletter__consent a, .newsletter__consent strong { color: rgb(255, 255, 255) !important; -webkit-text-fill-color: rgb(255, 255, 255) !important; }main .if-discovery-hub h2, main .if-entity-panel h2, main .if-sources-panel h2, main .if-trust-links h2, main .if-discovery-hub__head h2 { letter-spacing: -0.005em; line-height: 1.08; font-family: var(--font-chunk,'Bagel Fat One',Impact,sans-serif) !important; color: rgb(247, 239, 227) !important; -webkit-text-fill-color: rgb(247, 239, 227) !important; }main .if-discovery-hub__eyebrow, main .if-entity-panel .section__eyebrow, main .if-sources-panel .section__eyebrow, main .if-trust-links .section__eyebrow { font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(245, 201, 107) !important; }main .if-discovery-hub h3, main .if-entity-panel h3, main .if-sources-panel h3 { color: rgb(245, 201, 107) !important; font-family: var(--font-chunk,inherit) !important; }.ifc-rail { scroll-behavior: auto; }.ifc.ifc-auto .ifc-rail { cursor: grab; }main .ifr-bounce { margin: 26px 0px 6px; padding: 16px 18px; border-radius: 18px; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(214, 177, 88, 0.24); }main .ifr-bounce__t { margin: 0px 0px 10px; font-family: var(--font-chunk,inherit); font-size: 0.82rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgb(245, 201, 107); }main .ifr-bounce ul { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0px; padding: 0px; list-style: none; }main .ifr-bounce a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(214, 177, 88, 0.32); background: rgba(255, 255, 255, 0.04); color: rgb(247, 239, 227); text-decoration: none; font-size: 0.9rem; transition: border-color 0.3s, transform 0.3s; }main .ifr-bounce a:hover, main .ifr-bounce a:focus-visible { border-color: rgb(245, 201, 107); transform: translateY(-1px); }.ifac-host { margin-top: 8px; }.ifac-host gmp-place-autocomplete { width: 100%; display: block; --gmp-mat-color-surface: #141009; --gmp-mat-color-on-surface: #f7efe3; --gmp-mat-color-outline: rgba(214,177,88,.34); --gmp-mat-color-primary: #f5c96b; }.ifac-host.ifac-done { opacity: 0.85; }.ifh-craving .ifh-medallion { pointer-events: none; overflow: hidden; position: absolute !important; inset: 0px !important; width: 100% !important; height: 100% !important; margin: 0px !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; z-index: 0 !important; }.ifh-craving .ifh-medallion video { display: block; opacity: 0.82; filter: saturate(1.05) contrast(1.03); width: 100% !important; height: 100% !important; object-fit: cover !important; }.ifh-craving .ifh-media { z-index: -1; }.ifh-craving .ifh-medallion::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(rgba(8, 6, 4, 0.42), rgba(8, 6, 4, 0.18) 45%, rgba(8, 6, 4, 0.78)); }.ifh-craving .ifh-stage > :not(.ifh-medallion):not(.ifh-media) { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce){.ifh-craving .ifh-medallion video { opacity: 0.6; }}
.ifh-craving h1, .ifh-craving .ifh-stage h1, .ifh-craving [class*="title"] { opacity: 1 !important; visibility: visible !important; transform: none !important; }.ifh-craving { position: relative !important; }.ifh-craving > .ifh-wrap > .ifh-stage > .ifh-medallion, .ifh-craving .ifh-medallion { position: absolute !important; inset: 0px !important; transform: none !important; width: auto !important; height: auto !important; max-width: none !important; margin: 0px !important; }.ifh-craving .ifu-in, .ifh-craving .ifz-c, .ifh-craving .ifz-h, .ifh-craving .ifs-el, .ifh-craving h1, .ifh-craving h1 * { opacity: 1 !important; visibility: visible !important; transform: none !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important; clip-path: none !important; }.ifc h1, .ifc h1 *, .ifc .section__title, .ifc .if27-reveal, .ifc .ifm-split-in, .ifc .reveal { opacity: 1 !important; visibility: visible !important; transform: none !important; animation: auto ease 0s 1 normal none running none !important; clip-path: none !important; filter: none !important; }
@media (prefers-reduced-motion: no-preference){.if-poster .ifp-media img, .product-card img, .ifu-card-media img, main section img.ifz-media { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: ifaZoom; animation-timeline: view(); animation-range: entry exit; will-change: transform; }@keyframes ifaZoom { 
  0% { transform: scale(1.22) translate3d(0px, 26px, 0px); }
  100% { transform: scale(1) translate3d(0px, -26px, 0px); }
}.ifc-media img, .ifu-card-media img { animation: 4.5s ease-in-out 0s infinite alternate none running ifaBreathe; }.if-poster .ifp-media img, .product-card img { animation: 6s ease-in-out 0s infinite alternate none running ifaBreathe; }}
@keyframes ifaBreathe { 
  0% { transform: scale(1) rotate(0deg); }
  100% { transform: scale(1.16) rotate(0.6deg); }
}.ifc-card.ifc-on .ifc-media, .product-card:hover .ifc-media { transform: scale(1.03); transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1); }
@media (prefers-reduced-motion: no-preference){main .ifh-r1::before, main .ifh-r2::before, main .ifg-nu::before { content: ""; position: absolute; inset: -10% -20%; z-index: -1; pointer-events: none; background: radial-gradient(40% 55% at 20% 30%, rgba(245, 166, 35, 0.42), transparent 60%), radial-gradient(35% 50% at 80% 70%, rgba(214, 177, 88, 0.34), transparent 60%); filter: blur(6px); animation: 12s ease-in-out 0s infinite alternate none running ifaDrift; }@keyframes ifaDrift { 
  0% { transform: translate3d(-9%, -5%, 0px) scale(1); }
  100% { transform: translate3d(10%, 6%, 0px) scale(1.3); }
}main .ifh-r1, main .ifh-r2, main .ifg-nu { position: relative; isolation: isolate; }}
@media (prefers-reduced-motion: no-preference) and (min-width: 761px){main .ifh-r1::after { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; opacity: 0.6; background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px); background-size: 3px 3px; animation: 6s steps(6) 0s infinite normal none running ifaGrain; }@keyframes ifaGrain { 
  0% { background-position: 0px 0px; }
  33% { background-position: 1px 2px; }
  66% { background-position: 2px 1px; }
  100% { background-position: 0px 0px; }
}}
@media (prefers-reduced-motion: no-preference){main .ifc-card, main .if-step, main .ifg-nu > h3 { animation-duration: auto; animation-timing-function: linear; animation-delay: 0s; animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: ifaRise; animation-timeline: view(); animation-range: entry entry 45%; }@keyframes ifaRise { 
  0% { opacity: 0; transform: translate3d(0px, 38px, 0px) scale(0.94); }
  100% { opacity: 1; transform: none; }
}}
@media (prefers-reduced-motion: reduce){.ifc-media img, .if-poster .ifp-media img, .product-card img, .ifu-card-media img, main .ifc-card, main .if-step, main .ifg-nu > h3 { animation: auto ease 0s 1 normal none running none !important; transform: none !important; opacity: 1 !important; }main .ifh-r1::before, main .ifh-r2::before, main .ifg-nu::before, main .ifh-r1::after { animation: auto ease 0s 1 normal none running none !important; }}
html.ifh-cta-vue .if27-orderbar, html.if27.ifh-cta-vue .if27-orderbar { opacity: 0 !important; visibility: hidden !important; transform: translateY(140%) !important; pointer-events: none !important; }html body .ifh-craving .ifh-medallion, html body .ifh-craving .ifh-stage .ifh-medallion { position: absolute !important; inset: 0px !important; transform: none !important; translate: none !important; margin: 0px !important; width: auto !important; height: auto !important; max-width: none !important; }html body .ifh-craving .ifh-medallion > video { width: 100% !important; height: 100% !important; object-fit: cover !important; transform: none !important; }.ifc-rail .ifc-card:first-child .ifc-price { background: linear-gradient(rgba(245, 201, 107, 0.16), rgba(214, 165, 58, 0.1)); border: 1px solid rgba(245, 201, 107, 0.45); border-radius: 14px; padding: 8px 14px; }.ifc-rail .ifc-card:first-child .ifc-price b { color: rgb(245, 201, 107); text-shadow: rgba(0, 0, 0, 0.5) 0px 2px 0px, rgba(245, 166, 35, 0.5) 0px 0px 26px; }.ifc-rail .ifc-card:first-child .ifc-price i { color: rgb(247, 239, 227); font-weight: 700; }.ifh-craving .ifh-medallion .ifh-sound { pointer-events: auto; }.ifh-craving .ifh-medallion .if-sound { display: none !important; }.if-steps .ifm-stk-visual img { opacity: 0 !important; transform: scale(1.14) !important; transition: opacity 0.55s, transform 1s cubic-bezier(0.16, 1, 0.3, 1) !important; animation: auto ease 0s 1 normal none running none !important; }.if-steps .ifm-stk-visual img.actif { opacity: 1 !important; transform: scale(1) !important; }.if-steps .ifm-stk-visual:not(:has(img.actif)) img:first-child { opacity: 1 !important; transform: scale(1) !important; }
/* V377 lisibilite : (1) elements .ifs-alt reveles restent deplaces (specificite) ; (2) gabarits concus sombres sous le theme clair */
html.ifs-on .ifs-el.ifs-alt.ifs-in{transform:none}
html.ifs-on .ifs-el.ifs-in{transform:none}
/* Heros des pages if-page-shell (if-order-hero) sur fond clair */
html body main.if-page-shell .if-order-hero h1,html body main.if-page-shell .if-order-hero h1 *,html body main.if-page-shell .if-order-hero p,html body main.if-page-shell .if-order-hero p *{color:#1a1410!important;-webkit-text-fill-color:#1a1410!important}
html body main.if-page-shell .if-order-hero h1{text-shadow:none}
html body main.if-page-shell .if-order-hero .if-main-cta,html body main.if-page-shell .if-order-hero .if-main-cta *{color:#1a1410!important;-webkit-text-fill-color:#1a1410!important}
html body main.if-page-shell .if-order-hero .if-secondary-cta,html body main.if-page-shell .if-order-hero .if-secondary-cta *{color:#1a1410!important;-webkit-text-fill-color:#1a1410!important}
html body main.if-page-shell .if-order-hero .if-secondary-cta{border:1px solid rgba(26,20,16,.55)!important;background:rgba(255,255,255,.75)!important}
html body main.if-page-shell .if-content-card,html body main.if-page-shell .if-content-card :is(h2,h3,p,li,strong){color:#1a1410}
html body main.if-page-shell .if-content-card a{color:#7a4d00}
/* Articles de blog (.ifa) */
html body main.ifa,html body main.ifa :is(h1,h3,h4,p,li,dd,dt,blockquote,figcaption,summary,span){color:#1a1410}
html body main.ifa .ifa-body h2{color:#7a4d00;border-top-color:rgba(122,77,0,.25)}
html body main.ifa .ifa-meta{color:#5a4f45}
html body main.ifa .ifa-body a,html body main.ifa .ifa-toc a{color:#7a4d00}
html body main.ifa .ifa-chapo{background:rgba(255,255,255,.65);border:1px solid rgba(122,77,0,.22)}
html body main.ifa .ifa-toc,html body main.ifa .ifa-figure,html body main.ifa .ifa-faq details,html body main.ifa .ifa-cta{background:rgba(255,255,255,.7);border-color:rgba(122,77,0,.28)}
html body main.ifa .ifa-btn{background:#ffb100;color:#1a1410}
/* Pages legales */
html body main.legal-wrapper,html body main.legal-wrapper :is(h1,h2,h3,p,li,span,strong,td,th){color:#1a1410}
html body main.legal-wrapper h1 em{color:#7a4d00}
html body main.legal-wrapper .updated{color:#5a4f45}
html body main.legal-wrapper a{color:#7a4d00}
/* Cartes video : repere de lecture lisible sur fond sombre */
html body .if-video-card .ifb-cue{color:#f3e9d6}
/* Page recrutement : cartes de postes sur fond sombre */
html body .rc-job,html body .rc-job :is(h3,p,li,span,strong){color:#f3e9d6!important;-webkit-text-fill-color:#f3e9d6!important}

/* if-premium-2026.css */
/* ==================================================================
   if-premium-2026.css  —  COUCHE DESIGN CLAIRE PREMIUM (additive)
   Chargée EN DERNIER. Ne touche ni DOM ni JS ni SEO.
   Modèle anti-whack-a-mole :
     1) FLIP des variables (site variable-driven) ;
     2) FONDS : sections/cartes claires -> ivoire/blanc ; surfaces sombres
        voulues (hero, footer, bandes, îlots) -> charbon ;
     3) BLANKET : tout le texte des sections claires -> ENCRE
        (préfixe `html body` => spécificité (0,1,2), bat les littéraux
         `html.if27 strong{…!important}` des bundles par l'ORDRE) ;
     4) ÎLOTS SOMBRES (après le blanket, même préfixe => gagnent l'ordre,
        ou spécificité supérieure) -> texte CLAIR ;
     5) re-assert ciblés : accents or, badges, marque, marquee.
   Palette : ivoire #faf6ee · encre #1a1410 · muted #6b6152 · or foncé
   #c8850f (accent/clair) · clair #f6ecd9 · muted clair #b8ab95 · or vif
   #ffce5a (sur sombre) · charbon #0b0805.
   ================================================================== */

/* 1. VARIABLES : sombre -> ivoire premium ---------------------------- */
:root{
  --noir:#faf6ee; --noir-2:#ffffff; --noir-3:#f4ede0; --brique:#f1e8d8;
  --if-black:#faf6ee; --if-coal:#f6f0e6; --if-black2:#faf6ee; --if-bg:#faf6ee;
  --if-cream:#1a1410; --if-cream-soft:#221a12; --creme:#1a1410; --creme-2:#5b5040;
  --if-muted:#6b6152; --if-grey:#6b6152; --if-text:#1a1410;
  --if-line:rgba(60,40,10,.14); --if-surface:rgba(20,16,9,.035);
}

/* 2. FOND DE PAGE ivoire --------------------------------------------- */
html,body,html body[class]{background:#faf6ee !important;color:#1a1410}
main,main[class]{background-color:transparent !important}
.if-coal,.if-noir,.ifr-noir,.if-black,[class*="-coal"]{background-color:transparent}

/* 3a. FONDS CLAIRS : sections -> ivoire, cartes de contenu -> blanc ---- */
html body .ifh-r1,html body .ifh-r2,html body .ifh-r3,html body .ifc,
html body .if-rythme-sec,html body .location__inner,html body .franchise__inner,
html body .if-cocon,html body .page-hero,html body .page-main,html body .page-body,
html body .ifg-nu,html body .newsletter,html body .facts-grid,
html body .if-editorial-guide,html body .if-search-cluster,html body .cta-block{
  background-color:#faf6ee !important;
}
html body .ifx-card,html body .ifx-av,html body .ifc-card,html body .ifc-body,
html body .if-guru-card,html body .fact-card,html body .ifu-infos{
  background-color:#ffffff !important; background-image:none !important;
}

/* 3b. FONDS SOMBRES VOULUS : hero (média), footer, bandes, îlots ------- */
.hero,.ifh-craving,.if-craving,.ifh-stage,.ifh-wrap,.ifh-copy,
.if-order-hero,.local-hero,.if-video-hero,.ifu-band-noir,.if-cinema,
.if-reel,.ifc-media,.ifp-visuel,.ifp-media,.if-cinema__cell,.igtile,.if-ig,
.if-poster,.if-login-gate{ background:#0b0805; }
html body .footer,html body footer,html body .if-footer,html body .ifu-footer,
html body .ifb-hub,html body .if-discovery-hub,html body .ifm-marquee,html body .iff-claims{
  background:#0b0805 !important;
}

/* ================= 4. BLANKET SECTIONS CLAIRES -> ENCRE ==============
   préfixe `html body` : spécificité (0,1,2) ; chargé en dernier => bat les
   `html.if27 strong{color:#F2C14E!important}` & co par l'ordre. */
html body .ifh-r1 *,html body .ifh-r2 *,html body .ifh-r3 *,html body .ifc *,
html body .if-rythme-sec *,html body .location__inner *,html body .franchise__inner *,
html body .if-cocon *,html body .platforms *,html body .page-hero *,html body .page-main *,
html body .page-body *,html body .ifg-nu *,html body .cta-block *,html body .facts-grid *,
html body .if-editorial-guide *,html body .if-search-cluster *,html body .ifj *,
html body .newsletter *,html body .newsletter__form *,html body .newsletter__consent *,
html body .ifx-card *,html body .ifc-card *,html body .if-guru-card *{
  color:#1a1410 !important; -webkit-text-fill-color:#1a1410 !important;
}

/* 5. SECTIONS CLAIRES — secondaire muted + accents OR FONCÉ (polish) ---
   spécificités >= (0,2,0) : battent le blanket. */
html body .ifu-sub,html body .stat__source,html body .if-editorial-guide__body p,
html body .if-search-cluster__intro,html body .footer__legal,html body .if-hub__eyebrow{
  color:#6b6152 !important; -webkit-text-fill-color:#6b6152 !important;
}
.ifh-r1 .section__eyebrow,.ifh-r2 .section__eyebrow,.ifh-r3 .section__eyebrow,
.if-rythme-sec .section__eyebrow,.ifc .section__eyebrow,.ifg-nu .section__eyebrow,
.page-hero .section__eyebrow,.page-main .section__eyebrow,.location__inner .section__eyebrow,
.franchise__inner .section__eyebrow,
.ifu-kicker-caveat,.if-eyebrow,.ifj-eyebrow,.ifz-eyebrow{
  color:#c8850f !important; -webkit-text-fill-color:#c8850f !important;
}
/* mot doré accentué (em) sur clair -> or foncé lisible. Préfixe `html body`
   => (0,1,4), bat `html.if27 h2 em{…clip:text}` (0,1,3). */
html body .ifh-r1 :is(h1,h2,h3) em,html body .ifh-r2 :is(h1,h2,h3) em,html body .ifh-r3 :is(h1,h2,h3) em,
html body .if-rythme-sec :is(h1,h2,h3) em,html body .ifc :is(h1,h2,h3) em,html body .ifg-nu :is(h1,h2,h3) em,
html body .page-hero :is(h1,h2,h3) em,html body .page-main :is(h1,h2,h3) em,
html body .location__inner :is(h1,h2,h3) em,html body .franchise__inner :is(h1,h2,h3) em,
html body .ifh-r1 .section__title em,html body .ifh-r2 .section__title em,html body .ifh-r3 .section__title em,
html body .if-rythme-sec .section__title em,html body .if-rythme-sec .if-rythme-h2 em,
html body .ifh-r1 .ifz-h em,html body .ifh-r2 .ifz-h em,html body .ifh-r3 .ifz-h em{
  background:none !important; background-image:none !important;
  color:#c8850f !important; -webkit-text-fill-color:#c8850f !important; text-shadow:none !important;
}
html body .stat__num,html body .stat__num *{
  color:#c8850f !important; -webkit-text-fill-color:#c8850f !important; text-shadow:none !important;
}
html body .ifc-price,html body .ifc-price *{ color:#1a1410 !important; -webkit-text-fill-color:#1a1410 !important; }
.ifc-price span,.ifc-price i{ color:#c8850f !important; -webkit-text-fill-color:#c8850f !important; }
html body .ifx-stars,.ifx-stars{ color:#c8850f !important; -webkit-text-fill-color:#c8850f !important; }
.newsletter__consent a{ color:#c8850f !important; -webkit-text-fill-color:#c8850f !important; }

/* ============ 6. ÎLOTS SOMBRES -> TEXTE CLAIR (APRÈS le blanket) ======
   même préfixe (0,1,2) placé plus bas => gagne les égalités ; les îlots à
   spécificité supérieure gagnent d'office. */
html body .hero *,html body .ifh-craving *,html body .ifh-stage *,html body .ifh-wrap *,
html body .ifh-copy *,html body .if-order-hero *,html body .local-hero *,
html body .if-video-hero *,html body .ifu-band-noir *,html body .if-cinema *,
html body .if-poster *,html body .if-login-gate *,
html body .footer *,html body footer *,html body .if-footer *,html body .ifu-footer *,
html body .ifb-hub *,html body .if-discovery-hub *,html body .ifj-card *,
html body .if-proof-card *,html body .if-guru-logo-badge *{
  color:#f6ecd9 !important; -webkit-text-fill-color:#f6ecd9 !important;
}
/* muted clair pour le secondaire sombre */
html body .if-discovery-hub p,html body .if-discovery-hub__head p,html body .ifb-hub p,
html body .footer__tagline,html body .footer__legal{
  color:#b8ab95 !important; -webkit-text-fill-color:#b8ab95 !important;
}
/* hero eyebrow + accents or vif des îlots */
html body .ifh-eyebrow,html body .if-video-hero .section__eyebrow,html body .hero .section__eyebrow,
html body .if-proof-card .ifp-num,html body .if-proof-card .ifp-sur,html body .if-proof-card strong,
html body .if-discovery-hub .section__eyebrow,html body .if-discovery-hub__eyebrow,
html body .ifb-hub h2,html body .ifj-card .ifj-eyebrow{
  color:#ffce5a !important; -webkit-text-fill-color:#ffce5a !important; background:none !important;
}
/* liens footer / sitemap : neutralise le dégradé-texte lu comme fond + hover or */
html body .footer a,html body footer a,html body .ifb-hub a,html body .if-discovery-hub a{
  background:none !important; background-image:none !important;
}
html body .footer a:hover,html body footer a:hover,html body .ifb-hub a:hover{
  color:#ffce5a !important; -webkit-text-fill-color:#ffce5a !important;
}
/* marquees dorés (produits + claims) : restent sombres, texte OR VIF */
html body .ifm-marquee *,html body .iff-claims *{ color:#ffce5a !important; -webkit-text-fill-color:#ffce5a !important; }
/* villes franchise (li sombres) : texte clair, badges conservés */
html body .franchise__cities li.open,html body .franchise__cities li.coming{ background:rgba(22,20,18,.9) !important; }
html body .franchise__cities li.open,html body .franchise__cities li.coming,
html body .franchise__cities li.open *,html body .franchise__cities li.coming *{
  color:#f6ecd9 !important; -webkit-text-fill-color:#f6ecd9 !important;
}
html body .franchise__cities li.open span{ color:#0b0a09 !important; -webkit-text-fill-color:#0b0a09 !important; }
html body .franchise__cities li.coming span{
  color:#ffce5a !important; -webkit-text-fill-color:#ffce5a !important; border-color:#ffce5a !important;
}

/* 7. CARTES PLATEFORMES : onsite/direct -> encre (blanket) ; marque rétablie */
.platform--glovo .platform__logo,.platform--glovo .platform__time{ color:#15b26b !important; -webkit-text-fill-color:#15b26b !important; }
.platform--done .platform__logo,.platform--done .platform__time{ color:#FF6B1A !important; -webkit-text-fill-color:#FF6B1A !important; }
.platform--kool .platform__logo,.platform--kool .platform__time{ color:#E63946 !important; -webkit-text-fill-color:#E63946 !important; }
.platform--yassir .platform__logo,.platform--yassir .platform__time{ color:#6B3FA0 !important; -webkit-text-fill-color:#6B3FA0 !important; }

/* 8. LOGO « Insta » (header sombre) -> blanc cassé ; « Food » or vif ---- */
html body .nav__logo-text{ color:#f6ecd9 !important; -webkit-text-fill-color:#f6ecd9 !important; }
html body .nav__logo-text strong{ color:#ffce5a !important; -webkit-text-fill-color:#ffce5a !important; }
.nav__logo-text::after{ color:#b8ab95 !important; }

/* 9. CTA primaire : dégradé or métal, texte ENCRE (jamais clair) ------- */
.if-btn--primary,.btn--primary,.if-btn.primary,.if27-cta,a.if-cta--primary,.if-main-cta,
.newsletter__form button[type=submit]{
  background:linear-gradient(160deg,#ffd34d 0%,#ffb100 55%,#e69500 100%) !important;
  color:#1a1008 !important; -webkit-text-fill-color:#1a1008 !important;
  box-shadow:0 10px 24px -10px rgba(230,149,0,.55);
}
html body .if-btn--primary,html body .btn--primary,html body .btn.btn--primary,
html body .if-btn.primary,html body .if-main-cta,html body a.nav__cta,
html body .newsletter__form button[type=submit]{
  color:#1a1008 !important; -webkit-text-fill-color:#1a1008 !important;
}
/* le texte encre du CTA doit battre aussi le blanket hero/îlot (0,1,2) : on
   double la classe -> (0,2,x) pour les CTA imbriqués dans une surface sombre */
html body .ifh-ctas .btn--primary,html body .hero .btn--primary,html body .ifh-craving .btn--primary{
  color:#1a1008 !important; -webkit-text-fill-color:#1a1008 !important;
}

/* 10. Consentement CNDP : vrai or Instafood --------------------------- */
#if-consent button[data-kind=analytics]{
  background:linear-gradient(135deg,#ffd75e,#ffb100,#e88f00) !important;color:#241500 !important;border:0;
}
#if-consent h2{ color:#c8850f }
.if-lang__menu,.newsletter__consent{ background:#fff !important;border:1px solid rgba(60,40,10,.14) }
html body .if-lang__menu *{ color:#1a1410 !important;-webkit-text-fill-color:#1a1410 !important }

/* 11. OMBRES DE TITRES « arcade » -> ombre douce premium --------------- */
.section__title,.if-rythme-h2,.ifz-h,.ifu-h2,.if-discovery-hub__title,.if-steps__title,
.if-club-title,.section__title--facts.section__title-main,h1.reveal{
  text-shadow:0 1px 2px rgba(0,0,0,.08) !important;
}
.stat__num,.stat__num *{ text-shadow:none !important; }

/* 12. sr-only : hors écran -> transparent (neutralise faux positifs) ---- */
html body .sr-only,html body .ifm-marquee .sr-only{
  color:transparent !important; -webkit-text-fill-color:transparent !important;
}

/* ============ 13. FINITIONS PREMIUM (marquee, texture, stickers) ======== */
/* 13a. BANDE DES FORCES = or InstaGold restauré (signature de marque) */
html body .iff-claims{background:linear-gradient(165deg,#f5d67b 0%,#e9c352 40%,#d4af37 100%) !important;border-block:1px solid rgba(90,66,20,.5)}
html body .iff-claims *{color:#241500 !important;-webkit-text-fill-color:#241500 !important;font-weight:800;letter-spacing:.02em}
/* 13b. RAIL PRODUITS = bande ivoire claire propre (au lieu du sombre) */
html body .ifm-marquee{background:#f6efe2 !important;border-block:1px solid rgba(60,40,10,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
html body .ifm-marquee *{color:#1a1410 !important;-webkit-text-fill-color:#1a1410 !important}
html body .ifm-marquee [class*="price"],html body .ifm-marquee b,html body .ifm-marquee .ifm-mq__price{color:#c8850f !important;-webkit-text-fill-color:#c8850f !important}
/* 13c. FOND avec TEXTURE premium subtile (glow chaud + micro-grain), pas d'aplat */
html body,html body[class]{
  background-color:#faf6ee !important;
  background-image:
    radial-gradient(1100px 460px at 12% -6%, rgba(255,177,0,.07), transparent 60%),
    radial-gradient(900px 460px at 102% 26%, rgba(236,151,19,.05), transparent 55%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Ccircle cx='1.5' cy='1.5' r='1' fill='%23a86a10' fill-opacity='0.045'/%3E%3C/svg%3E") !important;
  background-attachment:fixed,fixed,scroll !important;
}
/* 13d. STICKERS mascottes : derrière le texte + discrets ; masqués sur mobile (chevauchement) */
.if-float-slot,.if-float,.if-float-sky,.if-sticker{opacity:.5 !important;z-index:0 !important;pointer-events:none !important}
.ifh-copy,.section__head,.ifc-head,.location__inner,.franchise__inner,.newsletter,.faq{position:relative;z-index:2}
@media (max-width:860px){.if-float-slot,.if-float-sky,.if-sticker{display:none !important}}

/* ==================================================================
   14. TYPOGRAPHIE PREMIUM (additive, N'ALTÈRE AUCUNE COULEUR -> le
   contraste 0-flag reste intact). Rendu net + échelle fluide clamp()
   sur le tier "label/eyebrow" + planchers lisibles + wrapping soigné.
   ================================================================== */
:root{
  /* échelle fluide cohérente (tokens) */
  --if-fs-eyebrow: clamp(12.6px, .74rem + .18vw, 13.5px);
  --if-fs-label:   clamp(12.6px, .74rem + .18vw, 13.5px);
  --if-fs-meta:    clamp(12.6px, .74rem + .22vw, 14px);
  --if-fs-badge:   clamp(12.6px, .74rem + .12vw, 13px);
  --if-fs-cta:     clamp(12.6px, .74rem + .12vw, 13.5px);
  --if-ease-soft:  cubic-bezier(.22,.61,.36,1);
}
/* 14a. rendu net (anti-alias + ligatures/kerning) */
html body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
/* 14b. hiérarchie : équilibrage des titres (visibles par défaut) */
html body :is(h1,h2,h3,.section__title,.if-rythme-h2,.ifz-h,.ifu-h2,.if-hub__title,
  .ifj-title,.if-steps__title,.if-club-title,.if-discovery-hub__title){ text-wrap:balance; }
/* display : tracking premium serré (négatif => n'élargit jamais, aucun overflow) */
html body :is(.section__title,h1.reveal,.ifh-h1,.if-hero__title,.ifu-h2){ letter-spacing:-.02em; }
/* 14c. corps Manrope : rendu "pretty" + mesure éditoriale lisible ~68ch */
html body :is(p,li){ text-wrap:pretty; }
html body :is(.if-editorial-guide__body p,.if-editorial-guide p,.ifj p,.ifj__body p,
  .page-body .prose p,.if-search-cluster__intro){ max-width:68ch; }
/* 14d. PLANCHERS DE TAILLE — efface les <12.5px de l'audit sans écraser les
   grands titres. !important pour battre les !important en cascade des bundles.
   IMPORTANT : la règle `.section__eyebrow` (Caveat 1.4rem, volontairement
   grande) n'existe QUE hors-if27 (ex. menu) ; on borne donc l'eyebrow SEULEMENT
   sous `.if27` (home) pour NE PAS rétrécir le eyebrow manuscrit des autres pages. */
html body.if27 .section__eyebrow,html.if27 body .section__eyebrow{ font-size:var(--if-fs-eyebrow)!important; }
html body :is(.if-hub__eyebrow,.ifj-eyebrow,.ifz-eyebrow,.if-eyebrow,.if-hub__kicker,
  .if-discovery-hub__eyebrow){ font-size:var(--if-fs-eyebrow)!important; }
html body :is(.stat__label,.fact-card__label,.if-hub__label){ font-size:var(--if-fs-label)!important; }
html body :is(.ifx-m,.ifj-tag,.avis-card__meta,.platform__time,.if-proof-card .ifp-sur,
  .newsletter__consent a,.newsletter__consent label){ font-size:var(--if-fs-meta)!important; }
html body :is(.if-guru-logo-badge__main,.if-guru-logo-badge__sub){ font-size:var(--if-fs-badge)!important; line-height:1.18!important; }
/* nav__cta / if-main-cta / nav__account : les bundles les surchargent avec des
   règles !important à SPÉCIFICITÉ (0,3,0) (mesuré) -> on triple la classe pour
   passer à (0,3,3) et gagner proprement (aucun !important inline dans le HTML). */
html body a.nav__cta.nav__cta.nav__cta,html body .nav__cta.nav__cta.nav__cta,
html body a.if-main-cta.if-main-cta.if-main-cta,html body .if-main-cta.if-main-cta.if-main-cta{
  font-size:var(--if-fs-cta)!important; }
html body a.nav__account.nav__account.nav__account,html body a.nav__account.nav__account span{
  font-size:var(--if-fs-cta)!important; }

/* ==================================================================
   15. ADAPTABILITÉ DEVICE : OVERFLOW HORIZONTAL = 0 aux 3 tailles.
   Cause réelle (desktop) : couche décorative .if-float-sky (pleine
   largeur, overflow:visible) + phantom-scroll dû à la propagation de
   `overflow-x:clip` du body vers le viewport. On borne À LA RACINE :
   `overflow-x:clip` n'établit PAS de conteneur de scroll => position
   sticky/fixed et le scroll vertical restent 100% intacts. */
html{ overflow-x:clip; }
/* filet de sécurité images (testé : le hero conserve son cadrage, la règle
   bundle `.ifh-media img` plus spécifique gagne) */
img{ max-width:100%; height:auto; }
/* couche stickers + pistes marquee : bornées explicitement */
html body :is(.if-float-sky,.if-float-slot){ overflow:clip; }
html body :is(.ifm-marquee,.iff-claims,.if27-band){ overflow:hidden; }

/* ==================================================================
   16. CIBLES TACTILES >= 48px (min-height ne change JAMAIS la largeur
   => aucun layout cassé). Checkbox/radio natifs volontairement exclus. */
html body :is(a.nav__cta,.nav__cta,a.if-main-cta,.if-main-cta,a.if-cta--primary,.if-cta--primary,
  a.btn,.btn,.btn--primary,.btn--ghost,button[type=submit],.newsletter__form button,
  button.if-lang__button,.if-lang__button,.if27-cta,.if-club-cta){ min-height:48px; box-sizing:border-box; }
/* boutons-pilules rendus en display:inline -> vraie boîte 48 centrée */
html body a.if-btn:not(.btn){ min-height:48px; display:inline-flex; align-items:center;
  justify-content:center; box-sizing:border-box; vertical-align:middle; }
/* champs de saisie texte -> 48 (checkbox/radio/hidden exclus) */
html body :is(input[type=email],input[type=text],input[type=tel],input[type=search],
  input[type=number],input[type=password],input[type=url],input:not([type]),select,textarea){
  min-height:48px; box-sizing:border-box; }
/* liens "texte" (prose, listes sitemap footer/cocon, coordonnées, consentement,
   cartes vidéo) -> zone tactile >=44. padding-block agrandit le rect en gardant
   le flux inline (le texte long wrappe toujours => aucun overflow). Exclut les
   vrais boutons via :where() (0 spécificité, on n'inflate pas la cascade). */
html body :is(p,li,dd,dt,label,figcaption,blockquote,.location__detail,.ifv-card__body,
  .newsletter__consent,.if-source-note,.if-videos-link,.footer,.footer__col,.if-cocon)
  a:where(:not(.if-btn):not(.btn):not(.nav__cta):not(.if-main-cta):not(.if-cta--primary):not(.if-lang__button)){
  padding-block:.95em; line-height:1.3; }
/* icônes sociales -> pastilles 48x48 (reset du padding-block ci-dessus) */
html body .footer__socials a{ padding-block:0!important; min-width:48px; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; }
/* skip-link (hors écran) -> efface le faux positif sans impact visuel */
html body a.if-skip{ min-height:48px; display:inline-flex; align-items:center; }

/* ==================================================================
   17. MOTION SÛRE — additive & incassable. TOUTE la motion est sous
   `prefers-reduced-motion: no-preference` (reduced-motion => 0 animation).
   Uniquement transform/opacity/box-shadow, 180-520ms, easing doux.
   Règle d'or respectée : le contenu est TOUJOURS visible (jamais opacity:0
   par défaut) — les révélations n'utilisent QUE translateY (opacity intacte). */
/* focus accessible doré (statique, hors motion : toujours actif) */
html body :is(a,button,[role=button],input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #ffb100; outline-offset:2px; border-radius:6px;
}
@media (prefers-reduced-motion: no-preference){
  /* transitions micro-interactions */
  html body :is(a.if-btn,.if-btn,a.btn,.btn,a.nav__cta,.nav__cta,a.if-main-cta,.if-main-cta,
    button.if-lang__button,.newsletter__form button){
    transition: transform .2s var(--if-ease-soft), box-shadow .24s var(--if-ease-soft),
      background-color .2s var(--if-ease-soft), color .2s var(--if-ease-soft), opacity .2s var(--if-ease-soft);
  }
  html body :is(a.if-btn,.if-btn,a.btn,.btn,a.nav__cta,.nav__cta,a.if-main-cta,.if-main-cta):hover{
    transform: translateY(-2px);
  }
  html body :is(a.if-btn,.if-btn,a.btn,.btn):active{ transform: translateY(0); }
  /* élévation douce des cartes au survol */
  html body :is(.ifx-card,.ifc-card,.fact-card,.if-guru-card,.ifp-card,.ifj-card,.ifv-card,
    .platform,.if-proof-card,.if-hub__card){
    transition: transform .28s var(--if-ease-soft), box-shadow .32s var(--if-ease-soft);
    will-change: transform;
  }
  html body :is(.ifx-card,.ifc-card,.fact-card,.if-guru-card,.ifp-card,.ifj-card,.ifv-card,
    .platform,.if-proof-card,.if-hub__card):hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -22px rgba(40,26,4,.42);
  }
  /* liens texte : soulignement/opacité douce */
  html body :is(p,li,.footer) a{ transition: opacity .18s var(--if-ease-soft), color .18s var(--if-ease-soft); }
  /* transition du focus ring */
  html body :is(a,button,input,select,textarea,summary):focus-visible{ transition: outline-offset .15s var(--if-ease-soft); }
  /* révélation au scroll (transform-only => JAMAIS de contenu caché).
     Ne cible PAS `.reveal` (système JS du site) pour éviter tout conflit. */
  @supports (animation-timeline: view()){
    @keyframes if-rise{ from{ transform: translateY(18px); } to{ transform: translateY(0); } }
    html body :is(.ifc-card,.fact-card,.if-guru-card,.ifj-card,.if-hub__card,.if-proof-card):not(.reveal){
      animation: if-rise .5s var(--if-ease-soft) both;
      animation-timeline: view();
      animation-range: entry 0% entry 32%;
    }
  }
}

/* 15. FINITIONS RESPONSIVE/TYPO (planchers) */
html body .franchise__cities li span{font-size:.8rem !important;letter-spacing:.02em}
html body .newsletter__form input:not([type="checkbox"]):not([type="hidden"]){min-height:48px !important;font-size:16px !important;padding:12px 14px}
html body img{max-width:100% !important;height:auto}

/* if-v3-shell-v1149334.css */
/* Instafood · Shell V3 pour les pages vitrine : header, footer, WhatsApp support, boutons.
   Chargé APRÈS les bundles hérités : sélecteurs préfixés html.if-v3s body + !important sur les propriétés disputées. */
html.if-v3s{
  --paper:#F6F0E6;--paper-2:#FBF8F2;--cream:#EFE6D7;--surface:#FFFFFF;--ink:#171310;--ink-2:#4F443A;--muted:#6E6353;
  --gold:#ffb100;--gold-2:#ffb100;--gold-text:#e69500;--gold-on-dark:#FFCE5A;--charbon:#120D08;--line:rgba(23,19,16,.10);
  --gold-cta:linear-gradient(160deg,#ffd34d 0%,#ffb100 55%,#e69500 100%);--r-pill:999px;--r-md:16px;
  --sh-1:0 2px 8px rgba(23,19,16,.05),0 22px 48px -24px rgba(23,19,16,.28);--sh-2:0 6px 18px rgba(23,19,16,.09),0 40px 80px -30px rgba(23,19,16,.38);--sh-gold:0 18px 44px -18px rgba(245,166,35,.55);
  --display:'Bagel Fat One',"Arial Black",Impact,system-ui,sans-serif;--body:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;--t1:120ms;--t2:180ms;
}
html.if-v3s body{padding-top:0!important;margin-top:0!important;overflow-x:hidden}
html.if-v3s body .skip{position:absolute!important;left:12px;top:8px;z-index:100;background:var(--gold);color:#241500;padding:10px 16px;border-radius:var(--r-pill);font-weight:800;transform:translateY(-160%);opacity:0;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}
html.if-v3s body .skip:focus{transform:none;opacity:1}

/* ---- Header ---- */
html.if-v3s body .nav.if-pro-nav{position:sticky!important;top:0!important;left:auto!important;right:auto!important;z-index:60!important;display:block!important;grid-template-columns:none!important;padding:0!important;margin:0!important;width:auto!important;min-height:0!important;height:auto!important;background:rgba(246,240,230,.9)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)!important;box-shadow:none!important;transform:none!important;opacity:1!important;transition:none!important;direction:inherit!important;font-family:var(--body)!important;color:var(--ink)!important}
html.if-v3s body .nav.if-pro-nav .nav__in{width:min(1200px,calc(100% - 40px));margin-inline:auto;display:flex;align-items:center;gap:16px;min-height:70px}
html.if-v3s body .nav.if-pro-nav .nav__logo{display:flex!important;align-items:center;gap:10px;min-height:44px;font-family:var(--display)!important;font-size:1.4rem!important;font-weight:400!important;white-space:nowrap;flex:0 0 auto;color:var(--ink)!important;text-decoration:none!important;text-shadow:none!important;letter-spacing:0!important;padding:0!important;margin:0!important;background:none!important}
html.if-v3s body .nav.if-pro-nav .nav__logo img{width:44px!important;height:44px!important;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}

html.if-v3s body .nav.if-pro-nav .nav__logo span{color:var(--ink);-webkit-text-fill-color:var(--ink);background:none!important;text-shadow:none!important}
html.if-v3s body .nav.if-pro-nav .nav__links{position:static!important;display:flex!important;flex-direction:row!important;gap:22px!important;margin:0 0 0 8px!important;padding:0!important;font-weight:700;font-size:.95rem;color:var(--ink-2);background:none!important;border:0!important;box-shadow:none!important;width:auto!important;max-height:none!important;overflow:visible!important;opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto!important}
html.if-v3s body .nav.if-pro-nav .nav__links a{display:inline-flex!important;align-items:center;padding:6px 2px!important;margin:0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;color:var(--ink-2)!important;-webkit-text-fill-color:var(--ink-2)!important;font:inherit!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;text-shadow:none!important;box-shadow:none!important;min-height:0!important;transition:color var(--t1),border-color var(--t1)}
html.if-v3s body .nav.if-pro-nav .nav__links a:hover,html.if-v3s body .nav.if-pro-nav .nav__links a[aria-current]{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;border-bottom-color:var(--gold)!important}
html.if-v3s body .nav.if-pro-nav .nav__links .mob-only,html.if-v3s body .nav.if-pro-nav .nav__links .lang-row{display:none!important}
html.if-v3s body .nav.if-pro-nav .if-nav-actions{margin-left:auto!important;display:flex!important;align-items:center;gap:10px!important;padding:0!important}
html.if-v3s body .nav.if-pro-nav .nav__account{font-weight:700!important;color:var(--ink-2)!important;-webkit-text-fill-color:var(--ink-2)!important;font-size:.92rem!important;padding:9px 8px!important;display:inline-flex!important;align-items:center;gap:6px;min-height:44px;background:none!important;border:0!important;box-shadow:none!important;text-decoration:none!important;border-radius:0!important;text-shadow:none!important}
html.if-v3s body .nav.if-pro-nav .nav__account:hover{color:var(--ink)!important}
html.if-v3s body .nav.if-pro-nav .if-lang{position:relative!important;margin:0!important}
html.if-v3s body .nav.if-pro-nav .if-lang__button{font-weight:800!important;font-size:.85rem!important;padding:0 13px!important;min-height:44px!important;height:auto!important;border-radius:var(--r-pill)!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;display:inline-flex!important;align-items:center;gap:6px;box-shadow:none!important;text-shadow:none!important;font-family:var(--body)!important;cursor:pointer}
html.if-v3s body .nav.if-pro-nav .if-lang__menu{position:absolute!important;right:0!important;left:auto!important;top:calc(100% + 8px)!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;box-shadow:var(--sh-2)!important;padding:6px!important;display:grid!important;gap:2px;min-width:150px;z-index:70!important;width:auto!important}
html.if-v3s body .nav.if-pro-nav .if-lang__menu[hidden]{display:none!important}
html.if-v3s body .nav.if-pro-nav .if-lang__item{display:flex!important;align-items:center;gap:8px;padding:10px 12px!important;border-radius:10px!important;font-weight:700!important;font-size:.92rem!important;min-height:44px;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:none!important;border:0!important;text-decoration:none!important;text-shadow:none!important}
html.if-v3s body .nav.if-pro-nav .if-lang__item:hover,html.if-v3s body .nav.if-pro-nav .if-lang__item[aria-current]{background:var(--cream)!important}
html.if-v3s body .nav.if-pro-nav .if-lang__flag-img{width:22px!important;height:15px!important;display:inline-block!important;margin:0!important;border:0!important;box-shadow:none!important}
html.if-v3s body .nav.if-pro-nav .nav__cta{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:44px!important;height:auto!important;padding:0 20px!important;margin:0!important;border:0!important;border-radius:var(--r-pill)!important;background:var(--gold-cta)!important;color:#241500!important;-webkit-text-fill-color:#241500!important;font-family:var(--body)!important;font-weight:800!important;font-size:.9rem!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;text-shadow:none!important;box-shadow:var(--sh-gold)!important;white-space:nowrap;transition:transform var(--t2),box-shadow var(--t2);transform:none}
html.if-v3s body .nav.if-pro-nav .nav__cta:hover{transform:translateY(-2px)!important;box-shadow:0 24px 54px -16px rgba(245,166,35,.7)!important}
html.if-v3s body .nav.if-pro-nav .nav__burger{display:none!important;width:46px!important;height:46px!important;border-radius:13px!important;border:1px solid var(--line)!important;background:var(--surface)!important;font-size:1.25rem!important;align-items:center;justify-content:center;flex:0 0 auto;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;padding:0!important;margin:0!important;box-shadow:none!important;cursor:pointer}
html.if-v3s body.if-nav-open{overflow:hidden}

/* ---- Footer ---- */
html.if-v3s body .ft{background:var(--charbon)!important;color:#cbbda2!important;padding:60px 0 28px!important;margin:0!important;font-family:var(--body)!important;direction:inherit}
html.if-v3s body .ft .wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
html.if-v3s body .ft h2,html.if-v3s body .ft h3,html.if-v3s body .ft h4{color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:var(--display)!important;font-weight:400!important;font-size:1.1rem!important;margin:0 0 12px!important;text-shadow:none!important;letter-spacing:0!important;text-transform:none!important;line-height:1.2!important;background:none!important}
html.if-v3s body .ft a{color:#cbbda2!important;-webkit-text-fill-color:#cbbda2!important;font-weight:600!important;font-size:.9rem!important;display:inline-block;padding:5px 0;text-decoration:none!important;background:none!important;border:0!important;transition:color var(--t1)}
html.if-v3s body .ft a:hover{color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}
html.if-v3s body .ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px}
html.if-v3s body .ft-top ul,html.if-v3s body .ft-hubs ul{list-style:none!important;margin:0!important;padding:0!important}
html.if-v3s body .ft-top ul{display:grid;gap:6px}
html.if-v3s body .ft-top li,html.if-v3s body .ft-hubs li{margin:0!important;padding:0!important;list-style:none!important}
html.if-v3s body .fbrand{color:#fff!important;font-family:var(--display)!important;font-size:1.5rem!important;display:flex;align-items:center;gap:10px;margin-bottom:12px}
html.if-v3s body .fbrand img{width:44px!important;height:44px!important;border:0!important;background:none!important}
html.if-v3s body .fbrand b{color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important;font-weight:400!important}
html.if-v3s body .ft-desc{color:#b6a888!important;max-width:34ch;font-size:.92rem!important;margin:0!important}
html.if-v3s body .ft-soc{display:flex;gap:10px;margin-top:16px}
html.if-v3s body .ft-soc a{width:44px!important;height:44px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.18)!important;display:grid!important;place-items:center;font-weight:800!important;font-size:.82rem!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:0!important}
html.if-v3s body .ft-soc a:hover{border-color:var(--gold-on-dark)!important;color:var(--gold-on-dark)!important}
html.if-v3s body .ft-hubs{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
html.if-v3s body .ft-hubs ul{display:flex;flex-wrap:wrap;gap:6px 14px}
html.if-v3s body .ft-hubs a{font-size:.84rem!important}
html.if-v3s body .ft-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem!important;color:#94876f!important}
html.if-v3s body .ft-bottom span{color:#94876f!important;-webkit-text-fill-color:#94876f!important}

/* ---- WhatsApp support (ancre existante restylée) ---- */
html.if-v3s body .if-home-whatsapp-float{position:fixed!important;right:14px!important;left:auto!important;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;z-index:54!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;height:auto!important;min-height:48px!important;padding:0 16px!important;border-radius:var(--r-pill)!important;background:var(--gold-cta)!important;color:#241500!important;-webkit-text-fill-color:#241500!important;font-family:var(--body)!important;font-weight:800!important;font-size:.85rem!important;box-shadow:var(--sh-gold)!important;text-decoration:none!important;animation:none!important;transform:none!important;border:0!important}
html.if-v3s body .if-home-whatsapp-float::after{content:attr(data-label)}
html.if-v3s body .if-home-whatsapp-float__icon,html.if-v3s body .if-home-whatsapp-float svg{width:20px!important;height:20px!important;fill:currentColor!important;color:#241500!important;display:block!important;margin:0!important}
@media(min-width:901px){html.if-v3s body .if-home-whatsapp-float{right:24px!important;bottom:24px!important}}

/* ---- Boutons harmonisés (contenu existant) ---- */
html.if-v3s body .btn,html.if-v3s body .if-btn,html.if-v3s body .if-main-cta:not(.nav__cta),html.if-v3s body .if-primary,html.if-v3s body .if-secondary,html.if-v3s body .if-ghost,html.if-v3s body .if-secondary-cta{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:48px!important;padding:12px 26px!important;border-radius:var(--r-pill)!important;font-family:var(--body)!important;font-weight:800!important;font-size:1rem!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;text-shadow:none!important;line-height:1.2!important;transition:transform var(--t2),box-shadow var(--t2),border-color var(--t2),color var(--t2)}
html.if-v3s body .btn--primary,html.if-v3s body .if-main-cta:not(.nav__cta),html.if-v3s body .if-primary,html.if-v3s body .if-btn--primary,html.if-v3s body .btn.primary{background:var(--gold-cta)!important;color:#241500!important;-webkit-text-fill-color:#241500!important;border:0!important;box-shadow:var(--sh-gold)!important}
html.if-v3s body .btn--primary:hover,html.if-v3s body .if-main-cta:not(.nav__cta):hover,html.if-v3s body .if-primary:hover{transform:translateY(-2px)!important;box-shadow:0 24px 54px -16px rgba(245,166,35,.7)!important}
html.if-v3s body .btn--ghost,html.if-v3s body .if-secondary,html.if-v3s body .if-ghost,html.if-v3s body .if-secondary-cta,html.if-v3s body .btn.secondary,html.if-v3s body .if-btn.secondary{background:var(--surface)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;border:2px solid rgba(23,19,16,.14)!important;box-shadow:var(--sh-1)!important}
html.if-v3s body .btn--ghost:hover,html.if-v3s body .if-secondary:hover,html.if-v3s body .if-ghost:hover{border-color:var(--gold)!important;color:var(--gold-text)!important;-webkit-text-fill-color:var(--gold-text)!important}
/* bande infos finale : fond sombre d'origine restauré (texte clair) */
html.if-v3s body .ifu-infos{background:#120D08!important;color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .ifu-infos span,html.if-v3s body .ifu-infos b,html.if-v3s body .ifu-infos strong{color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .ifu-infos a{color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}

/* ---- Responsive header ---- */
@media(max-width:1100px){html.if-v3s body .ft-top{grid-template-columns:1.3fr 1fr 1fr}}
@media(max-width:900px){
  html.if-v3s body .nav.if-pro-nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(246,240,230,.98)!important}
  html.if-v3s body .nav.if-pro-nav .nav__links{position:absolute!important;top:100%!important;left:0!important;right:0!important;height:calc(100vh - 70px);height:calc(100dvh - 70px);background:var(--paper)!important;flex-direction:column!important;gap:4px!important;padding:18px 20px 120px!important;margin:0!important;display:none!important;overflow:auto!important;z-index:65!important;border-top:1px solid var(--line)!important}
  html.if-v3s body .nav.if-pro-nav .nav__links.open{display:flex!important}
  html.if-v3s body .nav.if-pro-nav .nav__links a{font-size:1.15rem!important;padding:14px 8px!important;border-bottom:1px solid var(--line)!important;min-height:48px!important;display:flex!important;align-items:center;width:100%!important}
  html.if-v3s body .nav.if-pro-nav .nav__links .mob-only{display:flex!important}
  html.if-v3s body .nav.if-pro-nav .nav__links .lang-row{display:flex!important;gap:8px;flex-wrap:wrap;border:0!important;padding-top:14px!important;width:100%!important}
  html.if-v3s body .nav.if-pro-nav .nav__links .lang-row a{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:56px;min-height:44px!important;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:var(--r-pill)!important;font-size:.9rem!important;background:var(--surface)!important}
  html.if-v3s body .nav.if-pro-nav .nav__links .lang-row a[aria-current]{background:var(--gold-cta)!important;border-color:transparent!important;color:#241500!important;-webkit-text-fill-color:#241500!important}
  html.if-v3s body .nav.if-pro-nav .nav__account,html.if-v3s body .nav.if-pro-nav .if-lang{display:none!important}
  html.if-v3s body .nav.if-pro-nav .nav__burger{display:flex!important}
  html.if-v3s body .ft-hubs{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  html.if-v3s body .nav.if-pro-nav .nav__in{width:calc(100% - 32px);gap:10px;min-height:64px}
  html.if-v3s body .nav.if-pro-nav .nav__links{height:calc(100vh - 64px);height:calc(100dvh - 64px)}
  html.if-v3s body .nav.if-pro-nav .nav__logo{font-size:1.15rem!important}
  html.if-v3s body .nav.if-pro-nav .nav__logo img{width:38px!important;height:38px!important}
  html.if-v3s body .nav.if-pro-nav .nav__cta{padding:0 14px!important}
  html.if-v3s body .ft-top,html.if-v3s body .ft-hubs{grid-template-columns:1fr}
  html.if-v3s body .if-home-whatsapp-float{width:52px!important;height:52px!important;min-height:0!important;padding:0!important;border-radius:50%!important}
  html.if-v3s body .if-home-whatsapp-float::after{content:none}
}
/* ---- RTL ---- */
html.if-v3s[dir=rtl] body .nav.if-pro-nav .if-nav-actions{margin-left:0!important;margin-right:auto!important}
html.if-v3s[dir=rtl] body .nav.if-pro-nav .nav__links{margin:0 8px 0 0!important}
html.if-v3s[dir=rtl] body .nav.if-pro-nav .if-lang__menu{right:auto!important;left:0!important}
html.if-v3s[dir=rtl] body .if-home-whatsapp-float{right:auto!important;left:14px!important}
@media(min-width:901px){html.if-v3s[dir=rtl] body .if-home-whatsapp-float{left:24px!important}}
html.if-v3s[dir=rtl] body .ft h2,html.if-v3s[dir=rtl] body .ft h3,html.if-v3s[dir=rtl] body .fbrand,html.if-v3s[dir=rtl] body .nav.if-pro-nav .nav__logo{font-family:'Bagel Fat One',"Noto Naskh Arabic","Segoe UI",Tahoma,Arial,sans-serif!important}

/* ---- Filet de contraste (défauts hérités constatés par audit sur 366 pages) ---- */
html.if-v3s body .if-video-card,html.if-v3s body .if-video-card__body,html.if-v3s body .if-video-card__body :is(h2,h3,p,span,small,time){color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .if-video-card__body .if-rythme-h2,html.if-v3s body .if-video-card__body h2{background:transparent!important;-webkit-background-clip:border-box!important}
html.if-v3s body .if-video-card__body a:not(.if-btn):not(.btn){color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}
html.if-v3s body .if-chill-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:18px!important;color:var(--ink)!important;box-shadow:var(--sh-1)}
html.if-v3s body .if-chill-card :is(h2,h3,p,span,li,small,strong,em){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:transparent!important}
html.if-v3s body .if-chill-card a:not(.btn):not(.if-btn){color:var(--gold-text)!important;-webkit-text-fill-color:var(--gold-text)!important}
html.if-v3s body .if-source-card,html.if-v3s body .if-source-card :is(em,strong,small,span){color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .info-card,html.if-v3s body .info-card :is(h3,p,span,li,strong,em){color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .info-card a strong{color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}
html.if-v3s body .info-card a:not(.btn):not(.if-btn){color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}
html.if-v3s body .if-orbite :is(.ifu-sub,.ifu-kicker-caveat,.ifu-h2,h2,p){color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .ifu-card :is(.ifu-card-cat,.ifu-card-nom,.ifu-card-prix,span){color:#F3E9D6!important;-webkit-text-fill-color:#F3E9D6!important}
html.if-v3s body .ifu-card .ifu-card-prix{color:var(--gold-on-dark)!important;-webkit-text-fill-color:var(--gold-on-dark)!important}
html.if-v3s body .ifa-faq details,html.if-v3s body section.ifa-faq details{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:14px!important}
html.if-v3s body .ifa-faq details :is(summary,p,li,span){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
html.if-v3s body .ifa-faq details a:not(.btn){color:var(--gold-text)!important;-webkit-text-fill-color:var(--gold-text)!important}
html.if-v3s body .if-proof-card.ifb-proof{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
html.if-v3s body .if-proof-card.ifb-proof :is(h2,h3,p,span,li,small,strong,em,div,label,legend){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:transparent!important}
html.if-v3s body .if-proof-card.ifb-proof a:not(.btn):not(.if-btn){color:var(--gold-text)!important;-webkit-text-fill-color:var(--gold-text)!important}
html.if-v3s body .breadcrumb,html.if-v3s body .breadcrumb a,html.if-v3s body .breadcrumb span{color:var(--ink-2)!important;-webkit-text-fill-color:var(--ink-2)!important}
html.if-v3s body table th,html.if-v3s body table td{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}
html.if-v3s body table th{background:var(--cream)!important}
html.if-v3s body .if-proof-card.ifb-proof :is(input,textarea,select){color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;background:var(--paper-2)!important;border:1px solid var(--line)!important}
html.if-v3s body .if-poster,html.if-v3s body .if-product-answer{overflow:hidden!important}
html.if-v3s body main{overflow-x:clip}

/* ===== V322 · dorée marque unifiée : wordmark, consentement, prompt PWA ===== */
html.if-v3s body .nav__logo span.b2.b2,html.if-v3s body .ft .b2.b2,html.if-v3s body .b2.b2.b2{color:#ffb100!important;-webkit-text-fill-color:#ffb100!important;background:none!important}
@supports(-webkit-background-clip:text){
html.if-v3s body .nav__logo span.b2.b2,html.if-v3s body .ft .b2.b2,html.if-v3s body .b2.b2.b2{background:linear-gradient(180deg,#ffd34d 0%,#ffb100 52%,#e69500 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:#e69500!important}
}
html.if-v3s body #if-consent{background:#171310!important;border:1px solid rgba(255,206,90,.30)!important;border-radius:18px!important;padding:16px!important;box-shadow:0 18px 55px rgba(0,0,0,.45)!important;backdrop-filter:none!important}
html.if-v3s body #if-consent h2{color:#FFCE5A!important;font-family:'Manrope',system-ui,sans-serif!important;font-weight:800!important;font-size:1.02rem!important;letter-spacing:0!important;margin:0 0 6px!important}
html.if-v3s body #if-consent p{color:rgba(246,240,230,.82)!important;font-size:.86rem!important;line-height:1.5!important;margin:0 0 12px!important}
html.if-v3s body #if-consent a{color:#FFCE5A!important}
html.if-v3s body #if-consent button{background:linear-gradient(160deg,#ffd34d 0%,#ffb100 55%,#e69500 100%)!important;color:#241500!important;border:0!important;border-radius:999px!important;min-height:44px!important;padding:10px 16px!important;font-weight:800!important;font-size:.9rem!important;box-shadow:0 12px 30px -14px rgba(245,166,35,.55)!important;flex:1 1 auto}
html.if-v3s body #if-consent button[data-kind=essential]{background:transparent!important;color:#F3E9D6!important;border:1px solid rgba(246,240,230,.28)!important;box-shadow:none!important}
@media(max-width:640px){
html.if-v3s body #if-consent{inset:auto 10px 10px!important;padding:14px!important}
html.if-v3s body #if-consent h2{font-size:.95rem!important}
html.if-v3s body #if-consent p{font-size:.82rem!important;margin-bottom:10px!important}
html.if-v3s body #if-consent button{min-height:42px!important;padding:9px 13px!important;font-size:.85rem!important}
}
html.if-v3s body .if-pwa-install{z-index:900!important;background:rgba(18,13,8,.96)!important;border:1px solid rgba(255,206,90,.30)!important;border-radius:20px!important;padding:12px 14px!important}
html.if-v3s body .if-pwa-install__title{color:#FFCE5A!important;font-size:.88rem!important}
html.if-v3s body .if-pwa-install__sub,html.if-v3s body .if-pwa-install__body div:not(.if-pwa-install__title){color:rgba(246,240,230,.78)!important;font-size:.78rem!important}
html.if-v3s body .if-pwa-install__cta{background:linear-gradient(160deg,#ffd34d 0%,#ffb100 55%,#e69500 100%)!important;color:#241500!important;border:0!important;border-radius:999px!important;min-height:40px!important;padding:9px 14px!important;font-weight:800!important;font-size:.82rem!important}
html.if-v3s body .if-pwa-install__icon{border-color:rgba(255,206,90,.35)!important}

/* ===== V331 · logo sans capsule (bordure/ombre legacy du tunnel neutralisées) ===== */
html.if-v3s body .nav.if-pro-nav .nav__logo,html.if-v3s body .nav.if-pro-nav .nav__logo:hover,html.if-v3s body .nav.if-pro-nav .nav__logo:focus{border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;outline-offset:4px}

/* ===== V331 · bandeau statut cuisine (créé par JS avec styles inline) : rebrand V3 ===== */
html body #if-store-status-live{background:#171310!important;color:#F3E9D6!important;border-top:1px solid rgba(255,206,90,.35)!important;box-shadow:0 -10px 30px rgba(0,0,0,.25)!important;font-family:'Manrope',system-ui,sans-serif!important;font-size:.86rem!important;line-height:1.45!important;padding:10px 44px calc(10px + env(safe-area-inset-bottom)) 16px!important;letter-spacing:0!important}
html body #if-store-status-live a{color:#FFCE5A!important}
html body #if-store-status-live button{color:#FFCE5A!important;background:none!important;border:0!important}
@media(max-width:640px){html body #if-store-status-live{font-size:.8rem!important;padding:9px 40px calc(9px + env(safe-area-inset-bottom)) 12px!important}}

/* V334 : liens de cartes encre + soulignement or ; eyebrows en pastille charbon/or */
html.if-v3s body .if-chill-card a:not(.btn):not(.if-btn),html.if-v3s body .ifa-faq details a:not(.btn),html.if-v3s body .if-proof-card.ifb-proof a:not(.btn):not(.if-btn),html.if-v3s body main .ifa-toc a,html.if-v3s body main .faq-item a:not(.btn):not(.if-btn),html.if-v3s body main .if-maillage-inline a{color:#171310!important;-webkit-text-fill-color:#171310!important;text-decoration:underline!important;text-decoration-color:#ffb100!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:700}
html.if-v3s body .if-chill-card a:not(.btn):not(.if-btn):hover,html.if-v3s body .ifa-faq details a:not(.btn):hover,html.if-v3s body .if-proof-card.ifb-proof a:not(.btn):not(.if-btn):hover,html.if-v3s body main .ifa-toc a:hover,html.if-v3s body main .faq-item a:hover,html.if-v3s body main .if-maillage-inline a:hover{color:#e69500!important;-webkit-text-fill-color:#e69500!important;text-decoration-color:#e69500!important}
html.if-v3s body .section__eyebrow,html.if-v3s body .eyebrow,html.if-v3s body .hero__badge,html.if-v3s body .page-hero__eyebrow,html.if-v3s body .ifa-eyebrow{display:inline-flex!important;align-items:center!important;gap:6px!important;background:#171310!important;color:#FFCE5A!important;-webkit-text-fill-color:#FFCE5A!important;border:1px solid rgba(255,206,90,.35)!important;border-radius:999px!important;padding:6px 14px!important;font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:800!important;line-height:1.2!important;box-shadow:none!important;text-shadow:none!important;width:auto!important}
html.if-v3s body main .ifg-nu>h3,html.if-v3s body main .ifa-toc>p{color:#171310!important;-webkit-text-fill-color:#171310!important}

/* V334b : emphases de titres, prix de cartes et étoiles en doré marque ; lien de maillage hérite de son contexte */
html.if-v3s body .section__title em,html.if-v3s body .section__title strong,html.if-v3s body .page-hero__title em,html.if-v3s body .page-hero__title strong,html.if-v3s body .hero__title em,html.if-v3s body .hero__title strong,html.if-v3s body .local-hero h1 em,html.if-v3s body main h2 em,html.if-v3s body main h1 em,html.if-v3s body .ifc-price span,html.if-v3s body .ifc-price i{color:#e69500!important;-webkit-text-fill-color:#e69500!important;font-style:normal}
@supports(-webkit-background-clip:text){html.if-v3s body .section__title em,html.if-v3s body .section__title strong,html.if-v3s body .page-hero__title em,html.if-v3s body .page-hero__title strong,html.if-v3s body .hero__title em,html.if-v3s body .hero__title strong,html.if-v3s body .local-hero h1 em,html.if-v3s body main h2 em,html.if-v3s body main h1 em,html.if-v3s body .ifc-price span,html.if-v3s body .ifc-price i{background:linear-gradient(180deg,#ffd34d 0%,#ffb100 52%,#e69500 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important}}
html.if-v3s body .ifx-stars{color:#ffb100!important;-webkit-text-fill-color:#ffb100!important}
html.if-v3s body .newsletter__consent a{color:#171310!important;-webkit-text-fill-color:#171310!important;text-decoration:underline!important;text-decoration-color:#ffb100!important;text-decoration-thickness:2px!important}
html.if-v3s body main .if-maillage-inline a{color:inherit!important;-webkit-text-fill-color:inherit!important}

/* if-foody-v1149410.css */
/* INSTAFOOD V11.49.400 : Foody, assistant support scripte. Palette fixe, AA verifie. */
:root{
--iff-ink:#171310;
--iff-cream:#fbf8f2;
--iff-white:#ffffff;
--iff-gold:#ffb100;
--iff-gold-grad:linear-gradient(160deg,#ffd34d 0%,#ffb100 52%,#e69500 100%);
--iff-line:#e4dccc;
--iff-muted:#5c534b;
--iff-ok:#1d7a3d;
--iff-off:#b3261e;
--iff-r:16px;
--iff-pill:999px;
--iff-sh:0 10px 30px rgba(23,19,16,.18);
--iff-sh-soft:0 4px 14px rgba(23,19,16,.10)
}
.iff-launcher,.iff-launcher *,.iff-panel,.iff-panel *{box-sizing:border-box}
/* Lanceur empile au dessus de la pastille WhatsApp, jamais a sa place. */
.iff-launcher{
position:fixed;
inset-inline-end:18px;
bottom:calc(18px + 64px + 12px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px));
z-index:2147483200;
width:56px;
height:56px;
display:grid;
place-items:center;
padding:0;
border:0;
border-radius:var(--iff-pill);
background:var(--iff-gold-grad);
color:var(--iff-ink);
box-shadow:var(--iff-sh);
cursor:pointer;
transition:transform .2s ease,box-shadow .2s ease
}
.iff-launcher:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(23,19,16,.26)}
.iff-launcher:focus-visible{outline:3px solid var(--iff-ink);outline-offset:3px}
.iff-launcher .iff-ico{width:30px;height:30px}
.iff-ico{display:block;fill:currentColor}
.iff-launcher .iff-ico path:nth-child(2){fill:var(--iff-gold)}
.iff-badge{
position:absolute;
top:-2px;
inset-inline-end:-2px;
min-width:20px;
height:20px;
padding:0 5px;
display:grid;
place-items:center;
border-radius:var(--iff-pill);
background:var(--iff-ink);
color:var(--iff-cream);
font-size:12px;
font-weight:700;
line-height:1
}
/* Coin deja occupe par une autre action flottante : Foody monte d'un cran. */
html:has(.wa-float) .iff-launcher{bottom:calc(18px + 64px + 12px + 48px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px))}
@media (min-width:901px){
html:has(.wa-float) .iff-launcher{bottom:calc(18px + 64px + 12px + 76px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px))}
}
/* Variante solo : Foody prend la place de la pastille, qui est masquee.
La seconde regle passe devant celle du gabarit v3 (meme poids, portee plus longue). */
html.if-foody-solo .if-home-whatsapp-float,html.if-foody-solo .wa-float{display:none!important}
html.if-foody-solo body .if-home-whatsapp-float,html.if-foody-solo body .wa-float{display:none!important}
html.if-foody-solo .iff-launcher{bottom:calc(18px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px))}
html.if-foody-solo .iff-panel{bottom:calc(18px + 56px + 12px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px))}
/* En solo, Foody prend le coin : le bouton de preferences de consentement passe du cote
oppose, comme le fait deja la feuille d actions globales sur le reste du site. */
html.if-foody-solo #if-consent-pref{left:auto!important;right:auto!important;inset-inline-start:14px!important;inset-inline-end:auto!important}
html[dir=rtl] .iff-launcher{inset-inline-end:14px}

/* Panneau */
.iff-panel{
position:fixed;
inset-inline-end:18px;
bottom:calc(18px + 64px + 12px + 56px + 12px + var(--if-global-bottom,0px) + var(--iff-stack,0px) + env(safe-area-inset-bottom,0px));
z-index:2147483210;
display:flex;
flex-direction:column;
width:380px;
max-width:calc(100vw - 24px);
height:min(70vh,640px);
overflow:hidden;
border:1px solid var(--iff-line);
border-radius:var(--iff-r);
background:var(--iff-cream);
color:var(--iff-ink);
box-shadow:var(--iff-sh);
font-family:inherit;
font-size:15px;
line-height:1.45
}
html[dir=rtl] .iff-panel{inset-inline-end:14px}
.iff-panel[hidden],.iff-badge[hidden]{display:none!important}
.iff-head{
display:grid;
grid-template-columns:1fr auto;
gap:6px 10px;
padding:12px 14px;
background:var(--iff-ink);
color:var(--iff-cream)
}
.iff-id{min-width:0}
.iff-name{margin:0;font-size:16px;font-weight:800;letter-spacing:.01em}
.iff-sub{margin:2px 0 0;font-size:13px;color:#e8e0d2}
.iff-head__actions{display:flex;align-items:flex-start;gap:6px}
.iff-wa,.iff-close{
width:48px;
height:48px;
display:grid;
place-items:center;
padding:0;
border:1px solid rgba(251,248,242,.28);
border-radius:var(--iff-pill);
background:transparent;
color:var(--iff-cream);
font-size:18px;
line-height:1;
cursor:pointer;
text-decoration:none
}
.iff-wa .iff-ico{width:22px;height:22px}
.iff-wa:hover,.iff-close:hover{background:rgba(251,248,242,.12)}
.iff-wa:focus-visible,.iff-close:focus-visible{outline:3px solid var(--iff-gold);outline-offset:2px}
.iff-state{
grid-column:1/-1;
display:flex;
align-items:center;
gap:8px;
margin:0;
font-size:13px;
color:#f2ead9
}
.iff-dot{width:10px;height:10px;border-radius:var(--iff-pill);background:#8d8579;flex:none}
.iff-dot[data-state=open]{background:#4ade80}
.iff-dot[data-state=closed]{background:#ff8a7a}
.iff-state__txt{min-width:0}

/* Fil de conversation */
.iff-log{
flex:1 1 auto;
overflow-y:auto;
overflow-x:hidden;
padding:14px;
display:flex;
flex-direction:column;
gap:10px;
overscroll-behavior:contain
}
.iff-msg{display:flex}
.iff-msg--bot{justify-content:flex-start}
.iff-msg--user{justify-content:flex-end}
.iff-bubble{
max-width:86%;
padding:10px 13px;
border-radius:var(--iff-r);
background:var(--iff-white);
border:1px solid var(--iff-line);
box-shadow:var(--iff-sh-soft);
overflow-wrap:break-word;
word-break:break-word
}
.iff-msg--user .iff-bubble{background:var(--iff-ink);color:var(--iff-cream);border-color:var(--iff-ink)}
.iff-a{color:#8a5a00;text-decoration:underline;text-underline-offset:2px}
.iff-a:hover{color:#6d4700}
.iff-actions{display:flex}
.iff-btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:0 18px;
border:1px solid var(--iff-ink);
border-radius:var(--iff-pill);
background:var(--iff-white);
color:var(--iff-ink);
font-size:15px;
font-weight:700;
text-decoration:none;
cursor:pointer
}
.iff-btn:hover{background:#f1e9da}
.iff-btn--main{background:var(--iff-gold-grad);border-color:#c98200;width:100%}
.iff-btn:focus-visible,.iff-chip:focus-visible{outline:3px solid var(--iff-ink);outline-offset:2px}

/* Suivi de commande */
.iff-track{
display:flex;
flex-direction:column;
gap:8px;
padding:12px;
border:1px solid var(--iff-line);
border-radius:var(--iff-r);
background:var(--iff-white)
}
.iff-track__intro{margin:0;font-size:14px;color:var(--iff-muted)}
.iff-field{display:flex;flex-direction:column;gap:4px;margin:0}
.iff-field__lab{font-size:13px;font-weight:700}
.iff-field__in,.iff-input{
min-height:48px;
padding:0 12px;
border:1px solid var(--iff-line);
border-radius:12px;
background:var(--iff-white);
color:var(--iff-ink);
font-family:inherit;
font-size:16px;
color-scheme:light
}
.iff-field__in:focus-visible,.iff-input:focus-visible{outline:3px solid var(--iff-gold);outline-offset:1px}
.iff-track__out{margin:0;font-size:14px}
.iff-track__out--err{color:#8f1d16;font-weight:700}
.iff-timeline{
padding:12px;
border:1px solid var(--iff-line);
border-radius:var(--iff-r);
background:var(--iff-white)
}
.iff-timeline__head{margin:0 0 8px;font-weight:800}
.iff-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.iff-step{display:flex;align-items:center;gap:8px;font-size:14px}
.iff-step::before{content:"";width:10px;height:10px;border-radius:var(--iff-pill);background:var(--iff-gold);flex:none}
.iff-step__time{color:var(--iff-muted)}
.iff-step--driver::before{background:var(--iff-ink)}

/* Puces de reponses rapides */
.iff-chips{
display:flex;
flex-wrap:wrap;
gap:8px;
padding:0 14px 10px;
max-height:170px;
overflow-y:auto
}
.iff-chip{
min-height:48px;
padding:0 14px;
border:1px solid var(--iff-line);
border-radius:var(--iff-pill);
background:var(--iff-white);
color:var(--iff-ink);
font-family:inherit;
font-size:15px;
font-weight:600;
cursor:pointer
}
.iff-chip:hover{background:#f1e9da;border-color:#c9bfa8}
.iff-chip--cart{border-color:#c98200;background:#fff6e0}

/* Saisie, consentement, pied */
.iff-form{display:flex;gap:8px;padding:0 14px}
.iff-input{flex:1 1 auto;min-width:0}
.iff-send{
width:48px;
height:48px;
flex:none;
display:grid;
place-items:center;
padding:0;
border:1px solid #c98200;
border-radius:12px;
background:var(--iff-gold-grad);
color:var(--iff-ink);
cursor:pointer
}
.iff-send .iff-ico{width:20px;height:20px}
.iff-send:focus-visible{outline:3px solid var(--iff-ink);outline-offset:2px}
.iff-consent,.iff-foot{margin:0;padding:8px 14px 0;font-size:12px;color:var(--iff-muted)}
.iff-foot{padding:2px 14px 12px;font-weight:700}

/* Plein ecran sur mobile */
@media (max-width:640px){
.iff-panel{
inset:0;
width:100%;
max-width:none;
height:100%;
border:0;
border-radius:0
}
html[dir=rtl] .iff-panel{inset:0}
html.iff-open,html.iff-open body{overflow:hidden}
.iff-bubble{max-width:92%}
/* Place laissee au bouton de preferences de consentement, toujours au dessus.
En solo il passe du cote depart, la reserve suit. */
.iff-consent,.iff-foot{padding-inline-end:64px}
html.if-foody-solo .iff-consent,html.if-foody-solo .iff-foot{padding-inline:64px 14px}
}
@media (prefers-reduced-motion:reduce){
.iff-launcher,.iff-launcher:hover{transition:none;transform:none}
.iff-panel{animation:none}
}

/* Bandeau operation FIRST 100 (#if100-bar) present : le bouton cookies et le lanceur montent au-dessus (hauteur mesuree 134px mobile, 72px bureau, plus marge). */
html:has(#if100-bar) #if-consent-pref{bottom:calc(14px + 152px + var(--if-store-banner-height,0px))!important}
@media (min-width:901px){
html:has(#if100-bar) #if-consent-pref{bottom:calc(14px + 96px + var(--if-store-banner-height,0px))!important}
}

/* ============ V11.49.410 : cartes produit et upsell du mode vendeur ============
Meme charte que le panneau : encre sur creme, or reserve aux actions principales.
Cibles tactiles 48 px, direction heritee du panneau (RTL sur /ar/). */
.iff-cards{display:flex;flex-direction:column;gap:10px}
.iff-card{
display:flex;
gap:10px;
padding:10px;
border:1px solid var(--iff-line);
border-radius:var(--iff-r);
background:var(--iff-white);
box-shadow:var(--iff-sh-soft)
}
.iff-card__img{
width:64px;
height:64px;
flex:none;
border-radius:12px;
object-fit:cover;
background:#f1e9da
}
.iff-card__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}
.iff-card__name{margin:0;font-size:15px;font-weight:800;line-height:1.25}
.iff-card__price{margin:0;font-size:15px;font-weight:800;color:#8a5a00}
.iff-card__desc{margin:0;font-size:13px;color:var(--iff-muted);overflow-wrap:break-word}
.iff-card__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.iff-cbtn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:0 16px;
border:1px solid var(--iff-ink);
border-radius:var(--iff-pill);
background:var(--iff-white);
color:var(--iff-ink);
font-family:inherit;
font-size:14px;
font-weight:700;
line-height:1.2;
text-align:center;
text-decoration:none;
cursor:pointer
}
.iff-cbtn:hover{background:#f1e9da}
.iff-cbtn--main{background:var(--iff-gold-grad);border-color:#c98200}
.iff-cbtn--main:hover{background:var(--iff-gold-grad);border-color:#a86d00}
.iff-cbtn:focus-visible{outline:3px solid var(--iff-ink);outline-offset:2px}
/* Puce d'entree du vendeur et puce d'acceptation d'upsell. */
.iff-chip--sell{border-color:#c98200;background:#fff6e0;font-weight:700}
.iff-chip--yes{border-color:#c98200;background:var(--iff-gold-grad);font-weight:800}
/* Les cartes rendent le fil plus haut : sans cette regle la rangee de puces, simple
element flexible, se fait ecraser par le fil et les puces sont coupees en deux.
Le fil garde la compression, il defile deja. Verifie en capture 1280 et 390. */
.iff-chips{flex:0 0 auto}
.iff-log{min-height:0}

/* if-a08b-v1149405.css */
/* if-a08b-v1149405.css : if-a08-v1149397.css sans le bloc de compaction des heros mobiles (reserve aux 9 pages validees) */
/* Instafood Rabat - correctif additif lot A08 (V397) - V11.49.397
   Regles ciblees par id/classe uniquement. Aucun !important global : les 2 usages ci-dessous
   contrent chacun un !important deja present dans un fichier existant, sur la meme propriete,
   sur le meme selecteur (voir RAPPORT_A08.md pour la preuve avant/apres).
   Ne modifie aucun asset existant. A charger APRES toutes les feuilles actuelles (nouveau <link>
   ou <style> en fin de <head>). Ne touche a aucun transform sur un element anime. */

/* ---------------------------------------------------------------------------
   Defaut 1 (mobile + bureau, /, /en/, /ar/, /es/) :
   #if100-bar (operation FIRST 100, if-first100-v11652.js) recouvre la pastille
   WhatsApp (.wa-float) et la barre #if27-orderbar. Cause : #if100-bar est place
   par script (fixedBottomH() ne regarde que #if-store-status-live, absent sur les
   accueils) pendant que .wa-float/#if27-orderbar restent a une distance fixe du bas
   definie par if-home-v3-v1149336.css. On ne touche pas au bandeau (pilote par script) :
   on remonte la pastille et la barre au-dessus de sa hauteur mesuree via --if-bottom-stack,
   qui s'additionne avec --if-store-banner-height (variable deja publiee par
   if-store-status-v11561.js) si les deux bandeaux venaient a cohabiter un jour. */
:root{
  --if-first100-safe-h: 152px; /* hauteur mesuree #if100-bar mobile 390 (134px) + marge */
  --if-bottom-stack: calc(var(--if-first100-safe-h, 0px) + var(--if-store-banner-height, 0px));
}
@media (min-width: 901px){
  :root{ --if-first100-safe-h: 96px; } /* hauteur mesuree #if100-bar bureau 1366 (72px) + marge */
}

#if27-orderbar{ bottom: calc(12px + var(--if-bottom-stack, 0px)); }
@media (min-width: 901px){
  #if27-orderbar{ bottom: calc(24px + var(--if-bottom-stack, 0px)); }
}
[dir="rtl"] #if27-orderbar{ bottom: calc(12px + var(--if-bottom-stack, 0px)); }

.wa-float{ bottom: calc(82px + var(--if-bottom-stack, 0px)); }
@media (max-width: 600px){
  .wa-float{ bottom: calc(86px + var(--if-bottom-stack, 0px)); }
}
@media (min-width: 901px){
  .wa-float{ bottom: calc(110px + var(--if-bottom-stack, 0px)); }
}
/* #if27-orderbar peut grandir a 2 lignes selon la langue (jusqu'a ~134px) : deja mesure
   au-dessus de la pastille meme apres le decalage precedent (chevauchement residuel
   independant de #if100-bar, present aussi hors operation FIRST 100). On ne la remonte
   que lorsque la barre est reellement affichee (.on), via :has(). */
body:has(#if27-orderbar.on) .wa-float{ bottom: calc(156px + var(--if-bottom-stack, 0px)); }
@media (min-width: 901px){
  body:has(#if27-orderbar.on) .wa-float{ bottom: calc(140px + var(--if-bottom-stack, 0px)); }
}

/* ---------------------------------------------------------------------------
   Defaut 2 (mobile + bureau, /commander/, /tacos-rabat/, /avis-clients/, /menu/,
   /en/tacos-rabat/) :
   #if-store-status-live (bandeau statut cuisine, bas d'ecran, z-index 2147481800)
   recouvre le bouton WhatsApp #ifGlobalWhatsapp (.if-home-whatsapp-float). Cause :
   if-v3-shell-v1149334.css impose a ce bouton, sur les pages html.if-v3s,
   z-index:54!important et bottom:calc(18px + safe-area)!important, sans consommer
   --if-store-banner-height (contrairement a .conversion-sticky qui, elle, le fait
   deja dans if-global-actions-v114726.css). Meme selecteur, memes proprietes :
   on ne fait que rejoindre la convention existante. Non anime dans ce contexte
   (if-v3-shell force deja animation:none/transform:none) : aucun transform ajoute ici. */
html.if-v3s body .if-home-whatsapp-float{
  z-index: 2147482000 !important;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--if-store-banner-height, 0px)) !important;
}



/* ---------------------------------------------------------------------------
   Defaut 4 (mobile + bureau, /tacos-rabat/, /avis-clients/, /menu/, /en/tacos-rabat/) :
   le header sticky (header#nav.if-pro-nav) ne reste pas colle en haut passe le premier
   ecran : il defile normalement et disparait. Cause verifiee : if-premium-2026.css
   pose html{overflow-x:clip} en plus du overflow-x deja gere sur body (if-core /
   premium-final / if-v3-shell) ; combiner un overflow non-visible sur html ET sur
   body casse position:sticky dans ce Chromium. body garde deja seul son propre
   confinement horizontal (verifie : aucun defilement horizontal reel avant/apres,
   window.scrollX reste 0 sur les 4 pages, aux deux largeurs). On rend seulement
   overflow-x de html a nouveau visible sur les gabarits concernes ; if-premium-2026.css
   n'est pas modifie. */
html.if-v3s{ overflow-x: visible; }

/* ---------------------------------------------------------------------------
   Defaut 6 (bureau et mobile, accueils, signale par le fondateur le 06/09) :
   le bouton de preferences cookies #if-consent-pref (bottom 14px, z 2147483645)
   recouvre le bouton "J'en profite" du bandeau #if100-bar. On remonte le bouton
   au-dessus du bandeau tant que celui-ci existe, avec la meme pile que la pastille. */
html:has(#if100-bar) #if-consent-pref{ bottom: calc(14px + var(--if-bottom-stack, 0px)); }
