/* =====================================================================
   ESTAMPILLE DIRECTE — accueil, d'après la charte graphique client
   Navy #0F1D2D · Orange #F5A623 · Poppins (titres) · Inter (courant)
   ===================================================================== */

/* ---------- Jetons (charte) ---------- */
:root{
  /* alias de charte (ajoutés le 01/09/2026) */
  --orange:var(--primaire);        /* accent orange, = #F5A623 */
  --creme:var(--fond);             /* fonds doux, = #F4F4F5 */
  --encre:var(--texte);            /* texte courant, = #3A4654 */
  --encre-doux:#6B7683;            /* texte secondaire */
  --marge-page:1.25rem;            /* gouttière mobile */

  --ligne-max:60ch;
  --primaire:#F5A623;          /* boutons, accents */
  --primaire-fonce:#D98A0B;    /* hover boutons (charte : orange foncé) */
  --secondaire:#0F1D2D;        /* navigation, titres */
  --texte-2:#2C3E50;           /* sous-titres, icônes */
  --fond:#F4F4F5;              /* sections, encadrés */
  --blanc:#FFFFFF;
  --texte:#3A4654;
  --trait:#E4E6E9;
  --vert:#2F9E63;              /* badge NOUVEAU / alerte succès */
  --vert-clair:#E3F4EA;
  --jaune-clair:#FDF0D7;       /* badge BEST-SELLER */
  --etoile:#F5A623;

  --f-titre:"Poppins",system-ui,sans-serif;
  --f-corps:"Inter",system-ui,sans-serif;

  --r:8px; --r-l:12px;
  --page:1240px;
  --ombre:0 2px 6px rgba(15,29,45,.06),0 14px 34px -18px rgba(15,29,45,.18);
  --sortie:cubic-bezier(.25,.75,.3,1);
}

/* ---------- Socle ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--f-corps);font-size:1rem;line-height:1.6;
  color:var(--texte);background:var(--blanc);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
h1,h2,h3{font-family:var(--f-titre);color:var(--secondaire);line-height:1.15;margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
:focus-visible{outline:2px solid var(--primaire-fonce);outline-offset:3px;border-radius:4px}
.contenant{width:min(100% - 2.5rem,var(--page));margin-inline:auto}
.saut-contenu{position:absolute;left:-9999px}
.saut-contenu:focus{left:1rem;top:1rem;z-index:300;background:var(--secondaire);color:#fff;padding:.7rem 1.2rem;border-radius:var(--r)}

/* ---------- Titres de section (majuscules Poppins, charte) ---------- */
.titre-section{
  font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);
  font-weight:700;letter-spacing:.02em;text-transform:uppercase;
}
.section{padding:clamp(2.75rem,5.5vw,4.5rem) 0}
.section__tete{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;margin-bottom:clamp(1.5rem,3vw,2.25rem);flex-wrap:wrap}
.section__tete--centre{justify-content:center;text-align:center}

/* ---------- Boutons (charte : rayon 8, flèche, hover foncé/rempli) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--f-titre);font-weight:600;font-size:.8125rem;
  letter-spacing:.06em;text-transform:uppercase;
  padding:.85rem 1.5rem;border-radius:var(--r);
  transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--sortie);
}
.btn .fleche{transition:transform .3s var(--sortie)}
.btn:hover .fleche{transform:translateX(4px)}
.btn--primaire{background:var(--primaire);color:var(--secondaire)}
.btn--primaire:hover{background:var(--primaire-fonce);color:#fff}
.btn--secondaire{border:1.5px solid var(--secondaire);color:var(--secondaire)}
.btn--secondaire:hover{background:var(--secondaire);color:#fff}
.btn--carte{border:1.5px solid var(--primaire);color:var(--secondaire);padding:.7rem 1.2rem;font-size:.75rem}
.btn--carte:hover{background:var(--primaire)}
.lien-texte{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--f-titre);font-weight:600;font-size:.8125rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--primaire-fonce);
}
.lien-texte .fleche{transition:transform .3s var(--sortie)}
.lien-texte:hover{color:var(--secondaire)}
.lien-texte:hover .fleche{transform:translateX(4px)}

/* ---------- Bandeau USP haut ---------- */
.bandeau{background:var(--primaire);color:#12202E;overflow:hidden;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.bandeau__piste{display:flex;width:max-content;animation:bandeau-defile 90s linear infinite}
.bandeau__groupe{display:flex;flex:none}
.bandeau__item{display:flex;align-items:center;gap:.5rem;padding:.6rem 2.4rem;white-space:nowrap}
.bandeau__item svg{flex:none}
.bandeau:hover .bandeau__piste{animation-play-state:paused}
@keyframes bandeau-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bandeau__piste{animation:none}}
.marque img{height:86px;width:auto}
.topbar{background:var(--secondaire);color:#DDE3EA;font-size:.75rem}
.topbar__grille{display:flex;align-items:center;justify-content:center;gap:0;padding:.55rem 0;flex-wrap:wrap}
.topbar__item{display:flex;align-items:center;gap:.5rem;padding:0 1.4rem;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.topbar__item+.topbar__item{border-left:1px solid rgba(255,255,255,.14)}
.topbar__item svg{color:var(--primaire);flex:none}
.topbar__item:nth-child(3),.topbar__item:nth-child(4){display:none}
@media (min-width:760px){.topbar__item:nth-child(3){display:flex}}
@media (min-width:1000px){.topbar__item:nth-child(4){display:flex}}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:100;background:var(--secondaire);transition:box-shadow .3s}
.entete .contenant{width:min(100% - 2rem,1400px)}
.entete.is-stuck{box-shadow:0 8px 28px -14px rgba(0,0,0,.55)}
.entete__grille{display:flex;align-items:center;flex-wrap:wrap;gap:0 1.75rem;padding:0}
.marque{order:1;padding:.8rem 0;flex:none;display:block}

.recherche{
  order:2;flex:1;display:flex;align-items:center;max-width:430px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:100px;overflow:hidden;
  transition:border-color .25s,background-color .25s;
}
.recherche:focus-within{border-color:var(--primaire);background:rgba(255,255,255,.1)}
.recherche__champ{
  flex:1;min-width:0;border:0;background:none;padding:.68rem 1.1rem;
  font-family:var(--f-corps);font-size:.875rem;color:#fff;
}
.recherche__champ::placeholder{color:#8C99A8}
.recherche__champ:focus{outline:0}
.recherche__btn{
  flex:none;width:44px;height:40px;display:grid;place-items:center;
  color:var(--secondaire);background:var(--primaire);border-radius:100px;margin:2px;
  transition:background-color .25s;cursor:pointer;
}
.recherche__btn:hover{background:var(--primaire-fonce);color:#fff}
.entete__infos{order:3;display:flex;gap:1.6rem;margin-left:auto}
.entete__info{display:flex;align-items:center;gap:.6rem;border-radius:var(--r);padding:.35rem .5rem;transition:background-color .25s}
a.entete__info:hover{background:rgba(255,255,255,.07)}
.entete__info p{margin:0;font-size:.8125rem;line-height:1.3;color:#fff;font-weight:600}
.entete__info p span{color:var(--primaire);font-weight:500}
.entete__info p strong{color:var(--primaire);font-family:var(--f-titre);font-size:.9375rem;letter-spacing:.02em}
.entete__actions{order:4;margin-left:0}
.nav{
  order:5;flex-basis:100%;justify-content:center;
  border-top:1px solid rgba(255,255,255,.08);
}


.nav{flex:1;display:flex;justify-content:center;gap:.25rem}
.nav__lien{
  font-family:var(--f-titre);font-weight:600;font-size:.8125rem;
  letter-spacing:.07em;text-transform:uppercase;color:#E8ECF0;
  padding:.65rem .9rem;border-radius:var(--r);white-space:nowrap;
  transition:color .25s,background-color .25s;
}
.nav__lien:hover{color:var(--primaire);background:rgba(255,255,255,.06)}
.entete__actions{display:flex;align-items:center;gap:.35rem;flex:none}
.icone-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#E8ECF0;transition:background-color .25s,color .25s}
.icone-btn:hover{background:rgba(255,255,255,.08);color:var(--primaire)}
.icone-btn__pastille{
  position:absolute;transform:translate(11px,-10px);
  min-width:17px;height:17px;padding:0 4px;border-radius:100px;
  background:var(--primaire);color:var(--secondaire);
  font-size:.625rem;font-weight:700;display:grid;place-items:center;
}
.burger{display:none;width:44px;height:44px;border-radius:var(--r);place-items:center}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--sortie),opacity .2s}
.burger span+span{margin-top:5px}
.burger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-active span:nth-child(2){opacity:0}
.burger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{
  position:fixed;inset:0 0 0 auto;width:min(86vw,380px);z-index:120;
  background:var(--secondaire);padding:1.5rem;overflow-y:auto;
  transform:translateX(101%);transition:transform .4s var(--sortie);
}
.nav-mobile.is-open{transform:translateX(0)}
.nav-mobile__lien{
  display:block;padding:1rem .25rem;border-bottom:1px solid rgba(255,255,255,.1);
  font-family:var(--f-titre);font-weight:600;font-size:.9375rem;
  letter-spacing:.06em;text-transform:uppercase;color:#E8ECF0;
}
.voile{position:fixed;inset:0;z-index:110;background:rgba(15,29,45,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.voile.is-visible{opacity:1;visibility:visible}

/* ---------- Héros ---------- */
.heros{background:#F7F5F1;overflow:hidden}
.heros__grille{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;padding:clamp(2.5rem,5vw,4rem) 0}
.heros__titre{font-family:var(--f-titre);color:var(--secondaire);line-height:1.12;margin:0;font-size:clamp(2rem,1.35rem + 2.9vw,3.4rem);font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.heros__titre .l2{color:var(--primaire)}

.heros__confiance{display:flex;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.875rem;color:var(--texte-2)}
.heros__confiance strong{color:var(--secondaire)}

/* collage produits sur carte crème */
.collage{position:relative;max-width:640px;justify-self:end;width:100%}
.collage__photo{width:100%;height:auto;border-radius:var(--r-l);box-shadow:var(--ombre);display:block}
.collage__carte{
  position:absolute;background:#fff;border-radius:var(--r-l);
  box-shadow:var(--ombre);overflow:hidden;border:1px solid var(--trait);
}
.collage__carte img{width:100%;height:100%;object-fit:cover}
.collage__c1{inset:6% 34% 30% 2%;transform:rotate(-2deg)}
.collage__c2{inset:2% 2% 42% 48%;transform:rotate(1.5deg)}
.collage__c3{inset:52% 26% 4% 22%;transform:rotate(-1deg)}
.collage__badge{
  position:absolute;right:6%;bottom:12%;z-index:3;
  background:var(--secondaire);color:#fff;border-radius:100px;padding:.55rem 1.1rem;
  font-family:var(--f-titre);font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  display:flex;align-items:center;gap:.5rem;
}
.collage__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primaire)}
.heros__points{display:flex;gap:.5rem;justify-content:center;padding-bottom:1.75rem}
.heros__point{width:8px;height:8px;border-radius:50%;background:#CBD2D9;border:0;padding:0;cursor:pointer;transition:background-color .25s,transform .25s}
.heros__point[aria-current="true"]{background:var(--primaire);transform:scale(1.25)}

/* ---------- Cartes catégories ---------- */
.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.categorie{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);
  padding:1.1rem 1.1rem 1.25rem;display:flex;flex-direction:column;
  transition:transform .3s var(--sortie),box-shadow .3s,border-color .3s;
}
.categorie:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:var(--primaire)}
.categorie__media{aspect-ratio:4/3;background:var(--fond);border-radius:var(--r);overflow:hidden;margin-bottom:1rem}
.categorie__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--sortie)}
.categorie:hover .categorie__media img{transform:scale(1.06)}
.categorie h3{font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem}
.categorie p{font-size:.8125rem;color:var(--texte);flex:1;margin-bottom:.85rem}
.categorie .lien-texte{font-size:.75rem}

/* ---------- Produits incontournables ---------- */
.produits{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.produit{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:transform .3s var(--sortie),box-shadow .3s,border-color .3s;
}
.produit:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:var(--primaire)}
.produit__media{aspect-ratio:5/4;background:var(--fond);overflow:hidden}
.produit__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--sortie)}
.produit:hover .produit__media img{transform:scale(1.06)}
.produit__badge{
  position:absolute;top:.8rem;left:.8rem;z-index:2;
  border-radius:var(--r);padding:.3rem .65rem;
  font-family:var(--f-titre);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.produit__badge--nouveau{background:var(--vert-clair);color:var(--vert)}
.produit__badge--best{background:var(--jaune-clair);color:var(--primaire-fonce)}
.produit__corps{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.produit__nom{font-family:var(--f-titre);font-size:.9375rem;font-weight:600;color:var(--secondaire);line-height:1.35}
.produit__nom a::after{content:"";position:absolute;inset:0;z-index:1}
.etoiles{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--texte)}
.etoiles__rangee{display:inline-flex;gap:1px;color:var(--etoile)}
.produit__prix{font-size:.8125rem;color:var(--texte)}
.produit__prix strong{font-family:var(--f-titre);font-size:1.05rem;color:var(--secondaire)}
.produit .btn--carte{margin-top:auto;position:relative;z-index:2;justify-content:space-between}

/* ---------- Bandeau atelier (navy) ---------- */
.atelier{background:var(--secondaire);border-radius:var(--r-l);overflow:hidden;display:grid;grid-template-columns:1.05fr 1.35fr .8fr;color:#C6CFD9}
.atelier__media{position:relative;min-height:300px;background:#16283C}
.atelier__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.atelier__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--secondaire) 96%)}
.atelier__corps{padding:clamp(1.75rem,3.5vw,3rem);display:flex;flex-direction:column;justify-content:center}
.atelier__corps h2{color:#fff;font-size:clamp(1.35rem,1.1rem + 1.1vw,1.9rem);text-transform:uppercase;letter-spacing:.01em;margin-bottom:.9rem}
.atelier__corps h2 span{display:block}
.atelier__corps p{font-size:.9375rem;max-width:46ch;margin-bottom:1.5rem}
.atelier__stats{
  padding:clamp(1.75rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.1rem;
  border-left:1px solid rgba(255,255,255,.12);
}
.stat{display:flex;gap:.9rem;align-items:center}
.stat__icone{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--primaire);color:var(--primaire);display:grid;place-items:center;flex:none}
.stat__valeur{font-family:var(--f-titre);font-weight:700;color:#fff;font-size:1.05rem;line-height:1.25;margin:0}
.stat__legende{font-size:.78rem;color:#8CA0B4;margin:2px 0 0;line-height:1.35}

/* ---------- Rangée réassurance ---------- */
.reassurance{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--trait)}
.reassurance__item{display:flex;gap:.9rem;align-items:flex-start;padding:1.5rem 1.4rem}
.reassurance__item+.reassurance__item{border-left:1px solid var(--trait)}
.reassurance__item svg{color:var(--texte-2);flex:none;margin-top:2px}
.reassurance__titre{font-family:var(--f-titre);font-weight:600;font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase;color:var(--secondaire);margin-bottom:.2rem}
.reassurance__texte{font-size:.8125rem;color:var(--texte);margin:0}

/* ---------- Inspirations ---------- */
.inspirations{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}
.inspiration{
  aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;position:relative;
  background:var(--fond);border:1px solid var(--trait);
  transition:transform .3s var(--sortie),box-shadow .3s;
}
.inspiration:hover{transform:translateY(-3px);box-shadow:var(--ombre)}
.inspiration img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--sortie)}
.inspiration:hover img{transform:scale(1.07)}

/* ---------- Bande CTA orange ---------- */
.cta-bande{background:var(--primaire)}
.cta-bande__grille{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.4rem 0;flex-wrap:wrap}
.cta-bande__titre{font-family:var(--f-titre);font-weight:700;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;color:var(--secondaire);line-height:1.4}
.cta-bande .btn{background:var(--secondaire);color:#fff}
.cta-bande .btn:hover{background:#fff;color:var(--secondaire)}
.cta-bande__coords{display:flex;gap:1.75rem;flex-wrap:wrap;font-size:.8125rem;color:var(--secondaire)}
.cta-bande__coords a,.cta-bande__coords span{display:flex;align-items:center;gap:.5rem;font-weight:600}
.cta-bande__coords small{display:block;font-weight:400;opacity:.8}

/* ---------- Pied de page ---------- */
.pied{background:var(--secondaire);color:#93A1B0;padding:clamp(2.5rem,5vw,3.75rem) 0 1.75rem}
/* footer compact : 4 colonnes équilibrées (demande partenaire) */
.pied__grille{display:grid;grid-template-columns:1.3fr 1.5fr .8fr 1.1fr;gap:2rem 2.5rem;
  padding-bottom:2.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.pied__liste--double{grid-template-columns:1fr 1fr;column-gap:1.5rem}
@media (max-width:1080px){
  .pied__grille{grid-template-columns:1fr 1fr;gap:2rem}
}
@media (max-width:600px){
  .pied__grille{grid-template-columns:1fr;gap:1.75rem}
  .pied__liste--double{grid-template-columns:1fr 1fr}
}
.pied__desc{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin:1rem 0 1.5rem;color:#7A8898}
.pied__sociaux{display:flex;gap:.6rem}
.pied__social{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#C6CFD9;transition:border-color .25s,color .25s,background-color .25s}
.pied__social:hover{border-color:var(--primaire);color:var(--primaire)}
.pied__titre{font-family:var(--f-titre);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 1.1rem}
.pied__liste{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.pied__liste a{font-size:.875rem;transition:color .25s,padding-left .25s var(--sortie)}
.pied__liste a:hover{color:#fff;padding-left:.25rem}
.pied__contact{display:grid;gap:.7rem;font-size:.875rem}
.pied__contact a,.pied__contact span{display:flex;align-items:flex-start;gap:.6rem}
.pied__contact svg{color:var(--primaire);flex:none;margin-top:3px}
.pied__contact a:hover{color:#fff}
.pied__bas{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.78rem;color:#6C7A8A;flex-wrap:wrap}
.pied__bas a{color:#93A1B0}
.pied__bas a:hover{color:var(--primaire)}

/* ---------- Révélations ---------- */
.anime-prete [data-reveal]{opacity:0;transform:translateY(22px)}

/* ---------- Adaptatif ---------- */
@media (max-width:1120px){
  .nav{display:none}
  .entete__infos{display:none}
  .entete__grille{flex-wrap:wrap;padding:.3rem 0 .85rem}
  .entete__actions{order:2;margin-left:auto}
  .recherche{order:3;flex-basis:100%;max-width:none;margin-top:.4rem}
  .marque img{height:64px}
  .temoignage{width:290px}
  .burger{display:grid}
  .categories{grid-template-columns:repeat(3,1fr)}
  .produits{grid-template-columns:repeat(2,1fr)}
  .atelier{grid-template-columns:1fr}
  .atelier__media{min-height:220px}
  .atelier__media::after{background:linear-gradient(180deg,transparent 55%,var(--secondaire))}
  .atelier__stats{border-left:0;border-top:1px solid rgba(255,255,255,.12);flex-direction:row;flex-wrap:wrap;gap:1.25rem}
  .reassurance{grid-template-columns:repeat(2,1fr)}
  .reassurance__item:nth-child(3){border-left:0}
  .reassurance__item:nth-child(n+3){border-top:1px solid var(--trait)}
  .inspirations{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .entete__grille{gap:.5rem .75rem}
  .entete.is-stuck .recherche{display:none}
  .galerie,.compte__nav,.panier__resume{position:static}
  .compte__nav{display:flex;overflow-x:auto;gap:.25rem;-webkit-overflow-scrolling:touch}
  .compte__nav a{white-space:nowrap;flex:none}
  table th,table td{white-space:nowrap}
  .marque{padding:.55rem 0}
  .marque img{height:52px}
  .marque__icone{width:44px;height:44px}
  .marque__nom{font-size:1.25rem}
  .marque__tagline{display:none}
  .heros__grille{grid-template-columns:1fr;padding:2rem 0 2.5rem}
  .collage{justify-self:center;max-width:480px}
  .categories{grid-template-columns:repeat(2,1fr)}
  .inspirations{grid-template-columns:repeat(2,1fr)}
  .cta-bande__grille{justify-content:center;text-align:center}
  .pied__grille{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:480px){
  .produits{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}

/* ═══ Ajouts : méga-menu complet, avis défilants, FAQ, WhatsApp ═══ */

/* méga-menu — panneau collé au déclencheur (pas d'écart réel) */
.nav{gap:0;flex-wrap:nowrap}
.nav__lien{padding:.78rem .6rem;font-size:.74rem;letter-spacing:.03em;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.nav__chevron{width:8px;height:8px;transition:transform .3s var(--sortie)}
.nav__item{position:relative}
.nav__item.is-open>.nav__lien{color:var(--primaire)}
.nav__item.is-open .nav__chevron{transform:rotate(180deg)}
.megamenu{
  position:fixed;left:0;right:0;top:auto;
  padding-top:10px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s,visibility .25s,transform .3s var(--sortie);
  transform:translateY(6px);
  z-index:120;
}
.nav__item.is-open>.megamenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.megamenu__panneau{
  width:min(100% - 3rem,var(--page));margin-inline:auto;
  background:#fff;border-radius:0 0 var(--r-l) var(--r-l);
  box-shadow:0 30px 60px -25px rgba(15,29,45,.45);
  padding:1.75rem 2rem 1.25rem;
  max-height:calc(100vh - 160px);overflow-y:auto;
}
.megamenu__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem 2rem}
.megamenu__col{min-width:0}
.megamenu__titre{
  display:block;font-family:var(--f-titre);font-weight:700;font-size:.8125rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--secondaire);
  padding-bottom:.5rem;margin-bottom:.35rem;border-bottom:2px solid var(--primaire);
}
.megamenu__titre:hover{color:var(--primaire-fonce)}
.megamenu__lien{
  display:flex;align-items:center;gap:.75rem;padding:.3rem 0;font-size:.85rem;color:var(--texte);
  transition:color .2s;
}
.megamenu__lien:hover{color:var(--primaire-fonce)}
/* vignettes reprises de l'ancien site — 64 px au lieu de 75 px */
.megamenu__vignette{
  flex:none;width:64px;height:64px;object-fit:contain;background:#fff;
  border:1px solid var(--trait);border-radius:8px;padding:3px;
  transition:border-color .25s,transform .25s var(--sortie),box-shadow .25s;
}
.megamenu__lien:hover .megamenu__vignette{
  border-color:var(--primaire);transform:scale(1.05);
  box-shadow:0 4px 14px -6px rgba(18,32,46,.28);
}
.megamenu__lien>span{min-width:0;line-height:1.35}
.megamenu__entete{
  display:flex;align-items:center;gap:.7rem;
  padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--trait);
}
.megamenu__entete span{
  font-family:var(--f-titre);font-weight:700;font-size:1rem;
  letter-spacing:.02em;text-transform:uppercase;color:var(--secondaire);
}
.megamenu__picto{width:26px;height:26px;flex:none;color:var(--primaire);
  background:var(--fond);border-radius:8px;padding:4px;box-sizing:content-box}
.megamenu__tout{
  display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;
  font-family:var(--f-titre);font-weight:600;font-size:.78rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--primaire-fonce);white-space:nowrap;
}
.megamenu__tout:hover{color:var(--secondaire)}

/* menu mobile accordéon */
.nav-mobile__groupe{border-bottom:1px solid rgba(255,255,255,.1)}
.nav-mobile__groupe summary{list-style:none;cursor:pointer;position:relative;border-bottom:0}
.nav-mobile__groupe summary::-webkit-details-marker{display:none}
.nav-mobile__groupe summary::after{
  content:"";position:absolute;right:.5rem;top:50%;
  width:8px;height:8px;border-right:2px solid #8C99A8;border-bottom:2px solid #8C99A8;
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--sortie);
}
.nav-mobile__groupe[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.nav-mobile__liste{padding:0 0 .9rem .5rem;display:grid}
.nav-mobile__sous{display:block;padding:.45rem .25rem;font-size:.875rem;color:#B8C2CD}
.nav-mobile__sous--tout{color:var(--primaire);font-weight:600}

/* héros : sous-titre H1 */
.heros__soustitre{
  font-family:var(--f-corps);font-weight:400;font-size:1.04rem;line-height:1.6;
  color:var(--texte);max-width:44ch;margin:1.25rem 0 1.75rem;letter-spacing:0;text-transform:none;
}

/* sections fond gris */
.section--fond{background:var(--fond)}


/* présentation SEO */
.presentation{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem)}
.presentation .titre-section{margin-bottom:1rem}
.presentation p{font-size:.9375rem;line-height:1.7;color:var(--texte)}
.presentation a{color:var(--primaire-fonce);font-weight:600;text-decoration:underline;text-decoration-color:rgba(217,138,11,.35);text-underline-offset:3px}
.presentation a:hover{color:var(--secondaire)}

/* FAQ */
.contenant--etroit{width:min(100% - 2.5rem,860px);margin-inline:auto}
.faq{display:grid;gap:.75rem}
.faq__item{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:0 1.4rem}
.faq__item summary{
  list-style:none;cursor:pointer;padding:1.15rem 2rem 1.15rem 0;position:relative;
  font-family:var(--f-titre);font-weight:600;font-size:.9375rem;color:var(--secondaire);
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"";position:absolute;right:.25rem;top:50%;width:9px;height:9px;
  border-right:2px solid var(--primaire-fonce);border-bottom:2px solid var(--primaire-fonce);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--sortie);
}
.faq__item[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq__item p{padding:0 0 1.2rem;font-size:.9rem;color:var(--texte);max-width:68ch}

/* ── Ils nous font confiance : logos + note + témoignages ── */
.confiance{overflow:hidden;background:transparent;padding:2.25rem 0;margin-bottom:2rem}
.confiance__piste{display:flex;width:max-content;animation:confiance-defile 78s linear infinite}
.confiance__groupe{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex:none}
.confiance__logo{padding:0 2.75rem;flex:none}
.confiance:hover .confiance__piste{animation-play-state:paused}
@keyframes confiance-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.confiance__piste{animation:none;flex-wrap:wrap;justify-content:center}}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.confiance__groupe{display:flex;align-items:center;gap:4.5rem;padding-right:4.5rem;list-style:none}
.confiance__logo{flex:none;list-style:none}
.confiance__logo img{
  height:76px;width:auto;max-width:190px;object-fit:contain;
}
.note-bloc{text-align:center;margin:0 0 2rem}
.note-bloc__valeur{font-family:var(--f-titre);font-weight:800;font-size:2.6rem;color:var(--secondaire);margin:0;line-height:1}
.note-bloc__valeur span{font-size:1.2rem;color:#8C99A8;font-weight:600}
.note-bloc__etoiles{color:var(--etoile);letter-spacing:.2em;font-size:1.2rem;margin:.3rem 0}
.note-bloc__detail{font-size:.9rem;color:var(--texte);margin:0}
.note-bloc__detail a{color:var(--primaire-fonce);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.note-bandeau__valeur small{font-size:.9rem;font-weight:600;color:#8C99A8}
.note-bandeau__etoiles{color:var(--etoile);letter-spacing:.15em;font-size:1.05rem}
.note-bandeau__detail{font-size:.875rem;color:var(--texte)}
.note-bandeau__detail a{color:var(--primaire-fonce);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.temoignages{overflow:hidden;padding-bottom:.5rem}
.temoignages__piste{display:flex;width:max-content;animation:defile 60s linear infinite}
.temoignages__groupe{display:flex;gap:1rem;padding-right:1rem}
.temoignage{
  width:330px;flex:none;background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);
  padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;
}
.temoignage__etoiles{color:var(--etoile);letter-spacing:.18em;font-size:.9rem}
.temoignage__texte{font-size:.9rem;line-height:1.6;color:var(--texte);margin:0;flex:1}
.temoignage__pied{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;border-top:1px solid var(--trait);padding-top:.7rem}
.temoignage__pied strong{font-family:var(--f-titre);font-size:.85rem;color:var(--secondaire)}
.temoignage__pied span{font-size:.72rem;color:#8C99A8}
.temoignages:hover .temoignages__piste{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.confiance__piste,.temoignages__piste{animation:none}}

/* WhatsApp flottant */
.whatsapp{
  position:fixed;right:1.25rem;bottom:1.25rem;z-index:150;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  box-shadow:0 8px 24px -6px rgba(37,211,102,.6);
  transition:transform .3s var(--sortie),box-shadow .3s;
}
.whatsapp:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px -6px rgba(37,211,102,.7)}

@media (max-width:1120px){
  .presentation{grid-template-columns:1fr}
  .avis{width:290px}
}

/* ═══ Page catégorie + page produit ═══ */
.fil{border-bottom:1px solid var(--trait);background:#fff}
.fil ol{list-style:none;margin:0;padding:.8rem 0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:#8C99A8}
.fil li{display:flex;align-items:center;gap:.5rem}
.fil li+li::before{content:"›";color:#C4CAD1}
.fil a{color:var(--texte);transition:color .2s}
.fil a:hover{color:var(--primaire-fonce)}
.fil [aria-current]{color:var(--secondaire);font-weight:600}

.cat-tete{background:#F7F5F1;padding:clamp(1.75rem,4vw,2.75rem) 0;border-bottom:1px solid var(--trait)}
.cat-tete__titre{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);text-transform:uppercase;letter-spacing:.01em}
.cat-tete__chapo{max-width:68ch;margin:.8rem 0 1rem;font-size:.9688rem;color:var(--texte)}
.cat-tete__meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.8125rem;color:var(--texte-2)}
.cat-tete__meta span{display:flex;align-items:center;gap:.4rem}
.cat-tete__meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primaire)}

.cat-filtres{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.cat-filtres__label{font-family:var(--f-titre);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--secondaire);margin-right:.25rem}
.cat-filtre{
  padding:.45rem 1rem;border:1.5px solid var(--trait);border-radius:100px;
  font-size:.8125rem;color:var(--texte);transition:border-color .25s,background-color .25s,color .25s;
}
.cat-filtre:hover{border-color:var(--secondaire);color:var(--secondaire)}
.cat-filtre.is-active{background:var(--secondaire);border-color:var(--secondaire);color:#fff}
.cat-tri{margin-left:auto;font-size:.8125rem;color:var(--texte)}
.cat-tri select{font:inherit;border:1.5px solid var(--trait);border-radius:var(--r);padding:.35rem .6rem;background:#fff;color:var(--secondaire)}
.produits--cat{grid-template-columns:repeat(4,1fr)}

.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:2.25rem}
.pagination__page{
  min-width:40px;height:40px;display:grid;place-items:center;padding:0 .8rem;
  border:1.5px solid var(--trait);border-radius:var(--r);
  font-family:var(--f-titre);font-weight:600;font-size:.875rem;color:var(--texte);
  transition:border-color .25s,background-color .25s,color .25s;
}
.pagination__page:hover{border-color:var(--secondaire);color:var(--secondaire)}
.pagination__page.is-active{background:var(--primaire);border-color:var(--primaire);color:var(--secondaire)}
.pagination__page--suiv{width:auto;padding:0 1.1rem}
.heros__texte{min-width:0}

/* fiche produit */
.fiche{padding:clamp(1.5rem,3.5vw,2.75rem) 0 clamp(3.25rem,6vw,5rem)}
.fiche__grille{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:start}
.galerie{position:sticky;top:150px}
.galerie__scene{position:relative;aspect-ratio:1/1;border-radius:var(--r-l);overflow:hidden;background:#fff;border:1px solid var(--trait)}
.galerie__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;opacity:0;transition:opacity .4s}
.galerie__img.is-active{opacity:1}
.galerie__etiquette{
  position:absolute;left:1rem;bottom:1rem;z-index:2;
  background:var(--secondaire);color:#fff;border-radius:100px;padding:.45rem .95rem;
  font-family:var(--f-titre);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.galerie__vignettes{display:flex;gap:.6rem;margin-top:.75rem}
.vignette{
  width:74px;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;flex:none;
  border:1.5px solid var(--trait);background:#fff;cursor:pointer;padding:0;
  transition:border-color .25s,transform .25s var(--sortie);
}
.vignette:hover{transform:translateY(-2px)}
.vignette[aria-current="true"]{border-color:var(--primaire);box-shadow:0 0 0 1px var(--primaire)}
.vignette img{width:100%;height:100%;object-fit:contain;padding:8%}

.achat__ref{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8C99A8;margin:0 0 .5rem}
.achat__titre{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.1rem);text-transform:uppercase;margin-bottom:.6rem}
.achat .etoiles{margin-bottom:.9rem}
.achat .etoiles a{color:var(--primaire-fonce);text-decoration:underline;text-underline-offset:3px}
.achat__resume{font-size:.9375rem;color:var(--texte);margin-bottom:1.25rem;max-width:52ch}
.achat__prix{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;padding:1rem 0;border-block:1px solid var(--trait);margin-bottom:1.4rem}
.achat__ht-fort{font-family:var(--f-titre);font-size:2.15rem;font-weight:800;color:var(--secondaire);display:flex;align-items:baseline;gap:.35rem}
.achat__ht-fort small{font-size:.9rem;font-weight:700;color:var(--primaire-fonce,#C97B2E);letter-spacing:.05em}
.achat__ttc-sec{font-size:.8125rem;color:#8C99A8}
.achat__ttc{font-family:var(--f-titre);font-size:2rem;font-weight:800;color:var(--secondaire)}
.achat__ht{font-size:.8125rem;color:#8C99A8}
.produit__prix strong{font-size:1.12rem;color:var(--secondaire)}
.produit__ht-lib{font-size:.75rem;font-weight:700;color:var(--primaire-fonce,#C97B2E);margin-left:.15rem}
.produit__ttc{display:block;font-size:.75rem;color:#93A1B0;margin-top:.1rem}
.achat__dispo{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--vert)}
.achat__dispo::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}

.champ{margin-bottom:1.25rem}
.champ__tete{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.champ__label{font-family:var(--f-titre);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--secondaire)}
.champ__valeur{font-size:.8125rem;color:var(--texte);font-weight:600}
.champ__aide{font-size:.8125rem;color:#8C99A8;margin:.5rem 0 0}
.options{display:flex;flex-wrap:wrap;gap:.5rem}
.option{position:relative}
.option input{position:absolute;opacity:0;width:0;height:0}
.option__corps{
  display:block;padding:.55rem 1rem;border-radius:var(--r);
  border:1.5px solid var(--trait);cursor:pointer;font-size:.8125rem;color:var(--texte);
  transition:border-color .25s,background-color .25s,color .25s;
}
.option__corps:hover{border-color:var(--secondaire)}
.option input:checked+.option__corps{background:var(--secondaire);border-color:var(--secondaire);color:#fff}
.option input:focus-visible+.option__corps{outline:2px solid var(--primaire-fonce);outline-offset:2px}
.nuancier{display:flex;flex-wrap:wrap;gap:.55rem}
.nuancier__choix input{position:absolute;opacity:0;width:0;height:0}
.nuancier__pastille{
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1.5px solid var(--trait);cursor:pointer;
  transition:border-color .25s,transform .25s var(--sortie);
}
.nuancier__pastille span{width:26px;height:26px;border-radius:50%}
.nuancier__pastille:hover{transform:translateY(-2px)}
.nuancier__choix input:checked+.nuancier__pastille{border-color:var(--secondaire);box-shadow:0 0 0 1.5px var(--secondaire)}
.nuancier__choix input:focus-visible+.nuancier__pastille{outline:2px solid var(--primaire-fonce);outline-offset:2px}
.zone-texte{
  width:100%;min-height:96px;resize:vertical;
  padding:.85rem 1rem;border:1.5px solid var(--trait);border-radius:var(--r);
  font-family:var(--f-corps);font-size:.9rem;color:var(--secondaire);background:#fff;
  transition:border-color .25s,box-shadow .25s;
}
.zone-texte:focus{outline:0;border-color:var(--primaire);box-shadow:0 0 0 3px rgba(245,166,35,.18)}
.zone-texte::placeholder{color:#A6AEB7}

.achat__barre{display:flex;gap:.7rem;align-items:stretch;margin:1.6rem 0 1.1rem}
.quantite{display:flex;align-items:center;border:1.5px solid var(--trait);border-radius:var(--r);overflow:hidden;flex:none;background:#fff}
.quantite button{width:42px;height:100%;display:grid;place-items:center;color:var(--secondaire);cursor:pointer;transition:background-color .2s}
.quantite button:hover{background:var(--fond)}
.quantite input{width:42px;border:0;text-align:center;background:none;font-family:var(--f-titre);font-weight:600;font-size:.9375rem;color:var(--secondaire);-moz-appearance:textfield}
.quantite input::-webkit-outer-spin-button,.quantite input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.achat__ajouter{flex:1;min-width:0}

.progression{list-style:none;display:flex;gap:.25rem;margin:0 0 1.4rem;padding:0;flex-wrap:wrap}
.progression__etape{
  display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:#8C99A8;
  padding:.35rem .7rem;border-radius:100px;
}
.progression__etape span{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  background:var(--fond);color:#8C99A8;font-family:var(--f-titre);font-weight:600;font-size:.6875rem;
}
.progression__etape.is-active{color:var(--secondaire);font-weight:600}
.progression__etape.is-active span{background:var(--primaire);color:var(--secondaire)}
.progression__etape+.progression__etape::before{content:"—";color:var(--trait);margin-right:.25rem}

.garanties{list-style:none;margin:1.4rem 0 0;padding:1.25rem 0 .5rem;border-top:1px solid var(--trait);display:grid;gap:.75rem}
.garanties li{position:relative;padding-left:1.9rem;font-size:.875rem;color:var(--texte);line-height:1.55}
.garanties li::before{
  content:"";position:absolute;left:0;top:.15rem;width:17px;height:17px;border-radius:50%;
  background:var(--vert-clair) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4.5 8.4l2.4 2.4 4.6-5" fill="none" stroke="%232F9E63" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/12px no-repeat;
}
.garanties strong{color:var(--secondaire)}
.volets{margin-top:clamp(2rem,4vw,3rem);display:grid;gap:.75rem}

@media (max-width:1120px){
  .produits--cat{grid-template-columns:repeat(2,1fr)}
  .fiche__grille{grid-template-columns:1fr}
  .galerie{position:static}
  .cat-tri{margin-left:0;flex-basis:100%}
}
@media (max-width:480px){
  .produits--cat{grid-template-columns:1fr}
  .achat__barre{flex-wrap:wrap}
  .achat__ajouter{flex:1 1 100%}
}

/* zone d'import de fichier (produits avec fichier importable) */
.depot{
  display:flex;align-items:center;gap:1rem;
  border:2px dashed var(--trait);border-radius:var(--r-l);
  padding:1.1rem 1.25rem;cursor:pointer;color:var(--texte);background:#fff;
  transition:border-color .25s,background-color .25s;
}
.depot:hover,.depot.is-hovered{border-color:var(--primaire);background:#FDF8EE}
.depot svg{color:var(--primaire-fonce);flex:none}
.depot__texte{font-size:.875rem;line-height:1.45}
.depot__texte small{color:#8C99A8}
.depot__nom{margin-left:auto;font-size:.8125rem;font-weight:600;color:var(--vert);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ═══ Panier + pages légales ═══ */
.panier{display:grid;grid-template-columns:1.6fr .9fr;gap:1.5rem;align-items:start}
.panier__lignes{display:grid;gap:.9rem}
.panier__ligne{
  display:grid;grid-template-columns:88px 1fr auto auto auto;gap:1.1rem;align-items:center;
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1rem 1.2rem;
}
.panier__ligne img{width:88px;height:88px;object-fit:cover;border-radius:var(--r);border:1px solid var(--trait)}
.panier__infos h3{font-size:.9375rem;margin-bottom:.25rem}
.panier__infos p{font-size:.8125rem;color:var(--texte);margin:0}
.panier__infos small{color:#8C99A8}
.panier__prix{font-family:var(--f-titre);font-weight:700;color:var(--secondaire);margin:0;white-space:nowrap}
.panier__suppr{color:#B0B7BF;font-size:1rem;padding:.4rem;border-radius:50%;transition:color .2s,background-color .2s;cursor:pointer}
.panier__suppr:hover{color:#C0392B;background:#FBEDEB}
.panier__resume{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1.5rem;
  position:sticky;top:150px;
}
.panier__resume h2{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem}
.panier__resume dl{margin:0 0 1.25rem}
.panier__resume dl div{display:flex;justify-content:space-between;padding:.45rem 0;font-size:.9rem;color:var(--texte)}
.panier__resume dd{margin:0;font-weight:600;color:var(--secondaire)}
.panier__total{border-top:1px solid var(--trait);margin-top:.5rem;padding-top:.8rem!important;font-family:var(--f-titre);font-weight:700}
.panier__total dd{font-size:1.2rem}
.panier__note{font-size:.78rem;color:#8C99A8;margin:1rem 0 0;text-align:center}

.legale h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;margin:1.75rem 0 .6rem}
.legale p{font-size:.9375rem;line-height:1.7;color:var(--texte)}
.legale a{color:var(--primaire-fonce);text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){
  .panier{grid-template-columns:1fr}
  .panier__resume{position:static}
  .panier__ligne{grid-template-columns:70px 1fr auto;grid-template-rows:auto auto}
  .panier__ligne img{width:70px;height:70px}
  .panier__ligne .quantite,.panier__ligne .panier__prix{grid-column:2/4}
}

/* ═══ Espace client + connexion ═══ */
.compte{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:start}
.compte__nav{display:grid;gap:.25rem;background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:.75rem;position:sticky;top:150px}
.compte__onglet{padding:.65rem .9rem;border-radius:var(--r);font-size:.875rem;font-weight:500;color:var(--texte);transition:background-color .2s,color .2s}
.compte__onglet:hover{background:var(--fond);color:var(--secondaire)}
.compte__onglet.is-active{background:var(--secondaire);color:#fff;font-weight:600}
.compte__onglet--sortie{color:#C0392B;margin-top:.5rem;border-top:1px solid var(--trait);border-radius:0 0 var(--r) var(--r)}
.compte__contenu{display:grid;gap:1rem}
.compte__carte{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1.4rem 1.5rem;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.compte__carte--bat{border-left:4px solid var(--primaire);background:#FDF8EE}
.compte__carte-titre{font-family:var(--f-titre);font-weight:700;color:var(--secondaire);margin:0 0 .25rem}
.compte__carte-texte{font-size:.875rem;color:var(--texte);margin:0}
.compte__titre-bloc{font-size:.9375rem;text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .75rem}
.compte__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);overflow:hidden}
.compte__table th{font-family:var(--f-titre);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#8C99A8;text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--trait)}
.compte__table td{padding:.85rem 1rem;font-size:.875rem;color:var(--texte);border-bottom:1px solid var(--trait)}
.compte__table tr:last-child td{border-bottom:0}
.statut{display:inline-block;padding:.25rem .7rem;border-radius:100px;font-size:.72rem;font-weight:600}
.statut--ok{background:var(--vert-clair);color:var(--vert)}
.statut--bat{background:var(--jaune-clair);color:var(--primaire-fonce)}
.compte__fichiers{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.compte__fichier{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:#fff;border:1px solid var(--trait);border-radius:100px;font-size:.8125rem;color:var(--secondaire)}
.compte__fichier::before{content:"📄"}
.connexion{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin-inline:auto}
.connexion__carte{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1.75rem}
@media (max-width:900px){
  .compte{grid-template-columns:1fr}
  .compte__nav{position:static;display:flex;overflow-x:auto}
  .connexion{grid-template-columns:1fr}
  .compte__table{display:block;overflow-x:auto}
}

.page-maj{font-size:.72rem;color:#8C99A8;margin:.9rem 0 0}

/* suggestions de recherche */
.recherche{position:relative}
.recherche__suggestions{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);
  box-shadow:0 24px 50px -20px rgba(15,29,45,.45);overflow:hidden;
}
.recherche__suggestions a{
  display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;
  transition:background-color .15s;
}
.recherche__suggestions a:hover{background:var(--fond)}
.recherche__suggestions img{width:44px;height:44px;object-fit:cover;border-radius:var(--r);border:1px solid var(--trait);flex:none}
.recherche__suggestions strong{display:block;font-size:.85rem;color:var(--secondaire);font-weight:600;line-height:1.3}
.recherche__suggestions small{font-size:.72rem;color:#8C99A8}
.recherche__tout{justify-content:center;font-family:var(--f-titre);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primaire-fonce);border-top:1px solid var(--trait)}

/* ---- Blocs editoriaux SEO ---- */
.seo-riche{background:#f7f8fb;padding:3.5rem 1.5rem;margin-top:3rem}
.seo-riche__inner{max-width:880px;margin:0 auto}
.seo-riche h2{font-size:1.3rem;color:#24313f;margin:2rem 0 .75rem;line-height:1.35}
.seo-riche h2:first-child{margin-top:0}
.seo-riche p{color:#4a5462;line-height:1.75;margin:0 0 1rem;font-size:.97rem}
.seo-riche a{color:#e08639;font-weight:600}
.seo-faq{border:1px solid #e3e7ee;border-radius:10px;background:#fff;margin-bottom:.6rem;padding:0}
.seo-faq summary{cursor:pointer;font-weight:600;color:#24313f;padding:.9rem 1.1rem;list-style-position:inside}
.seo-faq[open] summary{border-bottom:1px solid #eef1f6}
.seo-faq p{padding:.85rem 1.1rem;margin:0}

/* ---- Contact + FAQ en bas d'accueil ---- */
.contact-accueil__grille{display:grid;grid-template-columns:1.55fr 1fr;gap:2.5rem;align-items:start;margin-bottom:3rem}
.form-accueil{display:grid;gap:1rem}
.contact-accueil__infos{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1.6rem;font-size:.94rem;line-height:1.7;color:var(--texte)}
.contact-accueil__infos p{margin:0 0 1rem}
.contact-accueil__infos p:last-child{margin:0}
.contact-accueil__infos a{color:var(--secondaire);font-weight:600}
.btn--wa{background:#25D366;color:#fff;border-color:#25D366}
.btn--wa:hover{background:#1FB855;border-color:#1FB855}
.faq__titre{text-align:center;margin-bottom:1.5rem}
@media (max-width:900px){
  .contact-accueil__grille{grid-template-columns:1fr;gap:1.5rem}
}

/* ---- Configurateur + aperçu en direct ---- */
.perso{border:1px solid var(--trait);border-radius:var(--r-l);padding:1.4rem;margin:0 0 1.4rem;background:#FCFCFD}
.perso__titre{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem}
.perso__aide{font-size:.85rem;color:#6B7684;margin:0 0 1.1rem;line-height:1.55}
.perso__grille{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,320px);gap:1.5rem;align-items:start}
.perso__reglages{display:grid;gap:.85rem}
.perso__champ{display:grid;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--secondaire);min-width:0}
.perso__champ>span{line-height:1.3}
.perso__champ small{font-weight:400;color:#8C99A8}
.perso__champ textarea,.perso__champ select,.perso__champ input[type=file]{
  width:100%;border:1px solid var(--trait);border-radius:var(--r);padding:.6rem .75rem;
  font:inherit;font-weight:400;color:var(--texte);background:#fff}
.perso__champ textarea{min-height:92px;resize:vertical}
.perso__champ textarea:focus,.perso__champ select:focus{outline:2px solid var(--primaire);outline-offset:1px}
.perso--large{grid-column:1/-1}
.perso__duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}
.perso__compteur{font-size:.75rem;color:var(--primaire-fonce,#C97B2E);font-style:normal;font-weight:600;min-height:1em}
.perso__fichier-nom{font-size:.8rem;color:var(--primaire-fonce,#C97B2E);font-style:normal;font-weight:600}
.perso__apercu{margin:0;background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:.9rem;text-align:center}
.perso__apercu figcaption{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#8C99A8;font-weight:700;margin-bottom:.6rem}
.perso__canvas{width:100%;height:200px;display:block;background:
  repeating-conic-gradient(#F4F6F9 0% 25%,#fff 0% 50%) 50%/14px 14px;border-radius:var(--r)}
.perso__note{font-size:.72rem;color:#93A1B0;margin:.6rem 0 0;line-height:1.45}
.fidelite{font-size:.85rem;color:var(--primaire-fonce,#C97B2E);background:#FDF6EC;border:1px solid #F3E2CB;
  border-radius:var(--r);padding:.6rem .8rem;margin:0 0 1rem}
.fidelite--sans{color:#8C99A8;background:#F7F8FA;border-color:var(--trait)}
@media (max-width:900px){.perso__grille{grid-template-columns:1fr}.perso__canvas{height:180px}.perso__duo{grid-template-columns:1fr}}

/* ---- Chiffres clés ---- */
.chiffres{background:var(--secondaire);color:#fff;padding:3.25rem clamp(1.25rem,5vw,4rem);margin:2.5rem auto;width:min(100% - 2.5rem,var(--page));border-radius:16px}
.chiffres__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;
  width:100%;max-width:none;margin:0;padding:0}
.chiffre{padding:0 1rem}
.chiffre+.chiffre{border-left:1px solid rgba(255,255,255,.14)}
.chiffre__val{display:block;font-family:var(--f-titre);font-size:2.6rem;font-weight:800;color:var(--primaire);line-height:1.1;font-variant-numeric:tabular-nums}
.chiffre__lib{display:block;margin-top:.5rem;font-size:.875rem;color:#C6CFD9;line-height:1.5}
/* ---- Newsletter ---- */
.newsletter{background:var(--fond);border-top:1px solid var(--trait);padding:3rem 0}
.newsletter__grille{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:center}
.newsletter__titre{font-size:1.4rem;margin:0 0 .5rem}
.newsletter__texte{color:var(--texte);margin:0;line-height:1.65}
.newsletter__label{display:block;font-size:.8rem;font-weight:600;color:var(--secondaire);margin-bottom:.4rem}
.newsletter__ligne{display:flex;gap:.6rem;flex-wrap:wrap}
.newsletter__champ{flex:1;min-width:210px;border:1px solid var(--trait);border-radius:100px;padding:.75rem 1.15rem;font:inherit;background:#fff}
.newsletter__champ:focus{outline:2px solid var(--primaire);outline-offset:1px}
.newsletter__rgpd{display:flex;gap:.5rem;align-items:flex-start;margin-top:.7rem;font-size:.78rem;color:#6B7684;line-height:1.5}
@media (max-width:900px){
  .chiffres__grille{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
  .chiffre:nth-child(3){border-left:0}
  .chiffre__val{font-size:2.1rem}
  .newsletter__grille{grid-template-columns:1fr;gap:1.25rem}
}
@media (max-width:480px){.chiffres__grille{grid-template-columns:1fr}.chiffre+.chiffre{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding-top:1.5rem}}

/* ---- Carrousel du hero ---- */
.heros{position:relative}
/* ---- Hero pleine largeur, texte en surimpression ---- */
.heros--plein{position:relative;padding:0}
.heros__piste{display:grid;min-height:clamp(430px,58vw,620px)}
.heros__slide{grid-area:1/1;position:relative;display:grid;align-items:center;
  opacity:0;pointer-events:none;z-index:1;
  transition:opacity .38s cubic-bezier(.4,0,.2,1)}
.heros__slide.is-active{opacity:1;pointer-events:auto;z-index:2}
.heros__fond{position:absolute;inset:0;background-size:cover;background-position:center right;background-repeat:no-repeat}
.heros__voile{position:absolute;inset:0}
.heros__slide--clair .heros__voile{background:linear-gradient(100deg,
  rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 30%,rgba(255,255,255,.45) 52%,rgba(255,255,255,0) 72%)}
.heros__slide--sombre .heros__voile{background:linear-gradient(100deg,
  rgba(18,32,46,.94) 0%,rgba(18,32,46,.85) 32%,rgba(18,32,46,.4) 55%,rgba(18,32,46,0) 76%)}
.heros__contenu{position:relative;z-index:2;max-width:1400px;padding-block:clamp(2.5rem,6vw,4.5rem)}
.heros__contenu>*{max-width:min(560px,52%)}
.heros__slide--sombre .heros__soustitre,
.heros__slide--sombre .heros__confiance{color:#E8ECF0}
.heros__slide--sombre .heros__titre .l1{color:#fff}
.heros__slide--sombre .heros__confiance strong{color:#fff}
.heros__slide.is-active .heros__contenu>*{animation:heros-monte .65s cubic-bezier(.22,1,.36,1) backwards}
.heros__slide.is-active .heros__contenu>*:nth-child(2){animation-delay:.08s}
.heros__slide.is-active .heros__contenu>*:nth-child(3){animation-delay:.16s}
.heros__slide.is-active .heros__contenu>*:nth-child(4){animation-delay:.24s}
@keyframes heros-monte{from{opacity:0;transform:translateY(18px)}}
.heros__points{position:absolute;left:0;right:0;bottom:1.5rem;z-index:3;display:flex;
  gap:.55rem;justify-content:center;padding:0}
@media (max-width:900px){
  .heros__piste{min-height:auto}
  .heros__slide{align-content:end}
  .heros__fond{background-position:center}
  .heros__contenu{padding-block:clamp(9rem,42vw,15rem) 3.75rem}
  .heros__contenu>*{max-width:100%}
  .heros__slide--clair .heros__voile{background:linear-gradient(180deg,
    rgba(255,255,255,.25) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.97) 62%)}
  .heros__slide--sombre .heros__voile{background:linear-gradient(180deg,
    rgba(18,32,46,.3) 0%,rgba(18,32,46,.86) 42%,rgba(18,32,46,.97) 62%)}
}
@media (prefers-reduced-motion:reduce){
  .heros__slide{transition:none}
  .heros__slide.is-active .heros__contenu>*{animation:none}
}
.heros__points{display:flex;gap:.55rem;justify-content:center;padding:0 0 1.75rem}
.heros__point{width:9px;height:9px;border-radius:50%;background:#C9D2DC;border:0;cursor:pointer;
  padding:0;transition:width .3s var(--sortie),background-color .3s}
.heros__point.is-active{width:26px;border-radius:100px;background:var(--primaire)}
.heros__point:focus-visible{outline:2px solid var(--secondaire);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.heros__slide.is-active{animation:none}}

/* ---- Sélecteurs et champs à la charte ---- */
.perso__champ select{
  -webkit-appearance:none;appearance:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23E8A33D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
  border:1.5px solid var(--trait);border-radius:100px;
  padding:.7rem 2.6rem .7rem 1.1rem;
  font-family:var(--f-corps);font-size:.92rem;font-weight:600;color:var(--secondaire);
  cursor:pointer;transition:border-color .25s,box-shadow .25s,background-color .25s;
}
.perso__champ select:hover{border-color:var(--primaire);background-color:#FFFCF7}
.perso__champ select:focus{outline:0;border-color:var(--primaire);
  box-shadow:0 0 0 3px rgba(232,163,61,.22)}
.perso__champ textarea{
  border:1.5px solid var(--trait);border-radius:var(--r-l);padding:.8rem 1rem;
  font-family:var(--f-corps);font-size:.92rem;color:var(--secondaire);
  transition:border-color .25s,box-shadow .25s;
}
.perso__champ textarea:hover{border-color:#C9D2DC}
.perso__champ textarea:focus{outline:0;border-color:var(--primaire);
  box-shadow:0 0 0 3px rgba(232,163,61,.22)}
.perso__champ textarea::placeholder{color:#A9B3BF}
.perso__champ--fichier input[type=file]{
  border:1.5px dashed var(--trait);border-radius:var(--r-l);background:#fff;
  padding:.7rem .9rem;font-size:.85rem;color:#6B7684;cursor:pointer;transition:border-color .25s,background-color .25s;
}
.perso__champ--fichier input[type=file]:hover{border-color:var(--primaire);background:#FFFCF7}
.perso__champ input[type=file]::file-selector-button{
  border:0;border-radius:100px;background:var(--secondaire);color:#fff;
  font-family:var(--f-titre);font-size:.78rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;padding:.5rem 1rem;margin-right:.8rem;cursor:pointer;transition:background-color .25s;
}
.perso__champ input[type=file]::file-selector-button:hover{background:var(--primaire);color:var(--secondaire)}

/* ---- Renvoi vers le configurateur de classe ---- */
.appel-classe{background:#FDF6EC;border:1px solid #F3E2CB;border-radius:var(--r-l);
  padding:1.25rem;margin:0 0 1.4rem}
.appel-classe__texte{margin:0 0 1rem;font-size:.92rem;line-height:1.6;color:var(--texte)}
.appel-classe__texte strong{color:var(--secondaire)}
.appel-classe__btn{width:100%;justify-content:center}
.appel-classe__paliers{margin:.8rem 0 0;font-size:.78rem;color:#8C99A8;text-align:center;line-height:1.5}
/* défilement doux vers le configurateur */
html{scroll-behavior:smooth}
#titre-classe{scroll-margin-top:170px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Commande de classe — tampons école maternelle ---- */
.classe{background:var(--fond);padding:3.5rem 0;border-block:1px solid var(--trait)}
.classe--vise .etape:first-child{box-shadow:0 0 0 3px rgba(232,163,61,.35);transition:box-shadow .4s}
.classe__sur{font-family:var(--f-titre);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primaire-fonce,#C97B2E);margin:0 0 .5rem}
.classe__intro{max-width:640px;margin-bottom:2.5rem}
.classe__titre{font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.15;margin:0 0 .75rem}
.classe__titre span{color:var(--primaire);text-decoration:underline;text-decoration-thickness:3px;
  text-underline-offset:5px}
.classe__chapo{color:var(--texte);line-height:1.7;margin:0;font-size:1rem}
.classe__grille{display:grid;grid-template-columns:1fr minmax(300px,360px);gap:2rem;align-items:start}

.classe__etapes{display:grid;gap:1rem}
.etape{display:grid;grid-template-columns:auto 1fr;gap:1rem;background:#fff;
  border:1px solid var(--trait);border-radius:var(--r-l);padding:1.4rem}
.etape__num{width:30px;height:30px;border-radius:50%;background:var(--primaire);color:var(--secondaire);
  display:grid;place-items:center;font-family:var(--f-titre);font-weight:800;font-size:.9rem}
.etape__corps h3{font-size:1.02rem;margin:.15rem 0 .3rem}
.etape__aide{font-size:.85rem;color:#6B7684;line-height:1.55;margin:0 0 .9rem}
.etape textarea{width:100%;border:1.5px solid var(--trait);border-radius:var(--r-l);padding:.8rem 1rem;
  font:inherit;font-size:.95rem;line-height:1.7;resize:vertical;min-height:180px;color:var(--secondaire)}
.etape textarea:focus{outline:0;border-color:var(--primaire);box-shadow:0 0 0 3px rgba(232,163,61,.22)}
.etape__duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin-bottom:.8rem}
.etape__duo:last-child{margin-bottom:0}
.champ{display:grid;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--secondaire);min-width:0}
.champ small{font-weight:400;color:#8C99A8}
.champ select{-webkit-appearance:none;appearance:none;background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23E8A33D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
  border:1.5px solid var(--trait);border-radius:100px;padding:.6rem 2.4rem .6rem 1rem;
  font-family:var(--f-corps);font-size:.88rem;font-weight:600;color:var(--secondaire);cursor:pointer}
.champ select:focus{outline:0;border-color:var(--primaire);box-shadow:0 0 0 3px rgba(232,163,61,.22)}
.etape__qte{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.etape__qte input{width:110px;border:1.5px solid var(--trait);border-radius:100px;padding:.6rem 1rem;
  font-family:var(--f-titre);font-size:1.1rem;font-weight:800;color:var(--secondaire);text-align:center}
.etape__qte input:focus{outline:0;border-color:var(--primaire);box-shadow:0 0 0 3px rgba(232,163,61,.22)}
.classe__lien{font-size:.82rem;color:var(--primaire-fonce,#C97B2E);font-weight:600;text-decoration:underline}
.classe__compteur{margin:.6rem 0 0;font-size:.85rem;font-weight:700;color:var(--primaire-fonce,#C97B2E)}
.classe__alerte{margin:.5rem 0 0;font-size:.8rem;color:#6B7684;background:#FDF6EC;border:1px solid #F3E2CB;
  border-radius:var(--r);padding:.55rem .75rem;line-height:1.5}

.classe__panneau{position:sticky;top:150px;background:var(--secondaire);color:#fff;
  border-radius:var(--r-l);padding:1.5rem}
.classe__apercu{margin:0 0 1.25rem;background:#fff;border-radius:var(--r);padding:.85rem;text-align:center}
.classe__apercu figcaption{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;
  color:#8C99A8;font-weight:700;margin-bottom:.5rem}
.classe__canvas{width:100%;height:130px;display:block;
  background:repeating-conic-gradient(#F4F6F9 0% 25%,#fff 0% 50%) 50%/12px 12px;border-radius:6px}
.classe__recap{margin:0 0 .4rem;display:grid;gap:.55rem}
.classe__recap>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.classe__recap dt{font-size:.85rem;color:#B8C2CD;margin:0}
.classe__recap dd{margin:0;font-weight:700;font-family:var(--f-titre)}
.classe__recap--lot{border-top:1px solid rgba(255,255,255,.16);padding-top:.7rem;margin-top:.3rem}
.classe__recap--lot dt{color:#fff;font-weight:700;font-size:.95rem}
.classe__recap--lot dd{font-size:1.6rem;color:var(--primaire)}
.classe__ht{margin:0 0 1rem;font-size:.8rem;color:#93A1B0;text-align:right}
.classe__eco,.classe__cadeau{font-size:.82rem;line-height:1.5;border-radius:var(--r);
  padding:.6rem .8rem;margin:0 0 .8rem}
.classe__eco{background:rgba(232,163,61,.14);color:#F5CE9A;border:1px solid rgba(232,163,61,.3)}
.classe__cadeau{background:rgba(37,211,102,.12);color:#9FE8BC;border:1px solid rgba(37,211,102,.28)}
.classe__eco strong,.classe__cadeau strong{color:#fff}
.classe__ajouter{width:100%;justify-content:center}
.classe__note{font-size:.74rem;color:#93A1B0;line-height:1.5;margin:.8rem 0 0;text-align:center}

.classe__paliers{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--trait)}
.classe__paliers h3{font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 1.5rem;max-width:560px;line-height:1.25}
.paliers{list-style:none;margin:0 0 1rem;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}
.paliers li{background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);padding:1.1rem;text-align:center}
.paliers__tranche{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#8C99A8;margin-bottom:.35rem}
.paliers__prix{display:block;font-family:var(--f-titre);font-size:1.7rem;font-weight:800;color:var(--secondaire)}
.paliers__unite{display:block;font-size:.75rem;color:#8C99A8;margin-top:.2rem}
.classe__mention{font-size:.85rem;color:#6B7684;line-height:1.6;margin:0}

.classe__faq{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--trait);max-width:760px}
.classe__faq h3{font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 1.25rem}

@media (max-width:980px){
  .classe__grille{grid-template-columns:1fr}
  .classe__panneau{position:static}
}
@media (max-width:520px){
  .etape{grid-template-columns:1fr;gap:.6rem}
  .etape__num{margin-bottom:.2rem}
}

/* ---- Bandeau engagements + tampon Chorus ---- */
.engagements{background:var(--secondaire);color:#fff;padding:clamp(2.5rem,5vw,3.75rem) 0}
.engagements__grille{display:grid;grid-template-columns:190px 1fr;gap:clamp(1.75rem,4vw,3rem);align-items:center}
.engagements__tampon{color:var(--primaire);transform:rotate(-8deg);opacity:.95}
.engagements__tampon svg{width:100%;height:auto;display:block}
.engagements__sur{font-family:var(--f-titre);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primaire);margin:0 0 .5rem}
.engagements__titre{font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.2;margin:0 0 .85rem;color:#fff}
.engagements__texte p{color:#C6CFD9;line-height:1.7;margin:0 0 1.1rem;max-width:60ch}
.engagements__liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}
.engagements__liste li{position:relative;padding-left:1.4rem;font-size:.875rem;color:#C6CFD9}
.engagements__liste li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;
  border-radius:50%;background:var(--primaire)}
.engagements__liste strong{color:#fff}
@media (max-width:760px){
  .engagements__grille{grid-template-columns:1fr;gap:1.5rem;text-align:center}
  .engagements__tampon{width:150px;margin:0 auto}
  .engagements__texte p{margin-inline:auto}
  .engagements__liste{justify-content:center;text-align:left}
}

/* ---- Bandeau atelier : texte à gauche, photo à droite ---- */
.atelier-bloc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.atelier-bloc__sur{font-family:var(--f-titre);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primaire-fonce,#C97B2E);margin:0 0 .6rem}
.atelier-bloc__texte>p{color:var(--texte);line-height:1.75;margin:0 0 1rem;max-width:56ch}
.atelier-bloc__points{list-style:none;margin:1.6rem 0;padding:0;display:grid;gap:1.1rem}
.atelier-bloc__points li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}
.atelier-bloc__picto{width:34px;height:34px;border-radius:50%;background:#FDF6EC;color:var(--primaire-fonce,#C97B2E);
  display:grid;place-items:center;flex:none}
.atelier-bloc__points strong{display:block;color:var(--secondaire);font-size:.95rem;margin-bottom:.15rem}
.atelier-bloc__points p{margin:0;font-size:.875rem;color:#6B7684;line-height:1.55}
.atelier-bloc__media{margin:0;position:relative}
.atelier-bloc__media img{width:100%;height:auto;display:block;border-radius:var(--r-l);box-shadow:var(--ombre)}
.atelier-bloc__media figcaption{margin-top:.75rem;font-size:.78rem;color:#8C99A8;text-align:center;font-style:italic}
@media (max-width:900px){
  .atelier-bloc{grid-template-columns:1fr;gap:2rem}
  .atelier-bloc__media{order:-1}
}

/* ---- Largeur de ligne homogène (point 13 du brief) ---- */
.section p:not([class]),
.section__tete p,
.seo-riche p,
.atelier-bloc__texte>p,
.classe__chapo{max-width:var(--ligne-max)}
.section__tete--centre p{margin-inline:auto}

/* ═══ Onglets « Que souhaitez-vous personnaliser ? » (repris de l'ancien catalogue) ═══ */
.onglets{margin-top:2rem}
.onglets__barre{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;
  padding-bottom:1.25rem;margin-bottom:1.75rem;border-bottom:1px solid var(--trait)}
.onglets__btn{appearance:none;border:1px solid var(--trait);background:#fff;color:var(--encre);
  font:inherit;font-size:.9rem;font-weight:600;letter-spacing:.01em;
  padding:.6rem 1.1rem;border-radius:999px;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.onglets__btn:hover{border-color:var(--orange);color:var(--orange)}
.onglets__btn.is-active{background:var(--orange);border-color:var(--orange);color:#fff}
.onglets__btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

.onglets__panneau[hidden]{display:none}
.onglets__grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem 1rem}
.og-carte{display:flex;align-items:center;gap:.85rem;padding:.6rem .75rem;border-radius:10px;
  color:var(--encre);text-decoration:none;line-height:1.3;
  transition:background .16s ease,transform .16s ease}
.og-carte:hover{background:var(--creme);transform:translateX(2px)}
.og-carte:hover .og-carte__nom{color:var(--orange)}
.og-carte__media{flex:0 0 56px;width:56px;height:56px;border-radius:8px;overflow:hidden;
  background:#fff;border:1px solid var(--trait);display:grid;place-items:center}
.og-carte__media img{width:100%;height:100%;object-fit:contain;padding:3px}
.og-carte__nom{font-size:.9rem;font-weight:500;transition:color .16s ease}
.onglets__tout{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;
  font-weight:700;font-size:.92rem;color:var(--orange);text-decoration:none}
.onglets__tout:hover{text-decoration:underline}

@media (max-width:720px){
  .onglets__barre{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    margin-inline:calc(var(--marge-page,1.25rem) * -1);padding-inline:var(--marge-page,1.25rem)}
  .onglets__barre::-webkit-scrollbar{display:none}
  .onglets__btn{white-space:nowrap;flex:0 0 auto}
  .onglets__grille{grid-template-columns:1fr 1fr;gap:.35rem .5rem}
  .og-carte{flex-direction:column;text-align:center;gap:.5rem;padding:.75rem .4rem}
  .og-carte__media{flex:0 0 auto}
  .og-carte__nom{font-size:.8rem}
}

/* ═══ Cachet « Paiement par Chorus » sur la photo pleine page ═══ */
.cachet-chorus{position:absolute;right:clamp(1rem,4vw,3.5rem);bottom:clamp(1.5rem,5vh,3.5rem);
  z-index:3;width:clamp(96px,11vw,150px);aspect-ratio:1;pointer-events:none;
  color:#1b3a6b;opacity:.82;transform:rotate(-13deg);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}
.cachet-chorus svg{width:100%;height:100%;display:block}
.cachet-chorus__arc{fill:currentColor;font-family:"Plus Jakarta Sans",system-ui,sans-serif;
  font-size:13px;font-weight:800;letter-spacing:.09em}
.cachet-chorus__centre{fill:currentColor;font-family:"Plus Jakarta Sans",system-ui,sans-serif;
  font-size:15px;font-weight:800;letter-spacing:.05em}
@media (max-width:720px){.cachet-chorus{right:1rem;bottom:1rem;opacity:.7}}

/* ═══ Bandeau d'engagements (sépare « personnaliser » et « incontournables ») ═══ */
.engagements{padding:2.25rem 0;background:var(--creme);color:var(--encre);
  border-block:1px solid var(--trait)}
.engagements__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem}
.engagement{display:flex;align-items:flex-start;gap:.85rem}
.engagement svg{flex:0 0 26px;width:26px;height:26px;color:var(--orange);margin-top:.1rem}
.engagement strong{display:block;font-size:.95rem;font-weight:700;line-height:1.25}
.engagement span{display:block;margin-top:.2rem;font-size:.82rem;color:var(--encre-doux);line-height:1.4}
@media (max-width:980px){.engagements__grille{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.engagements{padding:1.75rem 0}
  .engagements__grille{grid-template-columns:1fr;gap:1.1rem}}

/* ═══ Navigation des sous-catégories sur les pages catégories ═══ */
.sous-cats{padding:1.25rem 0 0}
.sous-cats__titre{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;
  color:var(--encre-doux);margin:0 0 .85rem}
.sous-cats__grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.35rem .75rem}
.sc-carte{display:flex;align-items:center;gap:.7rem;padding:.5rem .6rem;border-radius:9px;
  color:var(--encre);text-decoration:none;line-height:1.3;
  transition:background .16s ease,transform .16s ease}
a.sc-carte:hover{background:var(--creme);transform:translateX(2px)}
a.sc-carte:hover .sc-carte__nom{color:var(--orange)}
.sc-carte.is-active{background:var(--creme);cursor:default}
.sc-carte.is-active .sc-carte__nom{color:var(--orange);font-weight:700}
.sc-carte__media{flex:0 0 46px;width:46px;height:46px;border-radius:7px;overflow:hidden;
  background:#fff;border:1px solid var(--trait);display:grid;place-items:center}
.sc-carte__media img{width:100%;height:100%;object-fit:contain;padding:2px}
.sc-carte__nom{font-size:.85rem;font-weight:500;transition:color .16s ease}
@media (max-width:720px){
  .sous-cats__grille{grid-template-columns:1fr 1fr;gap:.25rem .4rem}
  .sc-carte{gap:.5rem;padding:.45rem .35rem}
  .sc-carte__media{flex:0 0 38px;width:38px;height:38px}
  .sc-carte__nom{font-size:.78rem}
}

/* ═══ Blog : article et index ═══ */
.article{padding-bottom:4rem}
.article__entete{padding:2.5rem 0 1.75rem;border-bottom:1px solid var(--trait);margin-bottom:2.5rem}
.article__cat{display:inline-block;font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.11em;color:var(--orange);margin:0 0 .85rem}
.article__titre{font-family:var(--f-titre);font-size:clamp(1.75rem,3.6vw,2.65rem);font-weight:800;
  line-height:1.15;letter-spacing:-.015em;margin:0 0 1.1rem;max-width:20ch;text-wrap:balance}
.article__chapo{font-size:1.06rem;line-height:1.65;color:var(--encre-doux);max-width:var(--ligne-max);margin:0 0 1.5rem}
.article__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.82rem;color:var(--encre-doux);margin-bottom:.85rem}
.article__auteur{font-size:.88rem;color:var(--encre-doux);max-width:var(--ligne-max);margin:0}

.article__corps{max-width:52rem;margin-inline:auto}
/* Grille corps + sommaire sticky (desktop) */
.article__grille--toc{display:grid;grid-template-columns:minmax(0,52rem) 14rem;gap:2.75rem;justify-content:center;align-items:start}
.article__grille--toc .article__corps{grid-column:1;grid-row:1;max-width:none;margin:0}
.article__toc{grid-column:2;grid-row:1;position:sticky;top:96px;font-size:.88rem}
.article__toc-titre{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--encre-doux);margin:0 0 .75rem}
.article__toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--trait)}
.article__toc li{margin:0}
.article__toc a{display:block;padding:.35rem .9rem;margin-left:-2px;border-left:2px solid transparent;color:var(--encre-doux);text-decoration:none;line-height:1.35}
.article__toc a:hover{color:var(--orange);border-left-color:var(--orange)}
@media (max-width:900px){.article__grille--toc{grid-template-columns:1fr}.article__toc{display:none}}
.article__corps h2{font-family:var(--f-titre);font-size:clamp(1.3rem,2.3vw,1.75rem);font-weight:800;
  line-height:1.25;margin:3rem 0 1rem;scroll-margin-top:120px;max-width:24ch;text-wrap:balance}
.article__corps h2:first-of-type{margin-top:1.5rem}
.article__corps p{max-width:none;line-height:1.72;margin:0 0 1.15rem}
.article__corps a:not(.btn):not(.lien-texte){color:var(--orange);text-underline-offset:3px}
.article__corps a:not(.btn):not(.lien-texte):hover{text-decoration:underline}
.article__corps .lien-texte{margin-top:.35rem}

.article__sommaire{background:var(--creme);border:1px solid var(--trait);border-radius:12px;
  padding:1.5rem 1.75rem;margin-bottom:2.5rem}
.article__sommaire-titre{font-size:.76rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--encre-doux);margin:0 0 .85rem}
.article__sommaire ol{margin:0;padding-left:1.25rem;columns:2;column-gap:2.5rem}
.article__sommaire li{margin-bottom:.4rem;font-size:.9rem;break-inside:avoid}
.article__sommaire a{color:var(--encre);text-decoration:none}
.article__sommaire a:hover{color:var(--orange);text-decoration:underline}

.article__aparte{border-left:3px solid var(--orange);background:var(--creme);
  padding:1rem 1.25rem;border-radius:0 8px 8px 0;margin:1.5rem 0 1.75rem!important;
  font-size:.94rem;max-width:var(--ligne-max)!important}
.article__etapes,.article__liste{max-width:var(--ligne-max);margin:0 0 1.5rem;padding-left:1.35rem;line-height:1.7}
.article__etapes li,.article__liste li{margin-bottom:.6rem}
.article__cta{margin-top:3rem;padding:1.75rem;background:var(--creme);
  border:1px solid var(--trait);border-radius:12px}
.article__cta p{margin-bottom:1rem}
.article__cta p:last-child{margin-bottom:0}
.faq--article{margin:1.25rem 0 0;max-width:var(--ligne-max)}

.tableau-large{overflow-x:auto;margin:1.5rem 0 2rem;border:1px solid var(--trait);border-radius:12px}
.tableau{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}
.tableau caption{text-align:left}
.tableau th,.tableau td{padding:.8rem 1rem;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--trait);line-height:1.4}
.tableau thead th{background:var(--creme);font-size:.78rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--encre-doux);white-space:nowrap}
.tableau tbody th{font-weight:700}
.tableau tbody tr:last-child th,.tableau tbody tr:last-child td{border-bottom:0}
.tableau tbody tr:hover{background:var(--creme)}
.tableau a{color:var(--orange);text-decoration:none}
.tableau a:hover{text-decoration:underline}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.articles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media (max-width:720px){.articles{grid-template-columns:1fr}}
.carte-article{border:1px solid var(--trait);border-radius:14px;overflow:hidden;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.carte-article:hover{border-color:var(--orange);transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(0,0,0,.06)}
.carte-article__lien{display:block;padding:1.75rem;color:var(--encre);text-decoration:none}
.carte-article__cat{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.11em;color:var(--orange);margin-bottom:.75rem}
.carte-article__titre{font-family:var(--f-titre);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:800;
  line-height:1.25;margin:0 0 .75rem;max-width:26ch}
.carte-article__extrait{font-size:.95rem;line-height:1.65;color:var(--encre-doux);
  max-width:var(--ligne-max);margin:0 0 1rem}
.carte-article__meta{display:block;font-size:.82rem;color:var(--encre-doux);margin-bottom:.85rem}
.articles__suite{margin-top:2rem;font-size:.95rem;color:var(--encre-doux);max-width:var(--ligne-max)}
.articles__suite a{color:var(--orange)}

@media (max-width:720px){
  .article__sommaire ol{columns:1}
  .article__sommaire{padding:1.25rem}
  .carte-article__lien{padding:1.35rem}
}

/* ═══ Encart « à lire aussi » (maillage vers le blog) ═══ */
.lire-aussi{padding:0 0 3.5rem}
.lire-aussi__eti{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;
  color:var(--encre-doux);margin:0 0 .85rem}
.lire-aussi__lien{display:block;padding:1.4rem 1.6rem;border:1px solid var(--trait);
  border-radius:12px;background:var(--creme);color:var(--encre);text-decoration:none;
  transition:border-color .18s ease,transform .18s ease}
.lire-aussi__lien:hover{border-color:var(--orange);transform:translateY(-2px)}
.lire-aussi__titre{display:block;font-family:var(--f-titre);font-size:1.06rem;font-weight:700;
  line-height:1.35;margin-bottom:.4rem;max-width:52ch}
.lire-aussi__lien:hover .lire-aussi__titre{color:var(--orange)}
.lire-aussi__note{display:block;font-size:.85rem;color:var(--encre-doux)}
@media (max-width:600px){.lire-aussi__lien{padding:1.15rem 1.2rem}}

/* ═══ Dossier de saison + rubrique rentrée ═══ */
.dossier{display:block;padding:2rem 2.25rem;margin-bottom:3rem;border-radius:16px;
  background:linear-gradient(120deg,var(--secondaire) 0%,#1d3355 100%);
  color:#fff;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.dossier:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.18)}
.dossier__eti{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:var(--primaire);margin-bottom:.75rem}
.dossier__titre{display:block;font-family:var(--f-titre);font-size:clamp(1.4rem,2.8vw,2rem);
  font-weight:800;line-height:1.2;margin-bottom:.6rem;max-width:22ch}
.dossier__note{display:block;font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.82);
  max-width:60ch;margin-bottom:1rem}
.dossier .lien-texte{color:var(--primaire)}

.titre-section--liste{font-size:1.15rem;margin-bottom:1.5rem}
.cat-tete--rentree .cat-tete__eti{display:inline-block;font-size:.74rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--orange);margin-bottom:.75rem}

.rentree-liens{border-top:1px solid var(--trait);padding-top:2.25rem}
.rentree-liens__titre{font-size:.76rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--encre-doux);margin:0 0 1.15rem}
.rentree-liens__grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}
.rentree-liens__grille a{display:block;padding:1rem 1.15rem;border:1px solid var(--trait);
  border-radius:10px;color:var(--encre);text-decoration:none;
  transition:border-color .18s ease,background .18s ease}
.rentree-liens__grille a:hover{border-color:var(--orange);background:var(--creme)}
.rentree-liens__grille strong{display:block;font-size:.95rem;margin-bottom:.25rem}
.rentree-liens__grille a:hover strong{color:var(--orange)}
.rentree-liens__grille span{display:block;font-size:.83rem;color:var(--encre-doux);line-height:1.45}

.article__suite{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--trait)}
.article__suite-eti{font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.11em;color:var(--encre-doux);margin:0 0 .9rem}
.article__suite ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.article__suite a{color:var(--encre);text-decoration:none;font-weight:600;font-size:.95rem}
.article__suite a:hover{color:var(--orange);text-decoration:underline}

@media (max-width:600px){
  .dossier{padding:1.5rem 1.35rem}
  .rentree-liens__grille{grid-template-columns:1fr}
}
.section--suite{padding-top:0}
.section--suite .rentree-liens{padding-top:2.5rem}

/* ═══ Bandeau rentrée sur l'accueil (saisonnier) ═══ */
.rentree-bandeau{padding:2.75rem 0;background:var(--creme);border-block:1px solid var(--trait)}
.rentree-bandeau__grille{display:grid;grid-template-columns:1.6fr auto;gap:2rem 3rem;align-items:center}
.rentree-bandeau__eti{font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:var(--orange);margin:0 0 .6rem}
.rentree-bandeau__titre{font-family:var(--f-titre);font-size:clamp(1.25rem,2.4vw,1.7rem);
  font-weight:800;line-height:1.25;margin:0 0 .6rem;max-width:26ch}
.rentree-bandeau__note{font-size:.94rem;line-height:1.6;color:var(--encre-doux);
  max-width:var(--ligne-max);margin:0}
.rentree-bandeau__actions{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
@media (max-width:860px){
  .rentree-bandeau__grille{grid-template-columns:1fr;gap:1.5rem}
  .rentree-bandeau__actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.25rem}
}

/* ─── Feedback « en cours » (anti effet « rien ne se passe ») ───────────── */
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin-left:.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}
.is-loading,.is-loading *{cursor:progress!important}
button[disabled],button:disabled{cursor:progress;opacity:.72}
button:disabled .fleche{opacity:.5}
/* Barre de progression de navigation (RouteProgress) */
/* Spinner de navigation : suit la souris, remplace le curseur pendant une transition (mécanisme urban-motors). */
.nav-spinner{position:fixed;top:0;left:0;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2.5px solid rgba(245,166,35,.28);border-top-color:var(--primaire,#F5A623);pointer-events:none;z-index:10000;opacity:0}
html.nav-busy .nav-spinner{opacity:1;animation:spin .7s linear infinite}
html.nav-busy,html.nav-busy *{cursor:none!important}
@media(hover:none){.nav-spinner{display:none}html.nav-busy,html.nav-busy *{cursor:auto!important}}
@media(prefers-reduced-motion:reduce){.nav-spinner{animation:none}}

/* ─── Recherche header : dropdown autocomplétion ───────────────────────── */
.recherche{position:relative}
.recherche-auto{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:1px solid var(--trait,#e6e6e6);border-radius:var(--r,10px);box-shadow:0 18px 40px rgba(15,29,45,.16);z-index:250;overflow:hidden;max-height:min(70vh,460px);overflow-y:auto}
.recherche-auto__item{display:flex;align-items:center;gap:.8rem;padding:.6rem .85rem;text-decoration:none;color:var(--secondaire);border-bottom:1px solid var(--trait,#f0f0f0)}
.recherche-auto__item:last-child{border-bottom:0}
.recherche-auto__item.is-active,.recherche-auto__item:hover{background:#fff6e8}
.recherche-auto__vignette{flex:0 0 46px;width:46px;height:46px;object-fit:cover;border-radius:8px;background:#f3f3f3}
.recherche-auto__txt{display:flex;flex-direction:column;min-width:0}
.recherche-auto__titre{font-weight:600;font-size:.92rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.recherche-auto__prix{font-size:.82rem;color:var(--primaire-fonce,#D98A0B);font-weight:600;margin-top:.1rem}
.recherche-auto__etat{padding:.85rem;font-size:.9rem;color:#555;text-align:center}

/* ═══ Accueil : re-sync maquette (5 cartes / Chorus / newsletter) ═══ */
.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.categorie{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-l);
  padding:1.1rem 1.1rem 1.25rem;display:flex;flex-direction:column;text-decoration:none;color:inherit;
  transition:transform .3s var(--sortie),box-shadow .3s,border-color .3s;
}
.categorie:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:var(--primaire)}
.categorie__media{aspect-ratio:4/3;background:var(--fond);border-radius:var(--r);overflow:hidden;margin-bottom:1rem;display:block}
.categorie__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--sortie)}
.categorie:hover .categorie__media img{transform:scale(1.06)}
.categorie h3{font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem}
.categorie p{font-size:.8125rem;color:var(--texte);flex:1;margin-bottom:.85rem}
.categorie .lien-texte{font-size:.75rem}
@media (max-width:1024px){.categories{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.categories{grid-template-columns:repeat(2,1fr)}}

.chorus{background:var(--secondaire);color:#fff;padding:clamp(2.5rem,5vw,3.75rem) 0}
.chorus__grille{display:grid;grid-template-columns:190px 1fr;gap:clamp(1.75rem,4vw,3rem);align-items:center}
.chorus__tampon{color:var(--primaire);transform:rotate(-8deg);opacity:.95}
.chorus__tampon svg{width:100%;height:auto;display:block}
.chorus__sur{font-family:var(--f-titre);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primaire);margin:0 0 .5rem}
.chorus__titre{font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.2;margin:0 0 .85rem;color:#fff}
.chorus__texte p{color:#C6CFD9;line-height:1.7;margin:0 0 1.1rem;max-width:60ch}
.chorus__liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}
.chorus__liste li{position:relative;padding-left:1.4rem;font-size:.875rem;color:#C6CFD9}
.chorus__liste li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;
  border-radius:50%;background:var(--primaire)}
.chorus__liste strong{color:#fff}
@media (max-width:720px){.chorus__grille{grid-template-columns:1fr;gap:1.5rem;text-align:center}.chorus__texte p{margin-inline:auto}}

.newsletter{background:var(--fond);border-top:1px solid var(--trait);padding:3rem 0}
.newsletter__grille{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:center}
.newsletter__titre{font-size:1.4rem;margin:0 0 .5rem}
.newsletter__texte{color:var(--texte);margin:0;line-height:1.65}
.newsletter__label{display:block;font-size:.8rem;font-weight:600;color:var(--secondaire);margin-bottom:.4rem}
.newsletter__ligne{display:flex;gap:.6rem;flex-wrap:wrap}
.newsletter__champ{flex:1;min-width:210px;border:1px solid var(--trait);border-radius:100px;padding:.75rem 1.15rem;font:inherit;background:#fff}
.newsletter__champ:focus{outline:2px solid var(--primaire);outline-offset:1px}
.newsletter__rgpd{display:flex;gap:.5rem;align-items:flex-start;margin-top:.7rem;font-size:.78rem;color:#6B7684;line-height:1.5}
@media (max-width:720px){.newsletter__grille{grid-template-columns:1fr;gap:1.25rem}}

.seo-riche{background:#f7f8fb;padding:3.5rem 1.5rem;margin-top:3rem}
.seo-riche__inner{max-width:880px;margin:0 auto}
.seo-riche h2{font-size:1.3rem;color:#24313f;margin:2rem 0 .75rem;line-height:1.35}
.seo-riche h2:first-child{margin-top:0}
.seo-riche p{color:#4a5462;line-height:1.75;margin:0 0 1rem;font-size:.97rem}
.seo-riche a{color:#e08639;font-weight:600}
