/* ============================================================
   Vitatana — Alpha Drive
   Feuille de style principale
   Palette : vert profond, vert forêt, menthe, argent, chrome
   ============================================================ */

:root{
  /* Couleurs */
  --vt-abysse:#0b2e26;
  --vt-foret:#12483a;
  --vt-sapin:#1a6a4e;
  --vt-trefle:#2f8f6b;
  --vt-menthe:#9ae2c5;
  --vt-menthe-clair:#d6f4e7;
  --vt-brume:#eef8f3;
  --vt-argent:#c8d0d2;
  --vt-argent-fonce:#96a2a5;
  --vt-chrome:#f3f6f6;
  --vt-neige:#ffffff;
  --vt-encre:#0d1f1b;
  --vt-encre-douce:#41564f;

  /* Dégradés */
  --deg-chrome:linear-gradient(135deg,#ffffff 0%,#f3f6f6 38%,#c8d0d2 72%,#eef2f2 100%);
  --deg-menthe:linear-gradient(140deg,var(--vt-menthe) 0%,var(--vt-trefle) 100%);
  --deg-foret:linear-gradient(160deg,var(--vt-abysse) 0%,var(--vt-foret) 55%,var(--vt-sapin) 100%);
  --deg-liseré:linear-gradient(90deg,transparent,var(--vt-menthe),var(--vt-argent),transparent);

  /* Rayons */
  --r-xs:8px;
  --r-sm:14px;
  --r-md:22px;
  --r-lg:34px;
  --r-pill:999px;

  /* Ombres */
  --om-douce:0 2px 10px rgba(11,46,38,.06);
  --om-carte:0 14px 40px -18px rgba(11,46,38,.28);
  --om-forte:0 28px 70px -28px rgba(11,46,38,.45);
  --om-chrome:inset 0 1px 0 rgba(255,255,255,.75), 0 1px 2px rgba(11,46,38,.12);

  /* Espacements */
  --e-1:.5rem;
  --e-2:.9rem;
  --e-3:1.4rem;
  --e-4:2.2rem;
  --e-5:3.4rem;
  --e-6:5rem;
  --e-7:7.5rem;

  /* Typographie */
  --f-titre:"Trebuchet MS","Segoe UI",Candara,Optima,"Gill Sans",sans-serif;
  --f-texte:"Segoe UI",Corbel,Tahoma,Verdana,sans-serif;
  --f-util:"Consolas","Courier New",monospace;

  --largeur:1220px;
  --transition:.42s cubic-bezier(.22,.8,.26,1);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--f-texte);
  font-size:17px;
  line-height:1.72;
  color:var(--vt-encre-douce);
  background:var(--vt-neige);
  overflow-x:hidden;
}

img{max-width:100%;display:block;}

a{color:var(--vt-sapin);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--vt-abysse);}

h1,h2,h3,h4{
  font-family:var(--f-titre);
  color:var(--vt-abysse);
  line-height:1.14;
  letter-spacing:-.018em;
  margin:0 0 var(--e-2);
  font-weight:700;
}

h1{font-size:clamp(2.45rem,5.4vw,4.15rem);}
h2{font-size:clamp(1.85rem,3.5vw,2.85rem);}
h3{font-size:clamp(1.15rem,1.9vw,1.42rem);}
p{margin:0 0 var(--e-2);}

:focus-visible{
  outline:3px solid var(--vt-trefle);
  outline-offset:3px;
  border-radius:var(--r-xs);
}

/* ---------- Utilitaires ---------- */
.vt-enveloppe{
  width:100%;
  max-width:var(--largeur);
  margin-inline:auto;
  padding-inline:clamp(1.1rem,4vw,2.2rem);
}

.vt-bloc{padding-block:var(--e-7);}
.vt-bloc--serre{padding-block:var(--e-6);}

.vt-bloc--brume{background:var(--vt-brume);}
.vt-bloc--chrome{background:var(--deg-chrome);}
.vt-bloc--foret{background:var(--deg-foret);color:var(--vt-menthe-clair);}
.vt-bloc--foret h2,.vt-bloc--foret h3{color:var(--vt-neige);}

.vt-surtitre{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--f-util);
  font-size:.735rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--vt-sapin);
  margin-bottom:var(--e-2);
}
.vt-surtitre::before{
  content:"";
  width:34px;height:2px;
  background:var(--deg-menthe);
  border-radius:2px;
}
.vt-bloc--foret .vt-surtitre{color:var(--vt-menthe);}

.vt-intro{
  font-size:1.08rem;
  max-width:62ch;
  color:var(--vt-encre-douce);
}
.vt-bloc--foret .vt-intro{color:rgba(214,244,231,.85);}

.vt-entete-bloc{max-width:720px;margin-bottom:var(--e-5);}
.vt-entete-bloc--centre{margin-inline:auto;text-align:center;}
.vt-entete-bloc--centre .vt-surtitre::before{display:none;}

/* ---------- Boutons ---------- */
.vt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:1rem 2.1rem;
  border:0;
  border-radius:var(--r-pill);
  font-family:var(--f-texte);
  font-size:.97rem;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  text-align:center;
  transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition);
}
.vt-btn--principal{
  background:var(--deg-menthe);
  color:var(--vt-abysse);
  box-shadow:0 12px 30px -14px rgba(26,106,78,.75);
}
.vt-btn--principal:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 42px -16px rgba(26,106,78,.85);
  color:var(--vt-abysse);
}
.vt-btn--contour{
  background:transparent;
  color:var(--vt-abysse);
  box-shadow:inset 0 0 0 2px var(--vt-argent);
}
.vt-btn--contour:hover{
  box-shadow:inset 0 0 0 2px var(--vt-sapin);
  transform:translateY(-3px);
  color:var(--vt-abysse);
}
.vt-btn--clair{
  background:var(--vt-neige);
  color:var(--vt-abysse);
  box-shadow:var(--om-carte);
}
.vt-btn--clair:hover{transform:translateY(-3px);color:var(--vt-sapin);}
.vt-btn--large{width:100%;}

/* ---------- En-tête ---------- */
.vt-entete{
  position:fixed;
  inset:0 0 auto 0;
  z-index:900;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(200,208,210,.5);
  transition:box-shadow var(--transition),background var(--transition),padding var(--transition);
}
.vt-entete.est-fixe{
  box-shadow:0 8px 30px -18px rgba(11,46,38,.5);
  background:rgba(255,255,255,.94);
}
.vt-entete__interieur{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--e-3);
  min-height:76px;
}

.vt-logo{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-family:var(--f-titre);
  font-weight:700;
  font-size:1.2rem;
  letter-spacing:.02em;
  color:var(--vt-abysse);
}
.vt-logo__pastille{
  width:36px;height:36px;
  flex:0 0 36px;
  border-radius:12px;
  background:var(--deg-menthe);
  box-shadow:var(--om-chrome);
  display:grid;place-items:center;
  font-family:var(--f-util);
  font-size:.95rem;
  color:var(--vt-abysse);
}
.vt-logo__texte small{
  display:block;
  font-family:var(--f-util);
  font-size:.6rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--vt-argent-fonce);
  font-weight:400;
  line-height:1;
  margin-top:2px;
}

.vt-nav{display:flex;align-items:center;gap:var(--e-3);}
.vt-nav__liste{
  display:flex;
  align-items:center;
  gap:1.5rem;
  list-style:none;
  margin:0;padding:0;
}
.vt-nav__lien{
  position:relative;
  font-size:.93rem;
  font-weight:600;
  color:var(--vt-encre);
  padding-block:.35rem;
}
.vt-nav__lien::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:2px;
  background:var(--deg-menthe);
  border-radius:2px;
  transition:width var(--transition);
}
.vt-nav__lien:hover::after{width:100%;}

.vt-burger{
  display:none;
  width:46px;height:46px;
  border:0;
  border-radius:var(--r-sm);
  background:var(--vt-brume);
  cursor:pointer;
  padding:0;
  position:relative;
}
.vt-burger span{
  position:absolute;
  left:13px;
  width:20px;height:2px;
  background:var(--vt-abysse);
  border-radius:2px;
  transition:transform var(--transition),opacity var(--transition);
}
.vt-burger span:nth-child(1){top:17px;}
.vt-burger span:nth-child(2){top:22px;}
.vt-burger span:nth-child(3){top:27px;}
.vt-burger.est-ouvert span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.vt-burger.est-ouvert span:nth-child(2){opacity:0;}
.vt-burger.est-ouvert span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ---------- Héros ---------- */
.vt-heros{
  position:relative;
  min-height:min(92vh,860px);
  display:flex;
  align-items:center;
  padding-block:calc(76px + var(--e-6)) var(--e-6);
  overflow:hidden;
  isolation:isolate;
}
.vt-heros__fond{
  position:absolute;
  inset:0;
  z-index:-2;
}
.vt-heros__fond img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.vt-heros__voile{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(100deg,rgba(11,46,38,.93) 0%,rgba(18,72,58,.82) 45%,rgba(26,106,78,.42) 100%);
}
.vt-heros__grille{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:var(--e-5);
  align-items:center;
  width:100%;
}
.vt-heros__contenu{color:var(--vt-menthe-clair);max-width:640px;}
.vt-heros__contenu h1{color:var(--vt-neige);}
.vt-heros__contenu h1 em{
  font-style:normal;
  background:var(--deg-menthe);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.vt-heros__accroche{
  font-size:1.12rem;
  color:rgba(226,245,236,.86);
  max-width:52ch;
  margin-bottom:var(--e-4);
}
.vt-heros__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--e-2);
  margin-bottom:var(--e-4);
}
.vt-heros__reperes{
  display:flex;
  flex-wrap:wrap;
  gap:var(--e-3) var(--e-4);
  padding-top:var(--e-3);
  border-top:1px solid rgba(154,226,197,.28);
  list-style:none;
  margin:0;
}
.vt-heros__reperes li{
  font-family:var(--f-util);
  font-size:.74rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--vt-menthe);
}

.vt-heros__visuel{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.vt-heros__halo{
  position:absolute;
  width:min(78%,380px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(154,226,197,.42) 0%,rgba(154,226,197,0) 68%);
  filter:blur(6px);
  animation:vt-respire 7s ease-in-out infinite;
}
.vt-heros__flacon{
  position:relative;
  width:min(100%,330px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 34px 46px rgba(4,26,20,.6));
  animation:vt-flotte 6.5s ease-in-out infinite;
}

@keyframes vt-flotte{
  0%,100%{transform:translateY(0) rotate(-1.2deg);}
  50%{transform:translateY(-18px) rotate(1.2deg);}
}
@keyframes vt-respire{
  0%,100%{transform:scale(1);opacity:.8;}
  50%{transform:scale(1.13);opacity:1;}
}

/* ---------- Bandeau de repères ---------- */
.vt-bandeau{
  background:var(--vt-abysse);
  color:var(--vt-menthe-clair);
  padding-block:var(--e-3);
  border-block:1px solid rgba(154,226,197,.16);
}
.vt-bandeau__liste{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--e-3);
  list-style:none;
  margin:0;padding:0;
  text-align:center;
}
.vt-bandeau__liste li{
  font-family:var(--f-util);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vt-menthe);
  padding-inline:.4rem;
}

/* ---------- Grilles génériques ---------- */
.vt-duo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.vt-duo--inverse .vt-duo__media{order:2;}

.vt-duo__media{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--om-forte);
  aspect-ratio:4/3;
  background:var(--vt-brume);
}
.vt-duo__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 1.1s cubic-bezier(.22,.8,.26,1);
}
.vt-duo__media:hover img{transform:scale(1.045);}
.vt-duo__etiquette{
  position:absolute;
  left:var(--e-3);
  bottom:var(--e-3);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  padding:.55rem 1.1rem;
  border-radius:var(--r-pill);
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vt-abysse);
  box-shadow:var(--om-douce);
}

/* ---------- Cartes ---------- */
.vt-cartes{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:var(--e-3);
}
.vt-carte{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:var(--e-4);
  background:var(--vt-neige);
  border:1px solid rgba(200,208,210,.7);
  border-radius:var(--r-md);
  box-shadow:var(--om-douce);
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.vt-carte:hover{
  transform:translateY(-6px);
  box-shadow:var(--om-carte);
  border-color:var(--vt-menthe);
}
.vt-carte h3{margin-bottom:.5rem;}
.vt-carte p{margin-bottom:0;font-size:.97rem;}
.vt-carte__icone{
  width:52px;height:52px;
  flex:0 0 52px;
  display:grid;place-items:center;
  border-radius:16px;
  background:var(--vt-brume);
  color:var(--vt-sapin);
  margin-bottom:var(--e-2);
  box-shadow:var(--om-chrome);
}
.vt-carte__icone svg{width:24px;height:24px;}

.vt-bloc--foret .vt-carte{
  background:rgba(255,255,255,.05);
  border-color:rgba(154,226,197,.22);
  color:rgba(226,245,236,.84);
  box-shadow:none;
}
.vt-bloc--foret .vt-carte:hover{
  background:rgba(255,255,255,.09);
  border-color:var(--vt-menthe);
}
.vt-bloc--foret .vt-carte__icone{
  background:rgba(154,226,197,.14);
  color:var(--vt-menthe);
  box-shadow:none;
}

/* ---------- Composition (ingrédients) ---------- */
.vt-composition{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
  gap:var(--e-2);
}
.vt-composant{
  position:relative;
  padding:var(--e-3) var(--e-3) var(--e-3) calc(var(--e-3) + 14px);
  background:var(--vt-neige);
  border-radius:var(--r-sm);
  box-shadow:var(--om-douce);
  overflow:hidden;
  transition:transform var(--transition),box-shadow var(--transition);
}
.vt-composant::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:6px;
  background:var(--deg-menthe);
}
.vt-composant:hover{transform:translateX(5px);box-shadow:var(--om-carte);}
.vt-composant h3{font-size:1.05rem;margin-bottom:.3rem;}
.vt-composant p{font-size:.93rem;margin:0;}
.vt-composant__dose{
  display:block;
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--vt-argent-fonce);
  margin-top:.5rem;
}

/* ---------- Produit ---------- */
.vt-produit{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.vt-produit__scene{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1/1;
  border-radius:var(--r-lg);
  background:var(--deg-chrome);
  box-shadow:var(--om-forte);
  overflow:hidden;
}
.vt-produit__scene::after{
  content:"";
  position:absolute;
  inset:auto -20% -35% -20%;
  height:60%;
  background:radial-gradient(ellipse at center,rgba(154,226,197,.55),transparent 70%);
}
.vt-produit__image{
  position:relative;
  z-index:1;
  width:auto;
  max-width:62%;
  max-height:82%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 26px 34px rgba(11,46,38,.28));
}
.vt-produit__badge{
  position:absolute;
  top:var(--e-3);
  right:var(--e-3);
  z-index:2;
  background:var(--vt-abysse);
  color:var(--vt-menthe);
  padding:.5rem 1rem;
  border-radius:var(--r-pill);
  font-family:var(--f-util);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vt-produit__prix{
  display:flex;
  align-items:baseline;
  gap:.8rem;
  margin-block:var(--e-2) var(--e-3);
}
.vt-produit__montant{
  font-family:var(--f-titre);
  font-size:clamp(2.4rem,5vw,3.3rem);
  font-weight:700;
  color:var(--vt-abysse);
  line-height:1;
}
.vt-produit__mention{
  font-size:.9rem;
  color:var(--vt-argent-fonce);
}
.vt-produit__liste{
  list-style:none;
  margin:0 0 var(--e-3);
  padding:0;
  display:grid;
  gap:.6rem;
}
.vt-produit__liste li{
  position:relative;
  padding-left:1.9rem;
  font-size:.98rem;
}
.vt-produit__liste li::before{
  content:"";
  position:absolute;
  left:0;top:.55rem;
  width:12px;height:12px;
  border-radius:4px;
  background:var(--deg-menthe);
}
.vt-produit__actions{display:flex;flex-wrap:wrap;gap:var(--e-2);}

/* ---------- Routine ---------- */
.vt-routine{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:var(--e-3);
  counter-reset:etape;
}
.vt-routine__etape{
  position:relative;
  padding:var(--e-4) var(--e-3) var(--e-3);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(154,226,197,.22);
  border-radius:var(--r-md);
  transition:background var(--transition),border-color var(--transition),transform var(--transition);
}
.vt-routine__etape:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--vt-menthe);
  transform:translateY(-5px);
}
.vt-routine__etape::before{
  counter-increment:etape;
  content:counter(etape,decimal-leading-zero);
  position:absolute;
  top:var(--e-2);
  right:var(--e-3);
  font-family:var(--f-util);
  font-size:2rem;
  color:rgba(154,226,197,.28);
  line-height:1;
}
.vt-routine__heure{
  display:block;
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--vt-menthe);
  margin-bottom:.5rem;
}
.vt-routine__etape h3{font-size:1.1rem;}
.vt-routine__etape p{font-size:.95rem;margin:0;color:rgba(226,245,236,.8);}

/* ---------- FAQ ---------- */
.vt-faq{max-width:840px;margin-inline:auto;}
.vt-faq__element{
  border:1px solid rgba(200,208,210,.75);
  border-radius:var(--r-sm);
  background:var(--vt-neige);
  margin-bottom:.8rem;
  overflow:hidden;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.vt-faq__element.est-ouvert{
  border-color:var(--vt-menthe);
  box-shadow:var(--om-carte);
}
.vt-faq__question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--e-2);
  padding:1.15rem var(--e-3);
  background:transparent;
  border:0;
  font-family:var(--f-titre);
  font-size:1.03rem;
  font-weight:700;
  color:var(--vt-abysse);
  text-align:left;
  cursor:pointer;
  line-height:1.4;
}
.vt-faq__signe{
  position:relative;
  flex:0 0 26px;
  width:26px;height:26px;
  border-radius:50%;
  background:var(--vt-brume);
  transition:background var(--transition),transform var(--transition);
}
.vt-faq__signe::before,.vt-faq__signe::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:11px;height:2px;
  background:var(--vt-sapin);
  border-radius:2px;
  transform:translate(-50%,-50%);
  transition:transform var(--transition);
}
.vt-faq__signe::after{transform:translate(-50%,-50%) rotate(90deg);}
.vt-faq__element.est-ouvert .vt-faq__signe{background:var(--deg-menthe);transform:rotate(90deg);}
.vt-faq__element.est-ouvert .vt-faq__signe::after{transform:translate(-50%,-50%) rotate(0deg);}
.vt-faq__reponse{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s cubic-bezier(.22,.8,.26,1);
}
.vt-faq__reponse p{
  margin:0;
  padding:0 var(--e-3) var(--e-3);
  font-size:.97rem;
}

/* ---------- Formulaire ---------- */
.vt-commande{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,420px);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.vt-formulaire{
  padding:var(--e-4);
  background:var(--vt-neige);
  border-radius:var(--r-lg);
  box-shadow:var(--om-forte);
  border:1px solid rgba(200,208,210,.6);
}
.vt-formulaire__titre{
  font-family:var(--f-titre);
  font-size:1.32rem;
  color:var(--vt-abysse);
  margin:0 0 .3rem;
}
.vt-formulaire__note{
  font-size:.88rem;
  color:var(--vt-argent-fonce);
  margin-bottom:var(--e-3);
}
.vt-champ{margin-bottom:var(--e-3);}
.vt-champ label{
  display:block;
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--vt-abysse);
  margin-bottom:.45rem;
}
.vt-champ input{
  width:100%;
  padding:.95rem 1.05rem;
  font-family:var(--f-texte);
  font-size:1rem;
  color:var(--vt-encre);
  background:var(--vt-brume);
  border:1.5px solid transparent;
  border-radius:var(--r-sm);
  transition:border-color var(--transition),background var(--transition),box-shadow var(--transition);
}
.vt-champ input::placeholder{color:var(--vt-argent-fonce);}
.vt-champ input:focus{
  outline:none;
  background:var(--vt-neige);
  border-color:var(--vt-trefle);
  box-shadow:0 0 0 4px rgba(154,226,197,.35);
}
.vt-champ.est-invalide input{
  border-color:#c0563f;
  background:#fdf3f0;
}
.vt-champ__erreur{
  display:none;
  font-size:.82rem;
  color:#c0563f;
  margin-top:.4rem;
}
.vt-champ.est-invalide .vt-champ__erreur{display:block;}
.vt-formulaire__mention{
  font-size:.79rem;
  color:var(--vt-argent-fonce);
  margin:var(--e-2) 0 0;
  line-height:1.6;
}

.vt-commande__arguments{list-style:none;margin:var(--e-3) 0 0;padding:0;display:grid;gap:var(--e-2);}
.vt-commande__arguments li{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
  font-size:.97rem;
}
.vt-commande__puce{
  flex:0 0 34px;
  width:34px;height:34px;
  border-radius:11px;
  background:var(--vt-neige);
  color:var(--vt-sapin);
  display:grid;place-items:center;
  box-shadow:var(--om-chrome);
}
.vt-commande__puce svg{width:17px;height:17px;}

/* ---------- Contact ---------- */
.vt-contact{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--e-3);
}
.vt-contact__fiche{
  padding:var(--e-4);
  background:var(--vt-neige);
  border-radius:var(--r-md);
  border:1px solid rgba(200,208,210,.7);
  box-shadow:var(--om-douce);
  transition:transform var(--transition),box-shadow var(--transition);
}
.vt-contact__fiche:hover{transform:translateY(-5px);box-shadow:var(--om-carte);}
.vt-contact__intitule{
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--vt-argent-fonce);
  margin-bottom:.5rem;
  display:block;
}
.vt-contact__valeur{
  font-family:var(--f-titre);
  font-size:1.06rem;
  font-weight:700;
  color:var(--vt-abysse);
  font-style:normal;
  line-height:1.5;
}
.vt-contact__valeur a{color:var(--vt-abysse);}
.vt-contact__valeur a:hover{color:var(--vt-sapin);}

/* ---------- Avertissement ---------- */
.vt-avertissement{
  padding:var(--e-4);
  border-radius:var(--r-md);
  background:var(--vt-brume);
  border:1px dashed var(--vt-argent);
}
.vt-avertissement h3{font-size:1.05rem;}
.vt-avertissement p{font-size:.92rem;margin-bottom:0;}

/* ---------- Pied de page ---------- */
.vt-pied{
  background:var(--vt-abysse);
  color:rgba(214,244,231,.72);
  padding-block:var(--e-6) var(--e-3);
  font-size:.93rem;
}
.vt-pied a{color:rgba(214,244,231,.78);}
.vt-pied a:hover{color:var(--vt-menthe);}
.vt-pied__grille{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:var(--e-4);
  padding-bottom:var(--e-4);
}
.vt-pied__titre{
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--vt-menthe);
  margin-bottom:var(--e-2);
}
.vt-pied__liste{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.vt-pied .vt-logo{color:var(--vt-neige);margin-bottom:var(--e-2);}
.vt-pied .vt-logo__texte small{color:var(--vt-menthe);}
.vt-pied__resume{max-width:34ch;font-size:.9rem;}
.vt-pied__bas{
  display:flex;
  flex-wrap:wrap;
  gap:var(--e-2) var(--e-3);
  justify-content:space-between;
  align-items:center;
  padding-top:var(--e-3);
  border-top:1px solid rgba(154,226,197,.18);
  font-size:.84rem;
  color:rgba(214,244,231,.55);
}
.vt-pied__adresse{font-style:normal;}

/* ---------- Bannière cookies ---------- */
.vt-cookies{
  position:fixed;
  left:50%;
  bottom:20px;
  z-index:1000;
  width:min(960px,calc(100% - 2rem));
  transform:translate(-50%,140%);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--e-3);
  padding:var(--e-3) var(--e-4);
  background:var(--vt-neige);
  border:1px solid rgba(200,208,210,.8);
  border-radius:var(--r-md);
  box-shadow:var(--om-forte);
  transition:transform .6s cubic-bezier(.22,.8,.26,1);
}
.vt-cookies.est-visible{transform:translate(-50%,0);}
.vt-cookies__texte{flex:1 1 340px;font-size:.9rem;margin:0;}
.vt-cookies__actions{display:flex;flex-wrap:wrap;gap:.7rem;}
.vt-cookies__actions .vt-btn{padding:.7rem 1.4rem;font-size:.88rem;}

/* ---------- Retour en haut ---------- */
.vt-haut{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:800;
  width:50px;height:50px;
  border:0;
  border-radius:50%;
  background:var(--vt-abysse);
  color:var(--vt-menthe);
  cursor:pointer;
  display:grid;place-items:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  box-shadow:var(--om-carte);
  transition:opacity var(--transition),transform var(--transition),visibility var(--transition),background var(--transition);
}
.vt-haut.est-visible{opacity:1;visibility:visible;transform:translateY(0);}
.vt-haut:hover{background:var(--vt-sapin);}
.vt-haut svg{width:19px;height:19px;}

/* ---------- Animations au défilement ---------- */
.vt-apparait{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.26,1);
}
.vt-apparait.est-vu{opacity:1;transform:none;}

/* ---------- Pages secondaires ---------- */
.vt-page-entete{
  padding-block:calc(76px + var(--e-6)) var(--e-5);
  background:var(--deg-foret);
  color:var(--vt-menthe-clair);
}
.vt-page-entete h1{color:var(--vt-neige);max-width:20ch;}
.vt-page-entete .vt-intro{color:rgba(214,244,231,.82);}
.vt-fil{
  font-family:var(--f-util);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vt-menthe);
  margin-bottom:var(--e-2);
}
.vt-fil a{color:var(--vt-menthe);}

.vt-texte{max-width:820px;}
.vt-texte h2{margin-top:var(--e-4);font-size:clamp(1.4rem,2.6vw,1.85rem);}
.vt-texte h2:first-child{margin-top:0;}
.vt-texte h3{margin-top:var(--e-3);}
.vt-texte ul{padding-left:1.2rem;margin-bottom:var(--e-2);}
.vt-texte li{margin-bottom:.5rem;}
.vt-texte__maj{
  font-family:var(--f-util);
  font-size:.78rem;
  letter-spacing:.1em;
  color:var(--vt-argent-fonce);
  padding:.6rem 1rem;
  background:var(--vt-brume);
  border-radius:var(--r-xs);
  display:inline-block;
  margin-bottom:var(--e-4);
}

/* ---------- Habitudes ---------- */
.vt-habitudes__visuel{
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--om-forte);
  aspect-ratio:16/9;
  margin-bottom:var(--e-5);
  background:var(--vt-brume);
}
.vt-habitudes__visuel img{width:100%;height:100%;object-fit:cover;object-position:center;}

.vt-fiche{
  padding:clamp(1.6rem,4vw,3rem);
  border-radius:var(--r-lg);
  background:var(--deg-chrome);
  border:1px solid rgba(200,208,210,.8);
  box-shadow:var(--om-carte);
}
.vt-fiche__grille{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:var(--e-3);
  margin-top:var(--e-3);
}
.vt-fiche__item{
  padding:var(--e-3);
  background:rgba(255,255,255,.86);
  border-radius:var(--r-sm);
  box-shadow:var(--om-douce);
  transition:transform var(--transition),box-shadow var(--transition);
}
.vt-fiche__item:hover{transform:translateY(-4px);box-shadow:var(--om-carte);}
.vt-fiche__item h3{font-size:1.02rem;margin-bottom:.35rem;}
.vt-fiche__item p{font-size:.93rem;margin:0;}
.vt-fiche__index{
  font-family:var(--f-util);
  font-size:.7rem;
  letter-spacing:.16em;
  color:var(--vt-trefle);
  display:block;
  margin-bottom:.4rem;
}

/* ---------- Succès ---------- */
.vt-succes{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:calc(76px + var(--e-5)) 0 var(--e-5);
  background:var(--deg-foret);
  text-align:center;
}
.vt-succes__carte{
  max-width:620px;
  margin-inline:auto;
  padding:clamp(2rem,5vw,3.4rem);
  background:var(--vt-neige);
  border-radius:var(--r-lg);
  box-shadow:var(--om-forte);
}
.vt-succes__marque{
  width:82px;height:82px;
  margin:0 auto var(--e-3);
  border-radius:50%;
  background:var(--deg-menthe);
  display:grid;place-items:center;
  color:var(--vt-abysse);
  animation:vt-pulse 2.4s ease-in-out infinite;
}
.vt-succes__marque svg{width:34px;height:34px;}
@keyframes vt-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(154,226,197,.6);}
  60%{box-shadow:0 0 0 22px rgba(154,226,197,0);}
}
.vt-succes__rappels{
  list-style:none;
  margin:var(--e-3) 0;
  padding:var(--e-3);
  background:var(--vt-brume);
  border-radius:var(--r-sm);
  text-align:left;
  display:grid;
  gap:.6rem;
  font-size:.94rem;
}

/* ============================================================
   Adaptatif
   ============================================================ */

/* Tablette large */
@media (max-width:1080px){
  .vt-pied__grille{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-produit{grid-template-columns:1fr;}
  .vt-produit__scene{max-width:480px;margin-inline:auto;width:100%;}
  .vt-commande{grid-template-columns:1fr;}
  .vt-formulaire{max-width:520px;}
}

/* Tablette */
@media (max-width:900px){
  :root{--e-7:5rem;--e-6:3.8rem;}

  .vt-burger{display:block;}
  .vt-nav__liste{
    position:fixed;
    inset:76px 0 auto 0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:var(--e-2) clamp(1.1rem,4vw,2.2rem) var(--e-3);
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(200,208,210,.6);
    box-shadow:var(--om-carte);
    max-height:0;
    overflow:hidden;
    transition:max-height .45s cubic-bezier(.22,.8,.26,1);
  }
  .vt-nav__liste.est-deployee{max-height:70vh;overflow-y:auto;}
  .vt-nav__liste li{border-bottom:1px solid rgba(200,208,210,.45);}
  .vt-nav__liste li:last-child{border-bottom:0;}
  .vt-nav__lien{display:block;padding:.95rem 0;font-size:1rem;}
  .vt-nav__lien::after{display:none;}
  .vt-nav .vt-btn{display:none;}

  .vt-heros{min-height:auto;}
  .vt-heros__grille{grid-template-columns:1fr;gap:var(--e-4);}
  .vt-heros__visuel{order:-1;}
  .vt-heros__flacon{width:min(62%,250px);}
  .vt-heros__contenu{max-width:none;}

  .vt-duo{grid-template-columns:1fr;gap:var(--e-4);}
  .vt-duo--inverse .vt-duo__media{order:0;}
  .vt-duo__media{aspect-ratio:16/10;}

  .vt-bandeau__liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-2);}
}

/* Mobile */
@media (max-width:640px){
  :root{
    --e-7:3.8rem;
    --e-6:3rem;
    --e-5:2.4rem;
    --e-4:1.6rem;
  }
  body{font-size:16px;}

  .vt-heros__actions{flex-direction:column;align-items:stretch;}
  .vt-heros__actions .vt-btn{width:100%;}
  .vt-heros__reperes{gap:.7rem 1.4rem;}
  .vt-heros__flacon{width:min(70%,220px);}

  .vt-produit__actions{flex-direction:column;align-items:stretch;}
  .vt-produit__actions .vt-btn{width:100%;}
  .vt-produit__scene{aspect-ratio:4/5;}

  .vt-formulaire{padding:var(--e-3);}
  .vt-carte{padding:var(--e-3);}
  .vt-fiche{padding:var(--e-3);}

  .vt-cookies{
    left:10px;right:10px;bottom:10px;
    width:auto;
    transform:translate(0,160%);
    padding:var(--e-3);
  }
  .vt-cookies.est-visible{transform:translate(0,0);}
  .vt-cookies__actions{width:100%;}
  .vt-cookies__actions .vt-btn{flex:1 1 auto;}

  .vt-pied__grille{grid-template-columns:1fr;gap:var(--e-3);}
  .vt-pied__bas{flex-direction:column;align-items:flex-start;}

  .vt-haut{right:12px;bottom:78px;width:46px;height:46px;}

  .vt-habitudes__visuel{aspect-ratio:4/3;}
  .vt-duo__media{aspect-ratio:4/3;}
}

/* Très petits écrans */
@media (max-width:380px){
  .vt-bandeau__liste{grid-template-columns:1fr;}
  .vt-logo__texte{font-size:1.05rem;}
}

/* Mouvement réduit */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .vt-apparait{opacity:1;transform:none;}
}

/* Impression */
@media print{
  .vt-entete,.vt-cookies,.vt-haut,.vt-heros__fond,.vt-heros__voile{display:none !important;}
  body{color:#000;background:#fff;}
}
