/* ============================================================
   SUMO ; Édition limitée Leu Urban Trail des Éclairs 2026
   ------------------------------------------------------------
   Une page courte : on voit le produit, on comprend l'idée
   (la lumière), on commande. Deux couleurs seulement en plus du
   noir SUMO : l'or de la marque et la lueur phosphorescente.
   Préfixe « e ». Prolonge style.css, produits.css et site.css.
============================================================ */

.eclair-page { background: #0B0C0E; }

/* Apparitions (posées par edition-eclair.js) */
.er { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.er.is-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------
   1. HERO — jour, puis nuit
------------------------------------------------------------ */
.ehero {
  --fg: var(--ink); --fg-2: var(--ink-60); --fg-3: var(--ink-40);
  position: relative; overflow: hidden;
  min-height: 100vh; min-height: 100svh;
  padding: calc(var(--snav-h) + clamp(36px, 7vh, 80px)) var(--gut) clamp(50px, 8vh, 90px);
  display: grid; align-items: center;
  color: var(--fg);
  transition: color 1.4s var(--ease-inout);
}
/* le ciel : deux couches qui se croisent */
.ehero__sky, .ehero__sky::after {
  position: absolute; inset: 0; pointer-events: none;
  transition: opacity 1.6s var(--ease-inout);
}
.ehero__sky { background: radial-gradient(110% 90% at 70% 30%, #FFFFFF 0%, #F3F1EC 45%, #E3DFD6 100%); }
.ehero__sky::after {
  content: ""; opacity: 0;
  background:
    radial-gradient(60% 55% at 72% 46%, rgba(207,242,74,.13) 0%, transparent 60%),
    radial-gradient(120% 100% at 50% 0%, #15171b 0%, #0B0C0E 55%, #060607 100%);
}
.ehero.is-night { --fg: #fff; --fg-2: rgba(255,255,255,.62); --fg-3: rgba(255,255,255,.42); }
.ehero.is-night .ehero__sky::after { opacity: 1; }

.ehero__grid {
  position: relative; z-index: 2;
  width: 100%; max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(26px, 5vw, 80px); align-items: center;
}

.ehero__partner {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-2);
}
.ehero__duo { display: inline-flex; align-items: center; gap: 8px; }
.ehero__duo .ehero__sumo { width: auto; height: 50px; border-radius: 0; object-fit: contain; }
.ehero__duo i { font-style: normal; color: var(--fg-3); }
.ehero__duo img { width: 42px; height: 42px; border-radius: 10px; object-fit: cover; }
.ehero__eyebrow {
  margin-top: 26px; font-size: .74rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: #8BA51F; transition: color 1.4s var(--ease-inout), text-shadow 1s var(--ease);
}
.ehero.is-night .ehero__eyebrow { color: var(--lume); }

/* les éclairs passent derrière ces deux lignes : le « ciel » déborde
   au-dessus et sur les côtés pour que les éclairs aient de la place */
.ehero__lede { position: relative; }
.ehero__lede > :not(.bolt-sky) { position: relative; z-index: 2; }
.ehero__lede .bolt-sky { inset: -90px -30px -26px -40px; }
/* au passage d'un éclair, la ligne s'éclaire à peine */
.ehero__lede.is-strike .ehero__eyebrow { text-shadow: 0 0 16px rgba(207,242,74,.65); }

.ehero__title {
  margin-top: 16px;
  font-size: clamp(2.9rem, 7vw, 6.4rem); font-weight: 800; line-height: .98; letter-spacing: -0.045em;
}
.eline { display: block; overflow: hidden; padding-top: .08em; }
.eline > span { display: block; transform: translateY(105%); animation: eLine 1.1s var(--ease) forwards; }
.eline:nth-child(2) > span { animation-delay: .12s; }
@keyframes eLine { to { transform: none; } }
.ehero__title em {
  font-style: normal;
  transition: color 1.4s var(--ease-inout), text-shadow 1.4s var(--ease-inout);
}
.ehero.is-night .ehero__title em { color: var(--lume); text-shadow: 0 0 28px rgba(207,242,74,.45); }

.ehero__sub { margin-top: 24px; max-width: 40ch; font-size: clamp(1.02rem, 1.45vw, 1.24rem); line-height: 1.55; color: var(--fg-2); }

.ehero__buy { margin-top: 32px; display: flex; flex-direction: column; gap: 18px; }
/* prix barré animé (composant .sprice, site.css) : vert profond de
   jour, lueur de nuit */
.ehero__price {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-height: 2.4rem;
  --sp-size: 2.1rem; --sp-strike: #7f9e10; --sp-new: #5d7800; --sp-tag: var(--fg-2);
}
.ehero.is-night .ehero__price { --sp-strike: var(--lume); --sp-new: var(--lume); }
.ehero.is-night .ehero__price .sprice__new { text-shadow: 0 0 22px rgba(207,242,74,.35); }
.ehero__price b { font-size: 2rem; font-weight: 800; letter-spacing: -0.04em; }
.ehero__cta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ehero__btn { padding: 16px 34px; font-size: .98rem; }
.ehero__link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .95rem; color: var(--fg); }
.ehero__link svg { transition: transform .35s var(--ease); }
.ehero__link:hover svg { transform: translateX(4px); }

.ehero__count { margin-top: 34px; }
.ehero__count-label {
  margin-bottom: 10px; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--fg-3);
}
.ehero .cdown__u { background: rgba(17,17,17,.05); border-color: rgba(17,17,17,.1); transition: background 1.4s, border-color 1.4s; }
.ehero .cdown__u b { color: var(--fg); transition: color 1.4s; }
.ehero .cdown__u span { color: var(--fg-3); transition: color 1.4s; }
.ehero .cdown__u--s b { color: #6e8a00; }
.ehero.is-night .cdown__u { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.ehero.is-night .cdown__u--s b { color: var(--lume); }
.ehero__closed { font-size: .95rem; font-weight: 600; color: var(--fg-2); }

/* la pièce : jour et nuit superposés */
.ehero__stage { position: relative; margin: 0; display: grid; place-items: center; }
.ehero__halo {
  position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(207,242,74,.26) 0%, rgba(207,242,74,.06) 45%, transparent 70%);
  opacity: 0; transform: scale(.85);
  transition: opacity 1.6s var(--ease-inout), transform 1.6s var(--ease-inout);
}
.ehero.is-night .ehero__halo { opacity: 1; transform: scale(1); animation: eBreath 4.5s ease-in-out 1.6s infinite; }
@keyframes eBreath { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.06); opacity: .75; } }

.ehero__img {
  grid-area: 1 / 1; width: min(100%, 520px); height: auto;
  filter: drop-shadow(0 40px 60px rgba(0,0,0,.35));
  transition: opacity 1.6s var(--ease-inout);
  animation: eFloat 7s ease-in-out infinite;
}
.ehero__img--night { opacity: 0; filter: drop-shadow(0 0 30px rgba(207,242,74,.25)); }
.ehero.is-night .ehero__img--day { opacity: 0; }
.ehero.is-night .ehero__img--night { opacity: 1; }
@keyframes eFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* interrupteur Jour / Nuit */
.ehero__switch {
  position: relative; z-index: 3; margin-top: 18px;
  display: inline-grid; grid-template-columns: 1fr 1fr; align-items: center;
  width: 168px; height: 42px; padding: 4px; border-radius: 100px; cursor: pointer;
  border: 1px solid rgba(17,17,17,.12); background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  font-family: var(--font); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  transition: background 1.4s, border-color 1.4s;
}
.ehero__switch span:not(.ehero__switch-knob) { position: relative; z-index: 1; text-align: center; transition: color .6s var(--ease); }
.ehero__switch-day { color: var(--ink); }
.ehero__switch-night { color: var(--ink-40); }
.ehero__switch-knob {
  position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 100px;
  background: #fff; box-shadow: 0 4px 12px rgba(17,17,17,.15);
  transition: transform .7s var(--ease), background .7s var(--ease), box-shadow .7s;
}
.ehero.is-night .ehero__switch { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); }
.ehero.is-night .ehero__switch-knob { transform: translateX(100%); background: #14160f; box-shadow: 0 0 0 1px rgba(207,242,74,.5), 0 0 18px rgba(207,242,74,.35); }
.ehero.is-night .ehero__switch-day { color: rgba(255,255,255,.4); }
.ehero.is-night .ehero__switch-night { color: var(--lume); }
.ehero__switch:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(200,154,75,.5); }

.ehero__note { margin-top: 12px; font-size: .7rem; font-style: italic; color: var(--fg-3); }

/* ------------------------------------------------------------
   BARRE DE VENTE — jaune, 56 px. Collante sous la navigation ;
   reflet qui la traverse de temps en temps, chiffres qui roulent,
   mèche (en bas) qui se consume jusqu'à la clôture des commandes.
------------------------------------------------------------ */
/* Couleur : la lueur phosphorescente du mot « exploit. » (--lume).
   Elle suit l'interrupteur Jour / Nuit du hero (html[data-light],
   posé par edition-eclair.js) : de jour, un vert-jaune pâle, comme
   le pigment à la lumière ; de nuit, la lueur vive et son halo. */
.ebar {
  position: sticky; top: var(--snav-h); z-index: 60;
  overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #F4FAD6 0%, #E7F5AA 55%, #DAEC8C 100%);
  color: #1E2804;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.08);
  transition: transform .55s var(--ease), opacity .55s var(--ease), box-shadow 1.4s var(--ease-inout);
}
/* la couche « nuit », qui s'allume en fondu */
.ebar::before {
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: linear-gradient(180deg, #E0FA74 0%, #CFF24A 55%, #BCE233 100%);
  opacity: 0; transition: opacity 1.4s var(--ease-inout);
}
html[data-light="night"] .ebar::before { opacity: 1; }
html[data-light="night"] .ebar {
  color: #172000;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(0,0,0,.1), 0 0 28px rgba(207,242,74,.38);
}
.ebar.is-stuck { box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 16px 34px -18px rgba(0,0,0,.5); }
html[data-light="night"] .ebar.is-stuck { box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 0 30px rgba(207,242,74,.42), 0 16px 34px -18px rgba(0,0,0,.6); }
/* le formulaire est à l'écran : la barre s'efface, elle a fait son travail */
.ebar.is-away { transform: translateY(-105%); opacity: 0; pointer-events: none; }
.ebar.is-closed { display: none; }
/* le reflet, comme sur une surface laquée */
.ebar::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
  transform: translateX(-120%);
  animation: ebSheen 7s cubic-bezier(.6, 0, .25, 1) 1.5s infinite;
}
@keyframes ebSheen { 0% { transform: translateX(-120%); } 22%, 100% { transform: translateX(120%); } }

.ebar__inner {
  max-width: 1240px; height: 56px; margin: 0 auto; padding: 0 var(--gut);
  display: flex; align-items: center; gap: clamp(14px, 2.4vw, 34px);
}
.ebar p { margin: 0; }
.ebar__name { display: flex; align-items: center; gap: 10px; white-space: nowrap;
  font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ebar__name b { font-weight: 900; }
/* l'octogone SUMO, cerclage qui « brille » */
.ebar__name i {
  flex: none; width: 22px; height: 22px; clip-path: var(--oct); background: #141205; position: relative;
}
.ebar__name i::after {
  content: ""; position: absolute; inset: 5px; border-radius: 50%;
  border: 1.5px solid var(--lume); box-shadow: 0 0 6px rgba(207,242,74,.9);
  animation: ebRing 2.6s ease-in-out infinite;
}
@keyframes ebRing { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }

.ebar__time { display: flex; align-items: baseline; gap: 10px; white-space: nowrap; }
.ebar__k { font-size: .64rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; opacity: .62; }
.ebar__clock { display: inline-flex; align-items: baseline; gap: 8px; font-variant-numeric: tabular-nums; }
.ebar__u { display: inline-flex; align-items: baseline; gap: 2px; }
.ebar__u small { font-size: .62rem; font-weight: 700; opacity: .55; }
/* chaque nombre roule vers le haut quand il change */
.ebar__n {
  display: inline-grid; overflow: hidden; height: 1.12em; line-height: 1.12;
  font-size: 1.14rem; font-weight: 800; letter-spacing: -0.02em;
}
.ebar__d { grid-area: 1 / 1; }
.ebar__d.is-in { animation: ebIn .5s cubic-bezier(.2, .8, .2, 1) both; }
.ebar__d.is-out { animation: ebOut .5s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ebIn { from { transform: translateY(105%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ebOut { from { transform: none; opacity: 1; } to { transform: translateY(-105%); opacity: 0; } }

.ebar__price { display: flex; align-items: baseline; gap: 8px; margin-left: auto !important; white-space: nowrap; }
.ebar__price s { font-size: .84rem; font-weight: 600; opacity: .5; text-decoration-thickness: 1.5px; }
.ebar__price b { font-size: 1.14rem; font-weight: 900; letter-spacing: -0.02em; }
.ebar__price span { font-size: .7rem; font-weight: 600; opacity: .7; }

/* le bouton : la signature SUMO, noir et lettres capitales */
.ebar__cta {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 18px 0 20px; border-radius: 100px;
  background: #141205; color: var(--lume);
  font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  box-shadow: 0 8px 18px -10px rgba(0,0,0,.7);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.ebar__cta svg { transition: transform .3s var(--ease); }
.ebar__cta:hover { transform: translateY(-1px); box-shadow: 0 12px 22px -10px rgba(0,0,0,.75); }
.ebar__cta:hover svg { transform: translateX(3px); }
.ebar__cta:focus-visible { outline: 2px solid #141205; outline-offset: 3px; }

/* la mèche : le temps qui reste, qui se consume ; l'étincelle au bout */
.ebar__fuse { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(20,18,5,.12); }
.ebar__fuse i { position: absolute; left: 0; top: 0; bottom: 0; width: 100%; background: #141205; transition: width 1s linear; }
.ebar__fuse i::after {
  content: ""; position: absolute; right: -3px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%;
  background: #fff; box-shadow: 0 0 5px 2px rgba(255,255,255,.95), 0 0 12px 4px rgba(150,190,0,.6);
  animation: ebSpark 1.1s ease-in-out infinite;
}
@keyframes ebSpark { 0%, 100% { transform: scale(1); opacity: 1; } 40% { transform: scale(.6); opacity: .7; } 70% { transform: scale(1.2); opacity: 1; } }

@media (max-width: 900px) {
  .ebar__price span, .ebar__k { display: none; }
}
@media (max-width: 640px) {
  .ebar__inner { height: 52px; gap: 12px; }
  .ebar__name span { display: none; }
  .ebar__clock { gap: 6px; }
  .ebar__n { font-size: 1rem; }
  .ebar__cta { height: 34px; padding: 0 14px; letter-spacing: .12em; }
  .ebar__cta svg { display: none; }
}
@media (max-width: 400px) {
  .ebar__price s, .ebar__u--s { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ebar::after, .ebar__name i::after, .ebar__fuse i::after { animation: none; }
  .ebar__d.is-in, .ebar__d.is-out { animation: none; }
  .ebar, .ebar__fuse i { transition: none; }
}

/* ------------------------------------------------------------
   2. VIDÉO
------------------------------------------------------------ */
.evideo { background: #0B0C0E; padding: clamp(60px, 10vh, 110px) var(--gut) clamp(30px, 5vh, 60px); }
.evideo__slot { max-width: 1180px; margin: 0 auto; border-radius: 26px; border: 1px solid rgba(255,255,255,.08); }
/* vidéo verticale (téléphone) : centrée, sans être rognée */
.evideo__slot--vertical { max-width: min(100%, 380px); }

/* ------------------------------------------------------------
   3. LE PRODUIT
------------------------------------------------------------ */
.efeat { background: #0B0C0E; color: #fff; padding: clamp(50px, 9vh, 110px) var(--gut) clamp(70px, 12vh, 140px); }
.efeat__head { max-width: 1180px; margin: 0 auto clamp(36px, 6vh, 64px); }
.efeat__head .eyebrow { color: rgba(255,255,255,.5); margin-bottom: 18px; }
.efeat__title { font-size: clamp(2rem, 4.6vw, 3.8rem); font-weight: 800; line-height: 1.02; letter-spacing: -0.04em; }
.efeat__title span { color: var(--lume); }
.efeat__grid {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 70px); align-items: center;
}

/* comparateur jour / nuit */
.ecompare { position: relative; margin: 0; aspect-ratio: 1; border-radius: 28px; overflow: hidden; touch-action: pan-y; user-select: none; }
.ecompare__layer { position: absolute; inset: 0; display: grid; place-items: center; }
.ecompare__layer img { width: 78%; height: auto; pointer-events: none; }
.ecompare__layer--day { background: radial-gradient(100% 90% at 50% 20%, #FFFFFF, #E5E1D8); }
.ecompare__layer--night {
  background: radial-gradient(70% 60% at 50% 50%, rgba(207,242,74,.12), transparent 65%), #08090a;
  clip-path: inset(0 0 0 var(--cut, 50%));
}
.ecompare__layer--night img { filter: drop-shadow(0 0 26px rgba(207,242,74,.35)); }
.ecompare__tag {
  position: absolute; top: 18px; padding: 6px 12px; border-radius: 100px;
  font-size: .66rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.ecompare__tag--day { left: 18px; background: rgba(255,255,255,.85); color: var(--ink); }
.ecompare__tag--night { right: 18px; background: rgba(0,0,0,.55); color: var(--lume); }
.ecompare__handle {
  position: absolute; top: 0; bottom: 0; left: var(--cut, 50%); width: 2px; margin-left: -1px;
  background: var(--lume); box-shadow: 0 0 14px rgba(207,242,74,.8); cursor: ew-resize;
}
.ecompare__handle:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(200,154,75,.6); }
.ecompare__grip {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 46px; height: 46px; border-radius: 50%; background: #0B0C0E; border: 2px solid var(--lume);
  display: flex; align-items: center; justify-content: center; gap: 5px;
}
.ecompare__grip i { width: 2px; height: 14px; border-radius: 2px; background: var(--lume); }
.ecompare figcaption {
  position: absolute; left: 0; right: 0; bottom: 16px; text-align: center; pointer-events: none;
  font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55);
  mix-blend-mode: difference;
}

.efeat__list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.efeat__item {
  padding: 24px 22px 26px; border-radius: 22px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
}
.efeat__ic { display: block; width: 26px; height: 26px; clip-path: var(--oct); background: rgba(255,255,255,.14); position: relative; }
.efeat__ic::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; border: 1.5px solid var(--accent); }
.efeat__ic--glow { background: #12140c; }
.efeat__ic--glow::after { border-color: var(--lume); box-shadow: 0 0 10px var(--lume); }
.efeat__item h3 { margin-top: 18px; font-size: 1.04rem; font-weight: 700; letter-spacing: -0.01em; }
.efeat__item p { margin-top: 8px; font-size: .9rem; line-height: 1.55; color: rgba(255,255,255,.55); }
.efeat__list .er:nth-child(2) { transition-delay: .08s; }
.efeat__list .er:nth-child(3) { transition-delay: .16s; }
.efeat__list .er:nth-child(4) { transition-delay: .24s; }

/* ------------------------------------------------------------
   4. EN IMAGES
------------------------------------------------------------ */
.ephotos { background: var(--bg); padding: clamp(60px, 10vh, 120px) var(--gut); }
.ephotos__grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.8vw, 22px); }
.ephotos__grid .er:nth-child(2) { transition-delay: .1s; }
.ephotos__grid .er:nth-child(3) { transition-delay: .2s; }

/* ------------------------------------------------------------
   5. COMMANDE
------------------------------------------------------------ */
.ebuy {
  position: relative; background: #0B0C0E; color: #fff;
  padding: clamp(70px, 12vh, 140px) var(--gut);
}
.ebuy::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50% 45% at 25% 50%, rgba(207,242,74,.10), transparent 70%);
}
.ebuy__inner {
  position: relative; max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); align-items: center;
}
.ebuy__visual { margin: 0; display: grid; place-items: center; }
.ebuy__visual img { width: min(100%, 500px); height: auto; filter: drop-shadow(0 0 40px rgba(207,242,74,.22)); animation: eFloat 7s ease-in-out infinite; }
.ebuy__panel .eyebrow { margin-bottom: 16px; }
.ebuy__title { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; line-height: 1; letter-spacing: -0.04em; }
.ebuy__title span { color: var(--lume); }
.ebuy__title .ebuy__name { color: #fff; }   /* le nom du produit reste blanc */
.ebuy__lead { margin-top: 16px; max-width: 44ch; font-size: .98rem; line-height: 1.6; color: rgba(255,255,255,.58); }

.ebuy__form { margin-top: 28px; display: flex; flex-direction: column; gap: 18px; }
.ebuy__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ebuy__k { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.estep {
  display: inline-flex; align-items: center; border-radius: 100px;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05);
}
.estep__b {
  width: 46px; height: 44px; border: 0; background: none; cursor: pointer;
  font-size: 1.3rem; line-height: 1; color: #fff; border-radius: 100px;
  transition: background .25s var(--ease), color .25s var(--ease);
}
.estep__b:hover { background: rgba(255,255,255,.08); color: var(--lume); }
.estep__b:disabled { opacity: .3; cursor: default; background: none; color: #fff; }
.estep__v { min-width: 34px; text-align: center; font-weight: 800; font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.ebuy__field select { padding-top: 13px; padding-bottom: 13px; }

.ebuy__sum {
  padding: 18px 20px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035);
}
.ebuy__line { display: flex; justify-content: space-between; gap: 14px; padding: 6px 0; font-size: .93rem; color: rgba(255,255,255,.62); }
.ebuy__line.is-promo { color: var(--lume); }
.ebuy__line--total {
  margin-top: 6px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12);
  font-size: 1.14rem; font-weight: 700; color: #fff;
}
.ebuy__line--total span:last-child { color: var(--accent); }
.ebuy__pay { width: 100%; justify-content: center; padding: 17px 30px; font-size: 1rem; }
.ebuy__pay:disabled { opacity: .55; cursor: progress; }
.ebuy__note { font-size: .74rem; line-height: 1.6; letter-spacing: .04em; color: rgba(255,255,255,.4); text-align: center; }
.ebuy .order__consent { margin-top: 0; }
/* Formules (KACHI seul / DOHYO + KACHI), mêmes cartes que les autres
   commandes, à la couleur phosphorescente de l'édition */
.ebuy [hidden] { display: none !important; }
.ebuy__group { display: flex; flex-direction: column; gap: 10px; }
.ebuy__k em { font-style: normal; font-weight: 500; letter-spacing: .02em; text-transform: none; color: rgba(255,255,255,.4); }
.echoice { display: grid; gap: 10px; }
.echoice__opt { position: relative; display: block; cursor: pointer; }
.echoice__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.echoice__box { display: flex; flex-direction: column; gap: 5px; padding: 15px 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); transition: border-color .3s ease, background .3s ease; }
.echoice__opt:hover .echoice__box { border-color: rgba(255,255,255,.3); }
.echoice__opt input:checked + .echoice__box { border-color: var(--lume); background: rgba(207,242,74,.07); box-shadow: inset 0 0 0 1px var(--lume); }
.echoice__opt input:focus-visible + .echoice__box { outline: 2px solid var(--lume); outline-offset: 3px; }
.echoice__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.echoice__top b { font-size: 1rem; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
.echoice__top em { font-style: normal; font-size: 1rem; font-weight: 800; color: var(--lume); white-space: nowrap; }
.echoice__top s { margin-right: 7px; font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.38); }
.echoice__desc { font-size: .8rem; line-height: 1.45; color: rgba(255,255,255,.5); }
.ebuy .field__hint { color: rgba(255,255,255,.42); }
/* photo de l'ensemble (formule DOHYO + KACHI) : une vraie photo, pas un détourage */
.ebuy__visual img.is-photo { width: min(100%, 440px); border-radius: 22px; filter: none; box-shadow: 0 30px 60px rgba(0,0,0,.45); }
/* le formulaire s'allonge avec les plaquettes : la photo reste en haut, à l'écran */
@media (min-width: 901px) {
  .ebuy__visual { position: sticky; top: 110px; align-self: start; }
}
.ebuy__closed { margin-top: 26px; padding: 22px; border-radius: 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.ebuy__closed p { font-size: .98rem; line-height: 1.6; color: rgba(255,255,255,.7); }
.ebuy__closed b { color: #fff; }
.ebuy__closed-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.ebuy__closed .btn--ghost { color: #fff; border-color: rgba(255,255,255,.28); }

/* ------------------------------------------------------------
   6. LE PARTENARIAT
------------------------------------------------------------ */
.epart { background: var(--bg); padding: clamp(70px, 12vh, 130px) var(--gut); text-align: center; }
.epart__inner { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.epart__logos { display: flex; align-items: center; gap: 18px; color: var(--ink); }
.epart__logos .epart__sumo { width: auto; height: 64px; border-radius: 0; }
.epart__logos span { font-size: 1.2rem; color: var(--ink-40); }
.epart__logos img { width: 64px; height: 64px; border-radius: 14px; }
.epart__text { margin-top: 26px; font-size: clamp(1.25rem, 2.4vw, 1.8rem); font-weight: 600; line-height: 1.35; letter-spacing: -0.02em; }
.epart__text b { font-weight: 800; }
.epart__facts {
  list-style: none; padding: 0; margin: 34px 0 0; width: 100%;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.epart__facts li { display: flex; flex-direction: column; gap: 6px; padding-top: 16px; border-top: 1px solid var(--line); }
.epart__facts b { font-size: 1.3rem; font-weight: 800; letter-spacing: -0.03em; }
.epart__facts span { font-size: .82rem; line-height: 1.45; color: var(--ink-60); }
.epart__btn { margin-top: 34px; }

/* ------------------------------------------------------------
   7. QUESTIONS
------------------------------------------------------------ */
.efaq { background: var(--bg); padding: 0 var(--gut) clamp(80px, 13vh, 150px); }
.efaq__inner { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }

/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media (max-width: 900px) {
  .ehero__grid, .efeat__grid, .ebuy__inner { grid-template-columns: 1fr; }
  .ehero__stage { order: -1; }
  .ehero__img { width: min(78%, 380px); }
  .ehero { text-align: left; }
  .ebuy__visual img { width: min(70%, 340px); }
}
@media (max-width: 620px) {
  .efeat__list { grid-template-columns: 1fr; }
  .ephotos__grid { grid-template-columns: 1fr 1fr; }
  .ephotos__grid .slot:first-child { grid-column: 1 / -1; --ratio: 4 / 3 !important; aspect-ratio: 4 / 3; }
  .epart__facts { grid-template-columns: 1fr; }
  .cdown__u { min-width: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .er { opacity: 1; transform: none; transition: none; }
  .eline > span { animation: none; transform: none; }
  .ehero__img, .ebuy__visual img, .ehero.is-night .ehero__halo { animation: none; }
  .ehero, .ehero__sky, .ehero__sky::after, .ehero__img { transition: none; }
}
