/* ═══════════════════════════════════════════════
   TOUT EST LÀ ! — feuille de style commune
   ═══════════════════════════════════════════════ */
:root{
  --noir:#16110B;
  --noir2:#211A11;
  --creme:#FAF5EC;
  --creme2:#F3EBDC;
  --or:#C9A45C;
  --or-clair:#E6C98A;
  --orange:#E8541D;
  --orange-vif:#FF6B2C;
  --texte:#2A2318;
  --texte-doux:#7A6F5C;
  --blanc:#FFFFFF;
  --vert:#1EBE5D;
  --radius:18px;
  --ombre:0 18px 50px rgba(22,17,11,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',sans-serif;
  background:var(--creme);
  color:var(--texte);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:'Marcellus',serif;font-weight:400}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
select,input,textarea{font-family:inherit}
.ico-svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ── animations reveal ── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ── bandeau annonce ── */
.bandeau{
  background:var(--orange);
  color:#fff;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.55rem 0;
  overflow:hidden;
  white-space:nowrap;
}
.bandeau-piste{display:inline-flex;gap:3rem;animation:defile 28s linear infinite;padding-left:1rem}
.bandeau span{display:inline-flex;align-items:center;gap:3rem}
@keyframes defile{to{transform:translateX(-50%)}}

/* ── navigation ── */
nav.principale{
  position:sticky;top:0;z-index:90;
  background:rgba(250,245,236,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,164,92,.25);
}
.nav-int{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1.2rem;
}
.logo{display:flex;align-items:center;gap:.7rem}
.logo-badge{
  width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--orange-vif),var(--orange) 70%);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:'Lilita One',cursive;
  font-size:.62rem;line-height:1;text-align:center;
  transform:rotate(-8deg);
  box-shadow:0 4px 14px rgba(232,84,29,.4);
  border:2px solid #fff;
  flex-shrink:0;
}
.logo-texte{display:flex;flex-direction:column;line-height:1.1}
.logo-texte b{font-family:'Lilita One',cursive;font-weight:400;font-size:1.15rem;color:var(--noir);letter-spacing:.02em}
.logo-texte small{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--texte-doux);font-weight:700}
.nav-liens{display:flex;gap:1.5rem;align-items:center;font-weight:600;font-size:.92rem}
.nav-liens a{position:relative;padding:.2rem 0;transition:color .2s}
.nav-liens a::after{
  content:"";position:absolute;left:0;bottom:-4px;
  width:0;height:2px;background:var(--orange);
  transition:width .25s;
}
.nav-liens a:hover{color:var(--orange)}
.nav-liens a:hover::after,.nav-liens a.actif::after{width:100%}
.nav-liens a.actif{color:var(--orange)}
.btn-panier{
  position:relative;
  display:flex;align-items:center;gap:.5rem;
  background:var(--noir);color:var(--creme);
  padding:.62rem 1.2rem;border-radius:100px;
  font-weight:700;font-size:.9rem;
  transition:transform .2s, background .2s;
}
.btn-panier:hover{background:var(--orange);transform:translateY(-2px)}
.badge-qte{
  position:absolute;top:-6px;right:-6px;
  background:var(--orange);color:#fff;
  min-width:22px;height:22px;border-radius:100px;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:800;
  border:2px solid var(--creme);
  transform:scale(0);transition:transform .25s cubic-bezier(.34,1.56,.64,1);
}
.badge-qte.actif{transform:scale(1)}
.burger{display:none;font-size:1.5rem;color:var(--noir)}
.nav-mobile{display:none}

/* ── boutons ── */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.9rem;border-radius:100px;
  font-weight:700;font-size:.95rem;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.btn-or{
  background:linear-gradient(100deg,var(--or-clair),var(--or));
  color:var(--noir);
  box-shadow:0 10px 30px rgba(201,164,92,.35);
}
.btn-or:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,164,92,.5)}
.btn-ligne{border:1.5px solid rgba(250,245,236,.35);color:var(--creme)}
.btn-ligne:hover{border-color:var(--or);color:var(--or-clair);transform:translateY(-3px)}
.btn-ligne-sombre{border:1.5px solid rgba(22,17,11,.25);color:var(--noir)}
.btn-ligne-sombre:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-3px)}
.btn-orange{
  background:linear-gradient(100deg,var(--orange-vif),var(--orange));
  color:#fff;
  box-shadow:0 10px 30px rgba(232,84,29,.4);
}
.btn-orange:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(232,84,29,.55)}
.btn-noir{background:var(--noir);color:var(--creme)}
.btn-noir:hover{background:var(--orange);transform:translateY(-2px)}

/* ── hero accueil ── */
.hero{
  position:relative;
  background:
    radial-gradient(1000px 500px at 80% -10%, rgba(201,164,92,.28), transparent 60%),
    radial-gradient(700px 400px at 10% 110%, rgba(232,84,29,.18), transparent 60%),
    linear-gradient(160deg,#1C1610 0%, var(--noir) 55%, #241B10 100%);
  color:var(--creme);
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(201,164,92,.12) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom, transparent, black 40%);
}
.hero-int{
  position:relative;
  max-width:1200px;margin:0 auto;
  padding:5rem 1.2rem 5.5rem;
  display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(201,164,92,.5);
  color:var(--or-clair);
  padding:.4rem 1rem;border-radius:100px;
  font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:1.4rem;
}
.hero h1{
  font-size:clamp(2.4rem,5.2vw,4rem);
  line-height:1.08;
  margin-bottom:1.2rem;
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--or-clair),var(--or) 60%,#A87F35);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{color:rgba(250,245,236,.75);max-width:32rem;margin-bottom:2rem;font-size:1.05rem}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2.5rem;margin-top:2.8rem}
.hero-stats div b{display:block;font-family:'Marcellus',serif;font-size:1.9rem;color:var(--or-clair)}
.hero-stats div span{font-size:.8rem;color:rgba(250,245,236,.6);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.hero-visuel{position:relative;display:flex;justify-content:center}
.hero-visuel svg{width:min(360px,80%);filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.hero-halo{
  position:absolute;inset:10% 15%;
  background:radial-gradient(circle,rgba(201,164,92,.35),transparent 65%);
  filter:blur(20px);
  animation:pulse 4s ease-in-out infinite;
}
@keyframes pulse{50%{opacity:.55;transform:scale(1.08)}}
.hero-pastille{
  position:absolute;top:4%;right:8%;
  width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--orange-vif),var(--orange) 70%);
  color:#fff;font-family:'Lilita One',cursive;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:.95rem;line-height:1.05;
  transform:rotate(10deg);
  border:3px solid #fff;
  box-shadow:0 10px 30px rgba(232,84,29,.5);
  animation:flotte 5s ease-in-out infinite;
}
@keyframes flotte{50%{transform:rotate(10deg) translateY(-12px)}}

/* ── entête pages intérieures ── */
.page-hero{
  background:
    radial-gradient(700px 300px at 85% 0%, rgba(201,164,92,.22), transparent 60%),
    linear-gradient(150deg,#1C1610, var(--noir));
  color:var(--creme);
  padding:3.6rem 1.2rem;
}
.page-hero-int{max-width:1200px;margin:0 auto}
.fil-ariane{
  font-size:.8rem;font-weight:600;color:rgba(250,245,236,.55);
  margin-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap;
}
.fil-ariane a:hover{color:var(--or-clair)}
.fil-ariane .sep{color:rgba(250,245,236,.3)}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.1;margin-bottom:.6rem}
.page-hero h1 em{font-style:normal;color:var(--or-clair)}
.page-hero p{color:rgba(250,245,236,.72);max-width:36rem}

/* ── réassurance ── */
.reassurance{
  background:var(--noir2);
  border-top:1px solid rgba(201,164,92,.25);
  padding:1.2rem;
}
.reassurance-int{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.reass{display:flex;align-items:center;gap:.85rem;color:var(--creme);justify-content:center}
.reass .ico-svg{width:30px;height:30px;color:var(--or-clair)}
.reass b{display:block;font-size:.88rem;color:var(--or-clair)}
.reass span{font-size:.75rem;color:rgba(250,245,236,.6)}

/* ── sections ── */
section{padding:5rem 1.2rem}
.section-int{max-width:1200px;margin:0 auto}
.sur-titre{
  color:var(--orange);font-weight:800;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;
  display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;
}
.sur-titre::before{content:"";width:34px;height:2px;background:var(--orange)}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem);color:var(--noir);margin-bottom:.6rem}
.intro-section{color:var(--texte-doux);max-width:38rem;margin-bottom:2.6rem}
.entete-flex{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.4rem}
.entete-flex .intro-section{margin-bottom:0}
.lien-fleche{
  font-weight:700;color:var(--orange);font-size:.95rem;
  display:inline-flex;align-items:center;gap:.4rem;
  transition:gap .2s;white-space:nowrap;
}
.lien-fleche:hover{gap:.7rem}

/* ── rayons / catégories ── */
.grille-cat{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.grille-cat.accueil{grid-template-columns:repeat(5,1fr)}
.carte-cat{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.28);
  border-radius:var(--radius);
  padding:1.4rem 1rem;
  text-align:center;
  cursor:pointer;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  display:block;
}
.carte-cat:hover,.carte-cat.active{transform:translateY(-6px);box-shadow:var(--ombre);border-color:var(--or)}
.carte-cat.active{background:var(--noir);color:var(--creme)}
.carte-cat .ico-svg{width:30px;height:30px;margin:0 auto .6rem;display:block;color:var(--or)}
.carte-cat.active .ico-svg{color:var(--or-clair)}
.carte-cat b{font-size:.88rem;font-weight:700}
.carte-cat small{display:block;font-size:.72rem;color:var(--texte-doux);margin-top:.15rem}
.carte-cat.active small{color:rgba(250,245,236,.6)}

/* ── outils boutique ── */
.outils{
  display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;
  margin-bottom:1.4rem;
}
.champ-recherche{
  flex:1;min-width:230px;
  display:flex;align-items:center;gap:.6rem;
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.35);
  border-radius:100px;
  padding:.7rem 1.2rem;
  transition:border-color .2s, box-shadow .2s;
  color:var(--texte-doux);
}
.champ-recherche:focus-within{border-color:var(--or);box-shadow:0 0 0 4px rgba(201,164,92,.15)}
.champ-recherche input{
  border:none;outline:none;background:none;
  flex:1;font-size:.95rem;color:var(--texte);
}
.champ-recherche input::placeholder{color:var(--texte-doux)}
.selecteur{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.35);
  border-radius:100px;
  padding:.7rem 1.1rem;
  font-size:.9rem;font-weight:600;color:var(--texte);
  outline:none;cursor:pointer;
}
.btn-favoris-filtre{
  display:flex;align-items:center;gap:.5rem;
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.35);
  border-radius:100px;
  padding:.7rem 1.2rem;
  font-size:.9rem;font-weight:700;color:var(--texte);
  transition:background .2s, color .2s, border-color .2s;
}
.btn-favoris-filtre.actif{background:var(--orange);border-color:var(--orange);color:#fff}
.compteur-resultats{font-size:.85rem;color:var(--texte-doux);font-weight:600;margin-bottom:1.4rem}

/* ── grille produits ── */
.grille-produits{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.carte-p{
  background:var(--blanc);
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(201,164,92,.2);
  transition:transform .25s, box-shadow .25s;
  display:flex;flex-direction:column;
}
.carte-p:hover{transform:translateY(-7px);box-shadow:var(--ombre)}
.carte-p .visuel{
  position:relative;
  aspect-ratio:1/1.02;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  cursor:pointer;
}
.carte-p .visuel svg{width:52%;transition:transform .4s ease}
.carte-p:hover .visuel svg{transform:scale(1.08) translateY(-4px)}
.apercu{
  position:absolute;bottom:12px;left:50%;transform:translate(-50%,10px);
  background:rgba(22,17,11,.85);color:var(--creme);
  font-size:.72rem;font-weight:700;letter-spacing:.08em;
  padding:.4rem .9rem;border-radius:100px;
  opacity:0;transition:opacity .25s, transform .25s;
  pointer-events:none;
  white-space:nowrap;
}
.carte-p:hover .apercu{opacity:1;transform:translate(-50%,0)}
.etiquette{
  position:absolute;top:12px;left:12px;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:100px;
  background:var(--noir);color:var(--or-clair);
  z-index:2;
}
.etiquette.promo{background:var(--orange);color:#fff}
.btn-coeur{
  position:absolute;top:10px;right:10px;z-index:2;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  transition:transform .2s;
  color:#B9A98C;
}
.btn-coeur:hover{transform:scale(1.15)}
.btn-coeur.actif{color:var(--orange);animation:battement .4s ease}
@keyframes battement{30%{transform:scale(1.35)}60%{transform:scale(.92)}}
.carte-p .infos{padding:1rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1}
.meta-ligne{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.carte-p .marque{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.chip-genre{
  font-size:.66rem;font-weight:700;letter-spacing:.05em;
  padding:.15rem .6rem;border-radius:100px;
  background:var(--creme2);color:var(--texte-doux);
  white-space:nowrap;
}
.carte-p h3{font-size:1.12rem;margin:.15rem 0 .05rem;color:var(--noir);cursor:pointer}
.carte-p h3:hover{color:var(--orange)}
.note-ligne{display:flex;align-items:center;gap:.4rem;font-size:.78rem;margin-bottom:.4rem;flex-wrap:wrap}
.note-ligne .etoiles-mini{color:var(--or);letter-spacing:.05em}
.note-ligne span{color:var(--texte-doux);font-weight:600}
.carte-p .desc{font-size:.82rem;color:var(--texte-doux);margin-bottom:.9rem;flex:1}
.ligne-prix{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.prix{font-family:'Marcellus',serif;font-size:1.35rem;color:var(--noir)}
.prix .barre{
  font-size:.85rem;color:var(--texte-doux);
  text-decoration:line-through;
  font-family:'Manrope',sans-serif;font-weight:600;
  margin-right:.3rem;
}
.btn-ajout{
  background:var(--noir);color:var(--creme);
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;font-weight:700;
  transition:background .2s, transform .2s;
  flex-shrink:0;
}
.btn-ajout:hover{background:var(--orange);transform:scale(1.1) rotate(90deg)}
.aucun-resultat{
  grid-column:1/-1;text-align:center;
  padding:3rem 1rem;color:var(--texte-doux);
}
.aucun-resultat .serif{font-size:1.4rem;color:var(--noir);display:block;margin-bottom:.4rem}

/* ── bannière quiz ── */
.banniere-quiz{
  margin-top:3rem;
  background:
    radial-gradient(600px 300px at 85% 20%, rgba(255,107,44,.35), transparent 60%),
    linear-gradient(120deg,var(--noir), #2A1F12);
  border-radius:calc(var(--radius) + 6px);
  padding:2.6rem 2.8rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  color:var(--creme);
  border:1px solid rgba(201,164,92,.3);
  flex-wrap:wrap;
}
.banniere-quiz h3{font-size:1.7rem;margin-bottom:.4rem}
.banniere-quiz h3 em{font-style:normal;color:var(--or-clair)}
.banniere-quiz p{color:rgba(250,245,236,.7);max-width:30rem}

/* ── bandeau marques ── */
.marques{
  background:var(--creme2);
  padding:2.2rem 1.2rem;
  border-top:1px solid rgba(201,164,92,.2);
  border-bottom:1px solid rgba(201,164,92,.2);
}
.marques-int{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.marques-int small{
  font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--texte-doux);
}
.marques-liste{display:flex;gap:2.5rem;flex-wrap:wrap;align-items:center}
.marques-liste span{
  font-family:'Marcellus',serif;font-size:1.25rem;color:var(--texte);
  opacity:.65;transition:opacity .2s;
}
.marques-liste span:hover{opacity:1}

/* ── section sombre (grossiste) ── */
.gros{
  background:
    radial-gradient(800px 400px at 15% 0%, rgba(232,84,29,.15), transparent 55%),
    linear-gradient(150deg,#1C1610, var(--noir));
  color:var(--creme);
}
.gros .section-int{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.gros h2{color:var(--creme)}
.gros h2 em{font-style:normal;color:var(--or-clair)}
.gros p{color:rgba(250,245,236,.72);margin-bottom:1.6rem}
.gros-points{display:grid;gap:1rem}
.point{
  display:flex;gap:1rem;align-items:flex-start;
  background:rgba(250,245,236,.05);
  border:1px solid rgba(201,164,92,.25);
  border-radius:var(--radius);
  padding:1.1rem 1.3rem;
}
.point .pic{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,var(--or-clair),var(--or));
  display:flex;align-items:center;justify-content:center;
  color:var(--noir);
}
.point b{display:block;font-size:1rem;color:var(--or-clair);margin-bottom:.15rem}
.point span{font-size:.88rem;color:rgba(250,245,236,.7)}

/* ── tableau paliers grossiste ── */
.tableau-paliers{
  width:100%;border-collapse:collapse;
  background:var(--blanc);
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(201,164,92,.3);
}
.tableau-paliers th{
  background:var(--noir);color:var(--or-clair);
  font-family:'Marcellus',serif;font-weight:400;
  padding:1rem 1.3rem;text-align:left;font-size:1rem;
}
.tableau-paliers td{
  padding:1rem 1.3rem;
  border-top:1px solid rgba(201,164,92,.2);
  font-size:.95rem;
}
.tableau-paliers td b{color:var(--orange)}
.tableau-paliers tr:hover td{background:var(--creme)}
.note-tableau{font-size:.8rem;color:var(--texte-doux);margin-top:.8rem}

/* ── étapes ── */
.grille-etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.etape{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.25);
  border-radius:var(--radius);
  padding:1.8rem;
  position:relative;
}
.etape .num{
  font-family:'Marcellus',serif;font-size:2.6rem;
  color:var(--or);opacity:.5;
  line-height:1;margin-bottom:.6rem;display:block;
}
.etape b{display:block;font-size:1.05rem;color:var(--noir);margin-bottom:.3rem}
.etape p{font-size:.88rem;color:var(--texte-doux)}

/* ── avis ── */
.grille-avis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.avis{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.22);
  border-radius:var(--radius);
  padding:1.7rem;
}
.etoiles{color:var(--or);letter-spacing:.15em;margin-bottom:.8rem}
.avis p{font-size:.95rem;color:var(--texte);margin-bottom:1.1rem}
.avis-auteur{display:flex;align-items:center;gap:.8rem}
.avis-auteur .rond{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--orange-vif),var(--orange));
  color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.avis-auteur b{display:block;font-size:.9rem}
.avis-auteur span{font-size:.78rem;color:var(--texte-doux)}

/* ── FAQ ── */
.faq-liste{max-width:760px}
.faq-item{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.25);
  border-radius:var(--radius);
  margin-bottom:.9rem;
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.2rem 1.5rem;
  font-weight:700;font-size:1rem;color:var(--noir);
  cursor:pointer;
  transition:background .2s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:var(--creme)}
.faq-item summary::after{
  content:"+";
  font-size:1.4rem;color:var(--orange);font-weight:400;
  transition:transform .25s;
  flex-shrink:0;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .reponse{padding:0 1.5rem 1.3rem;font-size:.92rem;color:var(--texte-doux)}

/* ── page contact / visite ── */
.visite-grille{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}
.carte-visite{
  background:var(--blanc);
  border-radius:var(--radius);
  border:1px solid rgba(201,164,92,.25);
  padding:2.2rem;
  display:flex;flex-direction:column;gap:1.3rem;
}
.info-ligne{display:flex;gap:1rem;align-items:flex-start}
.info-ligne .pic{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  background:var(--noir);color:var(--or-clair);
  display:flex;align-items:center;justify-content:center;
}
.info-ligne b{display:block;font-size:.95rem;color:var(--noir)}
.info-ligne span{font-size:.88rem;color:var(--texte-doux)}
.plan{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(201,164,92,.25);
  min-height:380px;
  background:var(--noir);
}
.plan iframe{width:100%;height:100%;border:0;filter:grayscale(.2) sepia(.15)}
.horaires-table{width:100%;border-collapse:collapse}
.horaires-table td{
  padding:.55rem 0;font-size:.92rem;
  border-bottom:1px dashed rgba(201,164,92,.3);
}
.horaires-table td:last-child{text-align:right;font-weight:700}
.horaires-table tr.ferme td{color:var(--texte-doux)}
.horaires-table tr.aujourdhui td{color:var(--orange);font-weight:800}

/* ── page produit ── */
.produit-page{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start}
.produit-visuel{
  border-radius:calc(var(--radius) + 6px);
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  position:sticky;top:100px;
  border:1px solid rgba(201,164,92,.25);
}
.produit-visuel svg{width:55%;filter:drop-shadow(0 25px 50px rgba(0,0,0,.25))}
.produit-infos .marque{font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.produit-infos h1{font-size:clamp(1.9rem,3.5vw,2.8rem);color:var(--noir);margin:.2rem 0 .4rem}
.produit-infos .desc{font-size:1rem;color:var(--texte-doux);margin:1rem 0 1.5rem}
.pyramide{margin-bottom:1.6rem}
.pyramide h4{
  font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--texte);margin-bottom:.7rem;
  display:flex;align-items:center;gap:.6rem;
}
.pyramide h4::after{content:"";flex:1;height:1px;background:rgba(201,164,92,.35)}
.notes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.note-bloc{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.25);
  border-radius:12px;
  padding:.7rem .8rem;
}
.note-bloc b{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:.2rem}
.note-bloc span{font-size:.8rem;color:var(--texte);font-weight:600;line-height:1.4}
.points-liste{list-style:none;display:grid;gap:.5rem}
.points-liste li{
  display:flex;gap:.6rem;align-items:flex-start;
  font-size:.9rem;color:var(--texte);font-weight:600;
}
.points-liste li::before{content:"—";color:var(--or);flex-shrink:0}
.produit-achat{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.3);
  border-radius:var(--radius);
  padding:1.5rem;
  display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;
  margin-bottom:1rem;
}
.produit-achat .prix{font-size:2rem}
.select-qte{
  display:flex;align-items:center;gap:.7rem;
  background:var(--creme);
  border:1px solid rgba(201,164,92,.35);
  border-radius:100px;padding:.35rem .6rem;
}
.select-qte button{
  width:30px;height:30px;border-radius:50%;
  background:var(--creme2);font-weight:800;font-size:1rem;
  transition:background .2s;
}
.select-qte button:hover{background:var(--or-clair)}
.select-qte b{min-width:1.4rem;text-align:center}
.btn-produit-ajout{flex:1;min-width:180px;justify-content:center;background:var(--noir);color:var(--creme)}
.btn-produit-ajout:hover{background:var(--orange);transform:translateY(-2px)}
.dispo{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--vert);margin-bottom:1.5rem}
.dispo::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 3px rgba(30,190,93,.2)}
.produit-notes-bas{font-size:.82rem;color:var(--texte-doux)}

/* ── à propos ── */
.histoire-grille{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.histoire-texte p{margin-bottom:1.1rem;color:var(--texte)}
.histoire-texte p:first-of-type::first-letter{
  font-family:'Marcellus',serif;font-size:3.2rem;float:left;
  line-height:.85;padding-right:.5rem;color:var(--orange);
}
.chiffres-grille{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.chiffre{
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.28);
  border-radius:var(--radius);
  padding:1.6rem;text-align:center;
}
.chiffre b{display:block;font-family:'Marcellus',serif;font-size:2.2rem;color:var(--orange)}
.chiffre span{font-size:.82rem;color:var(--texte-doux);font-weight:600}

/* ── footer ── */
footer{
  background:var(--noir);color:rgba(250,245,236,.7);
  padding:3.5rem 1.2rem 2rem;
}
.footer-int{max-width:1200px;margin:0 auto}
.footer-haut{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(201,164,92,.2)}
.footer-haut h4{font-family:'Marcellus',serif;color:var(--or-clair);font-size:1.05rem;margin-bottom:.9rem}
.footer-haut a{display:block;padding:.22rem 0;font-size:.9rem;transition:color .2s}
.footer-haut a:hover{color:var(--or-clair)}
.footer-haut p{font-size:.88rem}
.footer-bas{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.82rem;flex-wrap:wrap;gap:1rem}
.reseaux{display:flex;gap:.8rem}
.reseaux a{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(201,164,92,.4);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s, transform .2s;
  color:var(--creme);
}
.reseaux a:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-3px)}

/* ── tiroir panier ── */
.voile{
  position:fixed;inset:0;z-index:98;
  background:rgba(22,17,11,.55);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.voile.ouvert{opacity:1;pointer-events:auto}
.tiroir{
  position:fixed;top:0;right:0;bottom:0;z-index:99;
  width:min(430px,92vw);
  background:var(--creme);
  transform:translateX(105%);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
  display:flex;flex-direction:column;
  box-shadow:-20px 0 60px rgba(0,0,0,.25);
}
.tiroir.ouvert{transform:translateX(0)}
.tiroir-tete{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.3rem 1.5rem;
  border-bottom:1px solid rgba(201,164,92,.3);
  background:var(--noir);color:var(--creme);
}
.tiroir-tete h3{font-size:1.3rem}
.tiroir-tete button{color:var(--creme);font-size:1.6rem;line-height:1}
.barre-remise{padding:1rem 1.5rem .2rem}
.barre-remise .texte{font-size:.82rem;font-weight:700;color:var(--texte);margin-bottom:.5rem}
.barre-remise .texte em{font-style:normal;color:var(--orange)}
.jauge{height:8px;border-radius:100px;background:var(--creme2);overflow:hidden}
.jauge > div{
  height:100%;border-radius:100px;
  background:linear-gradient(90deg,var(--or-clair),var(--orange));
  transition:width .4s ease;
}
.tiroir-corps{flex:1;overflow-y:auto;padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.panier-vide{text-align:center;color:var(--texte-doux);margin-top:3rem;padding:0 1rem}
.panier-vide .serif{font-size:1.3rem;color:var(--noir);display:block;margin-bottom:.4rem}
.ligne-panier{
  display:flex;gap:1rem;align-items:center;
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.25);
  border-radius:14px;padding:.8rem;
}
.ligne-panier .mini{
  width:58px;height:58px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.ligne-panier .mini svg{width:60%}
.ligne-panier .det{flex:1;min-width:0}
.ligne-panier .det b{display:block;font-size:.9rem;color:var(--noir);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ligne-panier .det span{font-size:.8rem;color:var(--texte-doux)}
.qte{display:flex;align-items:center;gap:.5rem}
.qte button{
  width:26px;height:26px;border-radius:8px;
  background:var(--creme2);font-weight:800;font-size:.95rem;
  transition:background .2s;
}
.qte button:hover{background:var(--or-clair)}
.qte b{min-width:1.2rem;text-align:center;font-size:.92rem}
.suppr{color:#C0392B;font-size:1.05rem;padding:.3rem}
.tiroir-pied{
  padding:1.3rem 1.5rem;
  border-top:1px solid rgba(201,164,92,.3);
  background:var(--blanc);
}
.recap-ligne{display:flex;justify-content:space-between;font-size:.88rem;color:var(--texte-doux);font-weight:600;padding:.12rem 0}
.recap-ligne.remise{color:var(--vert)}
.total-ligne{display:flex;justify-content:space-between;align-items:baseline;margin:.4rem 0 1rem;padding-top:.5rem;border-top:1px dashed rgba(201,164,92,.4)}
.total-ligne span{font-weight:700;color:var(--texte-doux)}
.total-ligne b{font-family:'Marcellus',serif;font-size:1.7rem;color:var(--noir)}
.btn-whatsapp{
  width:100%;justify-content:center;
  background:var(--vert);color:#fff;
  box-shadow:0 10px 25px rgba(30,190,93,.35);
}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(30,190,93,.5)}
.note-tiroir{font-size:.75rem;color:var(--texte-doux);text-align:center;margin-top:.7rem}

/* ── modales (quiz) ── */
.modale-fond{
  position:fixed;inset:0;z-index:97;
  background:rgba(22,17,11,.6);
  display:flex;align-items:center;justify-content:center;
  padding:1.2rem;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.modale-fond.ouvert{opacity:1;pointer-events:auto}
.modale-fermer{
  position:absolute;top:14px;right:14px;z-index:3;
  width:38px;height:38px;border-radius:50%;
  background:rgba(22,17,11,.08);
  font-size:1.15rem;color:var(--noir);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s, transform .2s;
}
.modale-fermer:hover{background:var(--orange);color:#fff;transform:rotate(90deg)}
.quiz-boite{
  background:var(--creme);
  border-radius:calc(var(--radius) + 4px);
  width:min(640px,100%);
  max-height:90vh;overflow-y:auto;
  padding:2.5rem;
  position:relative;
  transform:translateY(24px) scale(.97);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.modale-fond.ouvert .quiz-boite{transform:none}
.quiz-etapes{display:flex;gap:.5rem;margin-bottom:1.6rem}
.quiz-etapes span{
  height:6px;flex:1;border-radius:100px;
  background:var(--creme2);
  transition:background .3s;
}
.quiz-etapes span.fait{background:linear-gradient(90deg,var(--or-clair),var(--orange))}
.quiz-boite h3{font-size:1.6rem;color:var(--noir);margin-bottom:.4rem}
.quiz-boite .sous{color:var(--texte-doux);font-size:.92rem;margin-bottom:1.6rem}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.quiz-opt{
  background:var(--blanc);
  border:1.5px solid rgba(201,164,92,.3);
  border-radius:var(--radius);
  padding:1.3rem 1.1rem;
  text-align:left;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.quiz-opt:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:var(--ombre)}
.quiz-opt .ico{font-size:1.7rem;display:block;margin-bottom:.4rem}
.quiz-opt b{display:block;font-size:1rem;color:var(--noir)}
.quiz-opt span{font-size:.8rem;color:var(--texte-doux)}
.quiz-resultats{display:grid;gap:.9rem}
.quiz-carte{
  display:flex;gap:1rem;align-items:center;
  background:var(--blanc);
  border:1px solid rgba(201,164,92,.3);
  border-radius:var(--radius);
  padding:1rem;
}
.quiz-carte .mini{
  width:70px;height:70px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.quiz-carte .mini svg{width:58%}
.quiz-carte .det{flex:1}
.quiz-carte .det small{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--or)}
.quiz-carte .det b{display:block;font-family:'Marcellus',serif;font-size:1.15rem;color:var(--noir)}
.quiz-carte .det span{font-size:.8rem;color:var(--texte-doux)}
.quiz-carte .prix{font-size:1.15rem}
.quiz-refaire{
  margin-top:1.2rem;width:100%;text-align:center;
  font-weight:700;color:var(--texte-doux);font-size:.88rem;
  padding:.6rem;
}
.quiz-refaire:hover{color:var(--orange)}

/* ── WhatsApp flottant ── */
.flottant-wa{
  position:fixed;bottom:1.4rem;right:1.4rem;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:var(--vert);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(30,190,93,.45);
  transition:transform .2s;
  animation:ondule 3s ease-in-out infinite;
}
.flottant-wa:hover{transform:scale(1.12)}
.flottant-wa .ico-svg{width:28px;height:28px;fill:#fff;stroke:none}
@keyframes ondule{
  0%,100%{box-shadow:0 12px 30px rgba(30,190,93,.45), 0 0 0 0 rgba(30,190,93,.35)}
  50%{box-shadow:0 12px 30px rgba(30,190,93,.45), 0 0 0 14px rgba(30,190,93,0)}
}

/* ── toast ── */
.toast{
  position:fixed;bottom:1.5rem;left:50%;z-index:100;
  transform:translate(-50%,calc(100% + 2.5rem));
  background:var(--noir);color:var(--creme);
  padding:.85rem 1.6rem;border-radius:100px;
  font-weight:700;font-size:.9rem;
  display:flex;align-items:center;gap:.6rem;
  box-shadow:0 15px 40px rgba(0,0,0,.3);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.toast.visible{transform:translate(-50%,0)}
.toast .ok{color:var(--or-clair)}

/* ── page légale ── */
.legal{max-width:760px}
.legal h3{font-size:1.3rem;color:var(--noir);margin:2rem 0 .6rem}
.legal p{font-size:.95rem;color:var(--texte-doux);margin-bottom:.8rem}

/* ── responsive ── */
@media(max-width:1020px){
  .grille-produits{grid-template-columns:repeat(3,1fr)}
  .grille-cat,.grille-cat.accueil{grid-template-columns:repeat(3,1fr)}
  .hero-int{grid-template-columns:1fr;padding:3.5rem 1.2rem}
  .hero-visuel{display:none}
  .reassurance-int{grid-template-columns:repeat(2,1fr)}
  .gros .section-int,.visite-grille,.histoire-grille{grid-template-columns:1fr}
  .grille-avis,.grille-etapes{grid-template-columns:1fr;max-width:34rem}
  .footer-haut{grid-template-columns:1fr 1fr}
  .produit-page{grid-template-columns:1fr;gap:2rem}
  .produit-visuel{position:static;max-width:420px;margin:0 auto}
}
@media(max-width:680px){
  .nav-liens{display:none}
  .burger{display:block}
  .nav-mobile{
    display:flex;
    position:fixed;inset:0;z-index:95;
    background:var(--noir);color:var(--creme);
    flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
    font-size:1.3rem;font-family:'Marcellus',serif;
    transform:translateY(-105%);transition:transform .4s cubic-bezier(.22,1,.36,1);
  }
  .nav-mobile.ouvert{transform:translateY(0)}
  .nav-mobile a:hover{color:var(--or-clair)}
  .nav-mobile .fermer{position:absolute;top:1.2rem;right:1.4rem;color:var(--creme);font-size:1.8rem}
  .grille-produits{grid-template-columns:repeat(2,1fr);gap:.9rem}
  .carte-p .infos{padding:.9rem .9rem 1rem}
  .carte-p h3{font-size:1rem}
  .prix{font-size:1.15rem}
  .grille-cat,.grille-cat.accueil{grid-template-columns:repeat(2,1fr)}
  .hero-stats{gap:1.4rem;flex-wrap:wrap}
  section{padding:3.5rem 1rem}
  .reassurance-int{grid-template-columns:1fr 1fr;gap:.8rem}
  .reass{justify-content:flex-start}
  .footer-haut{grid-template-columns:1fr}
  .footer-bas{flex-direction:column;text-align:center}
  .banniere-quiz{padding:1.8rem 1.5rem}
  .quiz-options{grid-template-columns:1fr}
  .quiz-boite{padding:1.8rem 1.4rem}
  .notes-grille{grid-template-columns:1fr}
  .outils{gap:.6rem}
  .marques-int{justify-content:center}
  .marques-liste{gap:1.4rem;justify-content:center}
}
