/* ==========================================================================
   FLEURY LOKOSSOU — feuille de style unique
   Fond nuit unique, transitions par dégradés longs (pas de bordures nettes).
   Palette issue du logo : brun #7B4604 + or #E4A205.
   ========================================================================== */

:root{
  --nuit:#0A0907;
  --nuit-2:#12100B;
  --nuit-3:#1B1710;
  --or:#E4A205;
  --or-clair:#F3C95A;
  --or-profond:#B8860B;
  --brun:#7B4604;
  --creme:#F4EBDB;
  --creme-70:rgba(244,235,219,.70);
  --creme-45:rgba(244,235,219,.45);
  --parchemin:#F8F2E6;
  --parchemin-2:#EDE3D0;
  --encre:#221B10;
  --sang:#9B1C26;
  --vert:#2E7D5B;

  --trait:rgba(228,162,5,.20);
  --trait-fort:rgba(228,162,5,.42);

  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --page:1180px;
  --r:18px;
  --r-s:12px;
  --ombre:0 24px 60px -24px rgba(0,0,0,.85);
  --ombre-or:0 0 0 1px rgba(228,162,5,.16), 0 30px 70px -30px rgba(228,162,5,.28);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--nuit);
  color:var(--creme);
  font-family:var(--sans);
  font-weight:300;
  font-size:16.5px;
  line-height:1.72;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
/* filet : aucun mot long ne doit pouvoir élargir la page sur petit écran */
h1,h2,h3,h4,p,li,summary,td{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

/* halo d'or diffus, fixe : donne la profondeur sans bordures de section */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(120% 70% at 50% -12%, rgba(228,162,5,.13), transparent 62%),
    radial-gradient(80% 50% at 8% 42%, rgba(123,70,4,.16), transparent 70%),
    radial-gradient(70% 45% at 100% 88%, rgba(228,162,5,.07), transparent 70%);
}
/* grain fin */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
main,header,footer,.pop-preuve,.modale{position:relative;z-index:1}

/* ---------- typographie ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.45rem,6.4vw,4.3rem)}
h2{font-size:clamp(1.95rem,4.4vw,3rem)}
h3{font-size:clamp(1.35rem,2.6vw,1.85rem)}
p{margin:0 0 1.15em}
strong,b{font-weight:600;color:#fff}
em{font-style:italic}

.surtitre{
  font-family:var(--serif);text-transform:uppercase;letter-spacing:.34em;
  font-size:.76rem;font-weight:600;color:var(--or);margin:0 0 1.1rem;
  display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;
}
@media(max-width:420px){.surtitre{letter-spacing:.22em}}
.surtitre::before{content:"";width:26px;height:1px;background:var(--or);opacity:.7;flex:none}
.surtitre.centre{justify-content:center}
.surtitre.centre::after{content:"";width:26px;height:1px;background:var(--or);opacity:.7;flex:none}

.chapo{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--creme-70);max-width:62ch}
.mini{font-size:.83rem;color:var(--creme-45);line-height:1.6}
.or{color:var(--or-clair)}
.centre{text-align:center}
.centre .chapo{margin-inline:auto}

/* ---------- structure ---------- */
.page{width:min(100% - 2.4rem,var(--page));margin-inline:auto}
.page-etroite{width:min(100% - 2.4rem,780px);margin-inline:auto}
section{padding:clamp(4rem,9vw,7.5rem) 0}
section.serre{padding:clamp(2.6rem,5vw,4rem) 0}

/* losange, motif repris du logo */
.ornement{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto;padding:2.5rem 0}
.ornement::before,.ornement::after{content:"";height:1px;width:min(120px,18vw);background:linear-gradient(90deg,transparent,var(--trait-fort))}
.ornement::after{background:linear-gradient(90deg,var(--trait-fort),transparent)}
.ornement i{width:9px;height:9px;background:var(--or);transform:rotate(45deg);display:block;flex:none}

/* ---------- boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.02rem 2.1rem;border-radius:100px;border:0;cursor:pointer;
  font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.012em;
  text-align:center;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
  white-space:nowrap;flex:none;
}
.btn-or{
  background:linear-gradient(135deg,var(--or-clair),var(--or) 46%,var(--or-profond));
  color:#2A1B00;box-shadow:0 14px 34px -14px rgba(228,162,5,.75);
}
.btn-or:hover{transform:translateY(-2px);box-shadow:0 20px 44px -14px rgba(228,162,5,.9)}
.btn-fantome{background:transparent;color:var(--creme);box-shadow:inset 0 0 0 1px var(--trait-fort)}
.btn-fantome:hover{background:rgba(228,162,5,.09);transform:translateY(-2px)}
.btn-wa{background:#1FA855;color:#fff;box-shadow:0 14px 34px -16px rgba(31,168,85,.8)}
.btn-wa:hover{transform:translateY(-2px)}
.btn-large{width:100%;padding:1.15rem 1.5rem;font-size:1.02rem}
.btn-pulse{animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 14px 34px -14px rgba(228,162,5,.7)}50%{box-shadow:0 14px 44px -10px rgba(228,162,5,1)}}

/* ---------- en-tête ---------- */
.entete{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(10,9,7,.94),rgba(10,9,7,.72) 70%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.entete-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}
.marque{display:flex;align-items:center;gap:.72rem;flex:none}
.marque img{width:40px;height:40px;object-fit:contain}
.marque span{font-family:var(--serif);font-size:1.02rem;letter-spacing:.19em;text-transform:uppercase;font-weight:600;line-height:1.15}
.marque small{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.26em;color:var(--or);font-weight:400}
.nav{display:flex;align-items:center;gap:2rem;flex-wrap:nowrap}
.nav a:not(.btn){white-space:nowrap}
.nav a{font-size:.9rem;color:var(--creme-70);position:relative;padding:.3rem 0;transition:color .2s}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--or);transition:right .28s ease}
.nav a:hover,.nav a[aria-current]{color:var(--creme)}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer}
.burger span{display:block;width:24px;height:1.5px;background:var(--creme);margin:5px 0;transition:.28s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

@media(max-width:900px){
  .burger{display:block}
  .nav{
    position:fixed;inset:64px 0 auto;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(10,9,7,.985);backdrop-filter:blur(18px);padding:1rem 1.2rem 2rem;
    transform:translateY(-125%);transition:transform .34s cubic-bezier(.4,0,.2,1);
    border-bottom:1px solid var(--trait);max-height:calc(100vh - 64px);overflow:auto;
  }
  .nav[data-ouvert]{transform:translateY(0)}
  .nav a{padding:.95rem .2rem;font-size:1.02rem;border-bottom:1px solid rgba(244,235,219,.07)}
  .nav .btn{margin-top:1.1rem}
}

/* ---------- accueil : seuil ---------- */
.seuil{padding:clamp(3.4rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);text-align:center}
.seuil .sceau{width:96px;height:96px;margin:0 auto 1.6rem;object-fit:contain;
  filter:drop-shadow(0 0 34px rgba(228,162,5,.5))}
.seuil h1{margin-bottom:.35rem}
.seuil h1 .ligne2{display:block;font-style:italic;color:var(--or-clair);font-weight:600}
.seuil .chapo{margin:1.4rem auto 2.2rem}
.seuil-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.credit-tv{
  display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:.6rem;margin-top:2.6rem;max-width:100%;text-align:center;
  font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--creme-45);
}
.credit-tv::before{content:"";width:6px;height:6px;background:var(--or);transform:rotate(45deg);flex:none}
@media(max-width:420px){.credit-tv{letter-spacing:.08em;font-size:.72rem}}

/* deux portes */
.portes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.4vw,1.9rem)}
@media(max-width:820px){.portes{grid-template-columns:1fr}}
.porte{
  position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(1.9rem,3.4vw,3rem);
  min-height:clamp(300px,42vw,400px);display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(160deg,rgba(27,23,16,.9),rgba(10,9,7,.94));
  box-shadow:inset 0 0 0 1px var(--trait);transition:box-shadow .35s ease,transform .35s ease;
}
.porte:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--trait-fort),var(--ombre-or)}
.porte-fond{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.30;transition:opacity .5s ease,transform .8s ease}
.porte:hover .porte-fond{opacity:.42;transform:scale(1.05)}
.porte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,7,.28) 8%,rgba(10,9,7,.92) 78%)}
.porte>*{position:relative;z-index:2}
.porte h2{margin-bottom:.4rem}
.porte p{color:var(--creme-70);margin-bottom:1.3rem;font-size:.96rem}
.porte .fleche{display:inline-flex;align-items:center;gap:.6rem;color:var(--or);font-weight:500;font-size:.92rem}
.porte .fleche svg{transition:transform .28s ease}
.porte:hover .fleche svg{transform:translateX(6px)}

/* ---------- grille produits ---------- */
.grille{display:grid;gap:clamp(1.1rem,2.2vw,1.7rem)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.g-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.g-3,.g-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}

.carte{
  position:relative;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(170deg,rgba(27,23,16,.72),rgba(18,16,11,.9));
  box-shadow:inset 0 0 0 1px var(--trait);
  transition:transform .3s ease,box-shadow .3s ease;
}
.carte:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px var(--trait-fort),var(--ombre-or)}
.carte-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--nuit-2)}
.carte-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.carte:hover .carte-img img{transform:scale(1.045)}
/* tuile claire pour les couvertures numériques sur fond blanc :
   volontairement très proche du blanc, sinon le fond blanc des couvertures
   dessine un rectangle visible au milieu de la tuile. */
.carte-img.parchemin{background:linear-gradient(160deg,#FDFBF7,#F1EBDE)}
.carte-img.parchemin img{object-fit:contain;padding:6%}
.carte-corps{padding:1.25rem 1.3rem 1.45rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.carte h3{font-size:1.2rem;margin:0;line-height:1.25}
.carte .genre{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);font-weight:500}
.carte .resume{font-size:.89rem;color:var(--creme-70);margin:0;flex:1}
.carte-prix{display:flex;align-items:baseline;gap:.6rem;margin-top:.35rem}
.prix{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--creme)}
.prix-barre{font-size:.9rem;color:var(--creme-45);text-decoration:line-through}
.remise{
  font-size:.7rem;font-weight:600;letter-spacing:.06em;background:rgba(228,162,5,.16);
  color:var(--or-clair);padding:.2rem .55rem;border-radius:100px;
}
.carte-lien{position:absolute;inset:0;z-index:3}
.etiquette{
  position:absolute;top:.85rem;left:.85rem;z-index:2;
  background:rgba(10,9,7,.82);backdrop-filter:blur(8px);
  color:var(--or-clair);font-size:.66rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;padding:.4rem .75rem;border-radius:100px;
  box-shadow:inset 0 0 0 1px var(--trait-fort);
}

/* ---------- fiche de vente ---------- */
.vente-tete{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.6rem);align-items:center}
@media(max-width:900px){.vente-tete{grid-template-columns:1fr;gap:2rem}}
.galerie-principale{
  position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--trait),var(--ombre);background:var(--nuit-2);
}
.galerie-principale img{width:100%;height:100%;object-fit:cover}
.galerie-principale.parchemin{background:linear-gradient(160deg,#FDFBF7,#F1EBDE)}
.galerie-principale.parchemin img{object-fit:contain;padding:5%}
.vignettes{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}
.vignettes button{
  width:70px;height:70px;border-radius:10px;overflow:hidden;padding:0;cursor:pointer;
  background:var(--nuit-2);border:0;box-shadow:inset 0 0 0 1px var(--trait);transition:box-shadow .2s,opacity .2s;opacity:.6;
}
.vignettes button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--or);opacity:1}
.vignettes img{width:100%;height:100%;object-fit:cover}

.bloc-prix{display:flex;align-items:baseline;gap:.85rem;flex-wrap:wrap;margin:.4rem 0 1.1rem}
.bloc-prix .prix{font-size:clamp(2.1rem,5vw,2.9rem)}
.confiance{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.62rem}
.confiance li{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--creme-70)}
.confiance li svg{flex:none;margin-top:.28rem;color:var(--or)}

.compte-a-rebours{
  display:flex;align-items:center;gap:.65rem;margin:1.15rem 0 0;padding:.72rem 1rem;
  border-radius:var(--r-s);background:rgba(155,28,38,.13);
  box-shadow:inset 0 0 0 1px rgba(155,28,38,.4);font-size:.87rem;color:#F0C9CC;
}
.compte-a-rebours b{color:#fff;font-variant-numeric:tabular-nums;font-weight:600}

/* corps rédactionnel */
.recit{max-width:70ch;margin-inline:auto}
.recit p{color:var(--creme-70)}
.recit h2,.recit h3{color:var(--creme);margin-top:2.2rem}
.recit ul,.recit ol{padding-left:1.15rem;margin:0 0 1.2rem;color:var(--creme-70)}
.recit li{margin-bottom:.55rem}
.recit blockquote{
  margin:2rem 0;padding:1.4rem 1.6rem;border-radius:var(--r-s);
  background:rgba(228,162,5,.07);box-shadow:inset 0 0 0 1px var(--trait);
  font-family:var(--serif);font-size:1.25rem;font-style:italic;color:var(--creme);
}
.recit blockquote p:last-child{margin:0}

.encart{
  border-radius:var(--r);padding:clamp(1.5rem,3vw,2.3rem);
  background:linear-gradient(165deg,rgba(27,23,16,.85),rgba(18,16,11,.92));
  box-shadow:inset 0 0 0 1px var(--trait);
}
.encart.or{background:linear-gradient(165deg,rgba(228,162,5,.13),rgba(123,70,4,.10));box-shadow:inset 0 0 0 1px var(--trait-fort)}

/* rituel matin / soir */
.rituel-bascule{display:flex;gap:.5rem;padding:.32rem;border-radius:100px;background:rgba(10,9,7,.6);
  box-shadow:inset 0 0 0 1px var(--trait);width:max-content;margin:0 auto 2rem}
.rituel-bascule button{
  border:0;background:transparent;padding:.68rem 1.5rem;border-radius:100px;cursor:pointer;
  font-size:.9rem;font-weight:500;color:var(--creme-70);transition:.26s;display:flex;align-items:center;gap:.5rem;
}
.rituel-bascule button[aria-pressed="true"]{background:linear-gradient(135deg,var(--or-clair),var(--or));color:#2A1B00;font-weight:600}
.rituel-volet[hidden]{display:none}

/* étapes */
.etapes{list-style:none;counter-reset:e;padding:0;margin:0;display:grid;gap:1.1rem}
.etapes li{
  counter-increment:e;position:relative;padding:1.25rem 1.4rem 1.25rem 4.2rem;border-radius:var(--r-s);
  background:rgba(27,23,16,.55);box-shadow:inset 0 0 0 1px var(--trait);
}
.etapes li::before{
  content:counter(e);position:absolute;left:1.3rem;top:1.15rem;
  font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--or);line-height:1;
}
.etapes h4{margin:0 0 .25rem;font-size:1.08rem;font-family:var(--sans);font-weight:600}
.etapes p{margin:0;font-size:.9rem;color:var(--creme-70)}

/* bénéfices */
.benefices{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.benefices li{display:flex;gap:.85rem;align-items:flex-start;font-size:.98rem}
.benefices li .puce{
  flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;margin-top:.1rem;
  background:rgba(228,162,5,.16);color:var(--or-clair);font-size:.8rem;
}

/* auteur */
.auteur{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start}
@media(max-width:640px){.auteur{grid-template-columns:1fr;text-align:center;justify-items:center}}
.auteur-portrait{
  width:clamp(120px,20vw,168px);aspect-ratio:1;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 1px var(--trait-fort),0 0 44px -10px rgba(228,162,5,.5);background:var(--nuit-2);
}
.auteur-sceau{width:clamp(120px,20vw,168px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(228,162,5,.22),rgba(10,9,7,.9));
  box-shadow:0 0 0 1px var(--trait-fort),0 0 44px -10px rgba(228,162,5,.45)}
.auteur-sceau img{width:52%}

/* FAQ */
.faq{display:grid;gap:.75rem}
.faq details{
  border-radius:var(--r-s);background:rgba(27,23,16,.55);box-shadow:inset 0 0 0 1px var(--trait);
  padding:0 1.35rem;overflow:hidden;
}
.faq summary{
  cursor:pointer;list-style:none;padding:1.15rem 2rem 1.15rem 0;position:relative;
  font-weight:500;font-size:1rem;color:var(--creme);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:.1rem;top:50%;transform:translateY(-50%);
  color:var(--or);font-size:1.4rem;font-weight:300;transition:transform .25s;
}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq p{margin:0 0 1.2rem;font-size:.93rem;color:var(--creme-70)}

/* barre CTA collante */
.barre-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:55;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background:linear-gradient(0deg,rgba(10,9,7,.985),rgba(10,9,7,.86));
  backdrop-filter:blur(14px);border-top:1px solid var(--trait);
  display:flex;align-items:center;gap:1rem;justify-content:space-between;
  transform:translateY(115%);transition:transform .34s cubic-bezier(.4,0,.2,1);
}
.barre-cta[data-visible]{transform:translateY(0)}
.barre-cta .b-info{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.barre-cta .b-info strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barre-cta .b-info span{font-size:.8rem;color:var(--creme-45)}
.barre-cta .btn{flex:none;padding:.85rem 1.6rem}
@media(max-width:520px){.barre-cta .b-info strong{max-width:42vw}}

/* ---------- modale de commande ---------- */
.modale{
  position:fixed;inset:0;z-index:80;display:none;place-items:center;padding:1.1rem;
  background:rgba(4,3,2,.8);backdrop-filter:blur(6px);
}
.modale[data-ouvert]{display:grid}
.modale-boite{
  width:min(100%,540px);max-height:92vh;overflow:auto;border-radius:var(--r);
  background:linear-gradient(170deg,#16130D,#0C0B08);
  box-shadow:inset 0 0 0 1px var(--trait-fort),0 40px 90px -30px #000;
  padding:clamp(1.4rem,3.4vw,2.2rem);
}
.modale-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.3rem}
.modale-tete h3{margin:0}
.fermer{background:none;border:0;cursor:pointer;color:var(--creme-45);font-size:1.7rem;line-height:1;padding:.1rem .3rem}
.fermer:hover{color:var(--creme)}

.champ{display:block;margin-bottom:1rem}
.champ span{display:block;font-size:.82rem;color:var(--creme-70);margin-bottom:.4rem;font-weight:400}
.champ input,.champ select,.champ textarea{
  width:100%;padding:.86rem 1rem;border-radius:var(--r-s);border:0;font:inherit;font-size:.95rem;
  background:rgba(255,255,255,.045);color:var(--creme);box-shadow:inset 0 0 0 1px var(--trait);
  transition:box-shadow .2s;
}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--or)}
.champ input::placeholder,.champ textarea::placeholder{color:rgba(244,235,219,.3)}
.champ select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E4A205' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.champ select option{background:#14120C;color:var(--creme)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
@media(max-width:460px){.duo{grid-template-columns:1fr}}
.recap{
  border-radius:var(--r-s);padding:.95rem 1.1rem;margin-bottom:1.2rem;
  background:rgba(228,162,5,.09);box-shadow:inset 0 0 0 1px var(--trait);font-size:.9rem;
}
.recap-ligne{display:flex;justify-content:space-between;gap:1rem;padding:.22rem 0}
.recap-ligne b{color:var(--or-clair)}
.qte{display:flex;align-items:center;gap:.75rem}
.qte button{
  width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.06);
  color:var(--creme);font-size:1.15rem;box-shadow:inset 0 0 0 1px var(--trait);transition:.2s;
}
.qte button:hover{background:rgba(228,162,5,.18)}
.qte output{font-family:var(--serif);font-size:1.35rem;font-weight:700;min-width:2ch;text-align:center}

/* ---------- preuve sociale ---------- */
.pop-preuve{
  position:fixed;z-index:58;left:1rem;bottom:1.2rem;width:min(330px,calc(100vw - 2rem));
  background:#fff;color:#1B1710;border-radius:14px;padding:.8rem .95rem;
  box-shadow:0 20px 46px -16px rgba(0,0,0,.6);display:flex;gap:.75rem;align-items:center;
  opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s ease;pointer-events:none;
}
.pop-preuve[data-visible]{opacity:1;transform:translateY(0)}
.pop-preuve img{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:none;background:#EDE3D0}
.pop-preuve .t{font-size:.82rem;line-height:1.4;min-width:0}
.pop-preuve .t b{color:#0A0907;font-weight:600}
.pop-preuve .t span{display:block;font-size:.72rem;color:#6B6257;margin-top:.12rem}
@media(max-width:640px){.pop-preuve{left:.7rem;right:.7rem;bottom:auto;top:4.6rem;width:auto}}

/* ---------- pied ---------- */
.pied{padding:clamp(3.4rem,6vw,5rem) 0 2.4rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.5))}
.pied-grille{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.4rem;margin-bottom:2.8rem}
@media(max-width:760px){.pied-grille{grid-template-columns:1fr;gap:2rem}}
.pied h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin:0 0 1.05rem;font-weight:600}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.pied a{font-size:.9rem;color:var(--creme-70);transition:color .2s}
.pied a:hover{color:var(--or-clair)}
.pied-bas{padding-top:1.8rem;border-top:1px solid rgba(244,235,219,.08);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.79rem;color:var(--creme-45)}

/* ---------- révélation au défilement ---------- */
html.anim .rv{opacity:0;transform:translateY(22px)}
html.anim .rv.vu{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html.anim .rv{opacity:1;transform:none}
}
