/* =========================================================
   Feuille de style de la boutique — design original
   Mobile d'abord, puis tablette (≥720px) et ordinateur (≥1040px)
   ========================================================= */

:root{
  --creme:#FDFAF6;
  --creme-2:#F6EFE8;
  --rose:#C98B86;
  --rose-fonce:#A86A66;
  --rose-pale:#F7E8E5;
  --sauge:#8FA08C;
  --encre:#2E2724;
  --encre-doux:#6B5E58;
  --trait:#E8DDD4;
  --blanc:#fff;
  --ombre:0 1px 2px rgba(46,39,36,.05), 0 8px 24px -12px rgba(46,39,36,.18);
  --ombre-forte:0 2px 4px rgba(46,39,36,.06), 0 18px 40px -16px rgba(46,39,36,.28);
  --r:14px;
  --r-lg:22px;
  --max:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  color:var(--encre);
  background:var(--creme);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}

h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:600;line-height:1.22;margin:0 0 .5em}
h1{font-size:1.85rem;letter-spacing:-.01em}
h2{font-size:1.45rem}
h3{font-size:1.15rem}
@media(min-width:720px){h1{font-size:2.5rem}h2{font-size:1.9rem}h3{font-size:1.25rem}}

.conteneur{width:100%;max-width:var(--max);margin:0 auto;padding:0 18px}
.section{padding:44px 0}
@media(min-width:720px){.section{padding:64px 0}}
.centre{text-align:center}
.muet{color:var(--encre-doux)}
.petit{font-size:.875rem}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:13px 22px;border-radius:999px;border:1px solid transparent;
  background:var(--rose);color:#fff;font-weight:600;font-size:.95rem;
  cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;
  text-align:center;min-height:46px;
}
.btn:hover{background:var(--rose-fonce)}
.btn:active{transform:translateY(1px)}
.btn--contour{background:transparent;color:var(--encre);border-color:var(--trait)}
.btn--contour:hover{background:var(--creme-2);color:var(--encre)}
.btn--sombre{background:var(--encre)}
.btn--sombre:hover{background:#1d1917}
.btn--bloc{width:100%}
.btn--petit{padding:9px 16px;min-height:38px;font-size:.85rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Bandeau + en-tête ---------- */
.bandeau{
  background:var(--encre);color:#F3E9E2;font-size:.8rem;
  padding:9px 0;text-align:center;letter-spacing:.01em;
}
.entete{
  position:sticky;top:0;z-index:60;background:rgba(253,250,246,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--trait);
}
.entete__barre{display:flex;align-items:center;gap:12px;padding:12px 0;min-height:64px}
.logo{display:flex;flex-direction:column;line-height:1.1;margin-right:auto}
.logo__nom{font-family:Georgia,serif;font-size:1.3rem;font-weight:600;letter-spacing:-.01em}
.logo__slogan{font-size:.68rem;color:var(--encre-doux);letter-spacing:.04em;text-transform:uppercase}
@media(min-width:720px){.logo__nom{font-size:1.55rem}}

.icone-btn{
  background:none;border:0;padding:8px;cursor:pointer;position:relative;
  display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
  min-width:42px;min-height:42px;
}
.icone-btn:hover{background:var(--creme-2)}
.pastille{
  position:absolute;top:2px;right:2px;background:var(--rose);color:#fff;
  font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;
  display:grid;place-items:center;padding:0 5px;
}
.menu-burger{display:inline-flex}
@media(min-width:1040px){.menu-burger{display:none}}

/* ---------- Navigation ---------- */
.nav{display:none}
@media(min-width:1040px){
  .nav{display:block;border-top:1px solid var(--trait)}
  .nav__liste{display:flex;gap:4px;list-style:none;margin:0;padding:0;justify-content:center}
  .nav__item{position:relative}
  .nav__lien{
    display:block;padding:13px 16px;font-size:.92rem;font-weight:500;
    border-bottom:2px solid transparent;
  }
  .nav__lien:hover{color:var(--rose-fonce);border-bottom-color:var(--rose)}
  .sous-menu{
    position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
    background:#fff;border:1px solid var(--trait);border-radius:var(--r);
    box-shadow:var(--ombre-forte);padding:16px;min-width:520px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:4px 22px;
    opacity:0;visibility:hidden;transition:.16s;z-index:70;
  }
  .nav__item:hover .sous-menu,.nav__item:focus-within .sous-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .sous-menu__groupe{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;
    color:var(--encre-doux);padding:10px 10px 4px;font-weight:700}
  .sous-menu a{display:block;padding:7px 10px;border-radius:8px;font-size:.9rem}
  .sous-menu a:hover{background:var(--pale,var(--rose-pale))}
}

/* Menu mobile */
.tiroir{
  position:fixed;inset:0 auto 0 0;width:min(86vw,360px);background:var(--creme);
  z-index:100;transform:translateX(-102%);transition:transform .25s ease;
  overflow-y:auto;padding:18px;box-shadow:var(--ombre-forte);
}
.tiroir.ouvert{transform:none}
.voile{position:fixed;inset:0;background:rgba(46,39,36,.45);z-index:90;opacity:0;visibility:hidden;transition:.25s}
.voile.ouvert{opacity:1;visibility:visible}
.tiroir__entete{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tiroir__groupe{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--encre-doux);
  font-weight:700;margin:20px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--trait)}
.tiroir a{display:block;padding:11px 6px;border-radius:8px;font-size:.98rem}
.tiroir a:hover{background:var(--creme-2)}

/* ---------- Héros ---------- */
.heros{
  background:linear-gradient(160deg,var(--rose-pale) 0%,var(--creme-2) 60%,var(--creme) 100%);
  padding:48px 0 52px;border-bottom:1px solid var(--trait);
}
.heros__grille{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.heros__grille{grid-template-columns:1.05fr .95fr;gap:48px}
  .heros{padding:72px 0 76px}}
.heros h1{margin-bottom:.35em}
.heros p{font-size:1.05rem;color:var(--encre-doux);max-width:46ch;margin:0 0 26px}
.heros__actions{display:flex;flex-wrap:wrap;gap:12px}
.heros__visuel{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombre-forte);aspect-ratio:4/3}
.heros__visuel img{width:100%;height:100%;object-fit:cover}

/* ---------- Arguments ---------- */
.arguments{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--trait);
  border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
@media(min-width:900px){.arguments{grid-template-columns:repeat(4,1fr)}}
.argument{background:var(--creme);padding:22px 18px;text-align:center}
.argument strong{display:block;font-size:.92rem;margin-bottom:3px}
.argument span{font-size:.8rem;color:var(--encre-doux)}

/* ---------- Grille de produits ---------- */
.grille-produits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:720px){.grille-produits{grid-template-columns:repeat(3,1fr);gap:22px}}
@media(min-width:1040px){.grille-produits{grid-template-columns:repeat(4,1fr)}}
.grille-produits[data-colonnes="2"]{grid-template-columns:repeat(2,1fr)}
.grille-produits[data-colonnes="3"]{grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.grille-produits[data-colonnes="3"]{grid-template-columns:repeat(3,1fr)}}

.carte{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;position:relative;
}
.carte:hover{transform:translateY(-3px);box-shadow:var(--ombre-forte)}
.carte__media{position:relative;aspect-ratio:4/5;background:var(--creme-2);overflow:hidden}
.carte__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.carte:hover .carte__media img{transform:scale(1.04)}
.carte__corps{padding:12px 13px 14px;display:flex;flex-direction:column;flex:1;gap:5px}
.carte__nom{font-family:Georgia,serif;font-size:1rem;font-weight:600;line-height:1.3}
.carte__meta{font-size:.76rem;color:var(--encre-doux)}
.carte__prix{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:6px}
.prix-actuel{font-weight:700;font-size:1.05rem}
.prix-barre{text-decoration:line-through;color:var(--encre-doux);font-size:.85rem}
.etiquette{
  position:absolute;top:10px;left:10px;background:var(--rose);color:#fff;
  font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.03em;
}
.etiquette--sombre{background:var(--encre)}
.etiquette--rupture{background:var(--encre-doux)}
.etoiles{color:#D9A441;font-size:.78rem;letter-spacing:.5px}

/* ---------- Mise en page collection ---------- */
.collection{display:grid;gap:24px}
@media(min-width:1040px){.collection{grid-template-columns:260px 1fr;gap:38px;align-items:start}}

.filtres{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:18px;
}
@media(max-width:1039px){
  .filtres{position:fixed;inset:auto 0 0 0;max-height:86vh;overflow-y:auto;z-index:100;
    border-radius:var(--r-lg) var(--r-lg) 0 0;transform:translateY(102%);transition:transform .25s}
  .filtres.ouvert{transform:none}
}
.filtres__bloc{padding:14px 0;border-bottom:1px solid var(--trait)}
.filtres__bloc:last-child{border-bottom:0}
.filtres__titre{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  color:var(--encre-doux);margin-bottom:10px}
.filtres label{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:.9rem;cursor:pointer}
.filtres input[type=checkbox],.filtres input[type=radio]{accent-color:var(--rose);width:17px;height:17px}
.champ-prix{display:flex;gap:8px;align-items:center}
.champ-prix input{width:100%;padding:9px 10px;border:1px solid var(--trait);border-radius:9px;background:var(--creme)}

.barre-outils{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--trait)}
.barre-outils select{padding:9px 12px;border:1px solid var(--trait);border-radius:9px;background:#fff}
.bouton-filtres{display:inline-flex}
@media(min-width:1040px){.bouton-filtres{display:none}}

/* ---------- Fiche produit ---------- */
.fiche{display:grid;gap:26px}
@media(min-width:900px){.fiche{grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}}
.galerie__principale{border-radius:var(--r-lg);overflow:hidden;background:var(--creme-2);aspect-ratio:4/5}
.galerie__principale img{width:100%;height:100%;object-fit:cover}
.galerie__vignettes{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.galerie__vignettes img{width:74px;height:92px;object-fit:cover;border-radius:10px;
  border:2px solid transparent;cursor:pointer;flex:0 0 auto}
.galerie__vignettes img.actif{border-color:var(--rose)}
@media(min-width:900px){.fiche__infos{position:sticky;top:96px}}

.fiche__prix{display:flex;align-items:baseline;gap:12px;margin:14px 0}
.fiche__prix .prix-actuel{font-size:1.75rem}
.caracteristiques{list-style:none;padding:0;margin:20px 0;border-top:1px solid var(--trait)}
.caracteristiques li{display:flex;justify-content:space-between;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--trait);font-size:.92rem}
.caracteristiques span:first-child{color:var(--encre-doux)}
.caracteristiques span:last-child{font-weight:600;text-align:right}

.quantite{display:inline-flex;align-items:center;border:1px solid var(--trait);border-radius:999px;background:#fff}
.quantite button{background:none;border:0;width:42px;height:46px;font-size:1.2rem;cursor:pointer;border-radius:999px}
.quantite button:hover{background:var(--creme-2)}
.quantite input{width:46px;text-align:center;border:0;background:none;font-weight:600}
.achat{display:flex;gap:10px;align-items:stretch;margin:18px 0}
.achat .btn{flex:1}

.onglets{margin-top:34px;border-top:1px solid var(--trait)}
.onglets__entetes{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--trait)}
.onglets__entetes button{background:none;border:0;padding:14px 16px;font-weight:600;font-size:.92rem;
  cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;color:var(--encre-doux)}
.onglets__entetes button.actif{color:var(--encre);border-bottom-color:var(--rose)}
.onglets__contenu{padding:20px 0;display:none}
.onglets__contenu.actif{display:block}
.onglets__contenu p{margin:0 0 1em}

/* ---------- Panier ---------- */
.panier-ligne{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:16px 0;
  border-bottom:1px solid var(--trait);align-items:center}
@media(min-width:720px){.panier-ligne{grid-template-columns:96px 1fr auto auto;gap:18px}}
.panier-ligne img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
.recap{background:#fff;border:1px solid var(--trait);border-radius:var(--r);padding:20px;position:sticky;top:96px}
.recap__ligne{display:flex;justify-content:space-between;padding:8px 0;font-size:.94rem}
.recap__total{display:flex;justify-content:space-between;padding:14px 0 4px;margin-top:8px;
  border-top:1px solid var(--trait);font-weight:700;font-size:1.15rem}

/* ---------- Formulaires ---------- */
.champ{margin-bottom:16px}
.champ label{display:block;font-size:.86rem;font-weight:600;margin-bottom:6px}
.champ .aide{font-weight:400;color:var(--encre-doux);font-size:.8rem;display:block;margin-top:3px}
.champ input[type=text],.champ input[type=email],.champ input[type=tel],.champ input[type=number],
.champ input[type=password],.champ select,.champ textarea{
  width:100%;padding:12px 14px;border:1px solid var(--trait);border-radius:11px;
  background:#fff;transition:border-color .15s,box-shadow .15s;
}
.champ input:focus,.champ select:focus,.champ textarea:focus{
  outline:0;border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-pale)
}
.champ textarea{min-height:130px;resize:vertical;line-height:1.55}
.grille-champs{display:grid;gap:0 16px}
@media(min-width:620px){.grille-champs--2{grid-template-columns:1fr 1fr}
  .grille-champs--3{grid-template-columns:repeat(3,1fr)}}

.alerte{padding:13px 16px;border-radius:11px;margin-bottom:18px;font-size:.92rem}
.alerte--ok{background:#E8F1E6;color:#3A5A34;border:1px solid #CADFC4}
.alerte--err{background:#FBE9E7;color:#8C3B30;border:1px solid #F2CFC9}
.alerte--info{background:var(--rose-pale);color:var(--rose-fonce);border:1px solid #EFD5D1}

/* ---------- Pagination ---------- */
.pagination{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.pagination a,.pagination span{
  min-width:42px;height:42px;display:grid;place-items:center;border-radius:11px;
  border:1px solid var(--trait);background:#fff;font-size:.9rem;padding:0 12px}
.pagination .actif{background:var(--encre);color:#fff;border-color:var(--encre)}

/* ---------- Fil d'ariane ---------- */
.ariane{font-size:.8rem;color:var(--encre-doux);padding:16px 0}
.ariane a:hover{color:var(--rose-fonce)}

/* ---------- Bandeau de catégories ---------- */
.rail{display:flex;gap:12px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x mandatory}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--trait);border-radius:3px}
.rail__item{flex:0 0 140px;scroll-snap-align:start;text-align:center}
.rail__item img,.rail__item .rond{
  width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 9px;
  background:linear-gradient(150deg,var(--rose-pale),var(--creme-2));
  display:grid;place-items:center;font-family:Georgia,serif;font-size:1.7rem;color:var(--rose-fonce)}
.rail__item strong{font-size:.86rem;font-weight:600;display:block}
.rail__item span{font-size:.75rem;color:var(--encre-doux)}

/* ---------- Pied de page ---------- */
.pied{background:var(--encre);color:#D9CDC6;margin-top:56px;padding:46px 0 26px;font-size:.9rem}
.pied a{color:#D9CDC6}
.pied a:hover{color:#fff}
.pied__grille{display:grid;gap:30px}
@media(min-width:720px){.pied__grille{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.pied__grille{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1180px){.pied__grille{grid-template-columns:1.5fr repeat(auto-fit,minmax(130px,1fr))}}
.pied__marque{grid-column:1/-1}
@media(min-width:1180px){.pied__marque{grid-column:auto}}
.pied h4{color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;
  font-family:inherit;font-weight:700;margin-bottom:14px}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{padding:5px 0}
.pied__paiements{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}
.pied__paiement{
  display:inline-flex;align-items:center;justify-content:center;
  height:32px;min-width:46px;padding:0 8px;background:#fff;border-radius:6px;line-height:0}
.pied__paiement svg{display:block;height:18px;width:auto}
.pied__bas{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:20px;
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.8rem;color:#A2938C}

/* ---------- Divers ---------- */
.vide{text-align:center;padding:60px 20px;color:var(--encre-doux)}
.vide h3{color:var(--encre)}
.contenu-page{max-width:74ch}
.contenu-page h2,.contenu-page h3{margin-top:1.6em}
.contenu-page ul{padding-left:1.2em}
.contenu-page li{margin:.4em 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Bandeau illustré (accueil) ---------- */
.bandeau-illustre{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.bandeau-illustre{grid-template-columns:1fr 1fr;gap:48px}}
.bandeau-illustre__visuel{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--ombre);aspect-ratio:4/3}
.bandeau-illustre__visuel img{width:100%;height:100%;object-fit:cover}
.bandeau-illustre h2{margin-bottom:.4em}
.bandeau-illustre p{margin:0 0 20px;max-width:46ch}

/* ---------- Bannière de catégorie / de page ---------- */
.banniere-categorie{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  margin-bottom:22px;background:var(--creme-2)}
.banniere-categorie img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;display:block}
@media(min-width:720px){.banniere-categorie img{aspect-ratio:1400/420}}
.banniere-categorie__texte{
  position:absolute;inset:auto 0 0 0;padding:22px 20px;
  background:linear-gradient(to top,rgba(46,39,36,.72),rgba(46,39,36,0));color:#fff}
.banniere-categorie__texte h1{margin:0;color:#fff;font-size:1.6rem}
@media(min-width:720px){.banniere-categorie__texte{padding:32px 34px}
  .banniere-categorie__texte h1{font-size:2.3rem}}

/* ---------- Sélecteur de langue ---------- */
.selecteur-langue{display:flex;align-items:center;gap:2px;border:1px solid var(--trait);
  border-radius:999px;padding:3px;background:#fff}
.selecteur-langue a{
  padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:700;
  color:var(--encre-doux);letter-spacing:.03em;line-height:1.4}
.selecteur-langue a:hover{background:var(--creme-2);color:var(--encre)}
.selecteur-langue a.actif{background:var(--encre);color:#fff}
@media(max-width:719px){.entete__barre .selecteur-langue{display:none}}

.selecteur-langue--tiroir{width:100%;justify-content:center;margin-bottom:6px}
.selecteur-langue--tiroir a{flex:1;text-align:center;font-size:.86rem;padding:9px 12px}
.tiroir .selecteur-langue--tiroir a:hover{background:var(--creme-2)}

.selecteur-langue--pied{background:transparent;border-color:rgba(255,255,255,.22);
  display:inline-flex;margin-top:14px}
.selecteur-langue--pied a{color:#D9CDC6}
.selecteur-langue--pied a:hover{background:rgba(255,255,255,.12);color:#fff}
.selecteur-langue--pied a.actif{background:#fff;color:var(--encre)}

/* Accueil sans image : le texte occupe toute la largeur */
.heros__grille--simple{grid-template-columns:1fr!important;text-align:center;max-width:720px;margin:0 auto}
.heros__grille--simple p{margin-left:auto;margin-right:auto}
.heros__grille--simple .heros__actions{justify-content:center}
.bandeau-illustre--simple{grid-template-columns:1fr!important;max-width:720px;text-align:center}
.bandeau-illustre--simple p{margin-left:auto;margin-right:auto}

/* ---------- Choix du moyen de paiement ---------- */
.choix-paiement{display:grid;gap:9px;margin-top:4px}
.choix-paiement__option{
  display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;
  border:1px solid var(--trait);border-radius:var(--r);background:#fff;transition:.15s}
.choix-paiement__option:hover{border-color:var(--rose)}
.choix-paiement__option:has(input:checked){border-color:var(--rose);background:var(--rose-pale);
  box-shadow:0 0 0 1px var(--rose)}
.choix-paiement__option input{accent-color:var(--rose);width:19px;height:19px;margin-top:2px;flex:0 0 auto}
.choix-paiement__option strong{display:block;font-size:.97rem}
.choix-paiement__option small{display:block;color:var(--encre-doux);font-size:.85rem;margin-top:2px;line-height:1.45}

/* ---------- Instructions de paiement (confirmation) ---------- */
.instructions-paiement{
  text-align:left;background:var(--creme-2);border:1px solid var(--trait);
  border-radius:var(--r);padding:22px 24px;margin-top:22px}
.instructions-paiement h3{margin-top:0}
.instructions-paiement p{margin:0 0 .8em;white-space:pre-line}

/* Nom et prix d'un mode de livraison, sans chevauchement */
.choix-paiement__ligne{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
.choix-paiement__prix{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.choix-paiement__option > span{flex:1;min-width:0}

/* ---------- Logo téléversé ---------- */
.logo--image{display:flex;align-items:center;min-width:0}
.logo__image{width:auto;max-width:min(62vw,340px);object-fit:contain;display:block}
@media(max-width:519px){.logo__image{max-height:40px}}
.tiroir__entete img{max-width:60%;object-fit:contain}

/* ---------- Catégories groupées sur l'accueil ---------- */
.groupe-cat{margin-bottom:34px}
.groupe-cat:last-child{margin-bottom:0}
.groupe-cat__titre{
  font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--encre-doux);padding-bottom:10px;margin:0 0 16px;border-bottom:1px solid var(--trait)}

.grille-cat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(min-width:620px){.grille-cat{grid-template-columns:repeat(4,1fr);gap:18px}}
@media(min-width:960px){.grille-cat{grid-template-columns:repeat(6,1fr)}}

.tuile-cat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0}
.tuile-cat__media{
  width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:7px;
  background:linear-gradient(150deg,var(--rose-pale),var(--creme-2));
  display:grid;place-items:center;transition:transform .2s,box-shadow .2s;
  border:1px solid var(--trait)}
.tuile-cat:hover .tuile-cat__media{transform:translateY(-3px);box-shadow:var(--ombre)}
.tuile-cat__media img{width:100%;height:100%;object-fit:cover}
.tuile-cat__lettre{font-family:Georgia,serif;font-size:1.7rem;color:var(--rose-fonce)}
.tuile-cat__nom{font-size:.85rem;font-weight:600;line-height:1.3}
.tuile-cat__nb{font-size:.74rem;color:var(--encre-doux)}
@media(max-width:619px){.tuile-cat__nom{font-size:.78rem}.tuile-cat__nb{font-size:.7rem}}

/* Compteur discret dans le menu déroulant */
.sous-menu__nb{
  float:right;font-size:.7rem;color:var(--encre-doux);background:var(--creme-2);
  border-radius:999px;padding:1px 7px;margin-left:8px;font-weight:600}

/* =========================================================
   Sections de contenu de la page d'accueil
   ========================================================= */

.section--creme{background:var(--creme-2)}
.conteneur--etroit{max-width:820px}

/* En-tête de section réutilisable */
.entete-section{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
  flex-wrap:wrap;margin-bottom:26px}
.entete-section h2{margin-bottom:.2em}
.entete-section p{margin:0;max-width:56ch}
.entete-section--centre{justify-content:center;text-align:center;margin-bottom:32px}
.entete-section--centre p{margin-left:auto;margin-right:auto}

/* Héros enrichi */
.heros__surtitre{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rose-fonce);background:#fff;border-radius:999px;padding:5px 14px;margin-bottom:16px;
  border:1px solid var(--trait)}
.heros--sans-image .heros__texte{margin:0 auto;text-align:center}

/* Guide d'achat */
.grille-guide{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.grille-guide{grid-template-columns:repeat(3,1fr);gap:22px}}
.carte-guide{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.carte-guide:hover{transform:translateY(-3px);box-shadow:var(--ombre-forte)}
.carte-guide__media{display:block;aspect-ratio:16/10;background:var(--creme-2);overflow:hidden}
.carte-guide__media img{width:100%;height:100%;object-fit:cover}
.carte-guide__corps{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;gap:8px}
.carte-guide__corps h3{margin:0;font-size:1.12rem}
.carte-guide__corps p{margin:0;color:var(--encre-doux);font-size:.93rem;line-height:1.6;flex:1}
.lien-fleche{
  font-size:.87rem;font-weight:700;color:var(--rose-fonce);margin-top:4px;
  display:inline-flex;align-items:center;gap:4px;transition:gap .15s}
.lien-fleche:hover{gap:9px}

/* Ce que nous vérifions */
.grille-verif{display:grid;gap:18px 26px;grid-template-columns:1fr}
@media(min-width:620px){.grille-verif{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.grille-verif{grid-template-columns:repeat(3,1fr)}}
.point-verif{display:flex;gap:13px;align-items:flex-start}
.point-verif__coche{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--rose-pale);color:var(--rose-fonce);margin-top:1px}
.point-verif strong{display:block;font-size:.96rem;margin-bottom:2px}
.point-verif span{font-size:.88rem;color:var(--encre-doux);line-height:1.55}

/* Avis */
.grille-avis{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.grille-avis{grid-template-columns:repeat(3,1fr);gap:22px}}
.carte-avis{
  margin:0;background:#fff;border:1px solid var(--trait);border-radius:var(--r-lg);
  padding:24px;display:flex;flex-direction:column;gap:12px}
.carte-avis blockquote{
  margin:0;font-family:Georgia,serif;font-size:1rem;line-height:1.65;color:var(--encre);flex:1}
.carte-avis blockquote::before{content:'« '}
.carte-avis blockquote::after{content:' »'}
.carte-avis figcaption{display:flex;flex-direction:column;gap:1px;padding-top:10px;border-top:1px solid var(--trait)}
.carte-avis figcaption strong{font-size:.9rem}
.carte-avis figcaption span{font-size:.8rem;color:var(--encre-doux)}

/* Accordéon FAQ */
.accordeon{display:grid;gap:10px}
.accordeon__item{
  background:#fff;border:1px solid var(--trait);border-radius:var(--r);overflow:hidden}
.accordeon__item summary{
  cursor:pointer;padding:16px 20px;font-weight:600;font-size:.98rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:14px}
.accordeon__item summary::-webkit-details-marker{display:none}
.accordeon__item summary::after{
  content:'+';font-size:1.3rem;font-weight:400;color:var(--rose-fonce);flex:0 0 auto;line-height:1}
.accordeon__item[open] summary::after{content:'−'}
.accordeon__item summary:hover{background:var(--creme)}
.accordeon__corps{padding:0 20px 18px;color:var(--encre-doux);font-size:.93rem;line-height:1.65}

/* Bande de contact */
.bande-contact{background:linear-gradient(160deg,var(--rose-pale),var(--creme-2))}
.bande-contact__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}

/* ---------- Bloc de coordonnées (page contact) ---------- */
.bloc-contact{
  margin-top:34px;padding-top:28px;border-top:1px solid var(--trait)}
.bloc-contact__grille{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.bloc-contact__grille{grid-template-columns:repeat(2,1fr);gap:14px}}
.moyen-contact{
  display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;
  border:1px solid var(--trait);border-radius:var(--r);transition:border-color .15s,transform .15s}
a.moyen-contact:hover{border-color:var(--rose);transform:translateY(-2px)}
.moyen-contact--statique{cursor:default}
.moyen-contact__icone{
  flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:var(--rose-pale);color:var(--rose-fonce);font-size:1.05rem}
.moyen-contact strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--encre-doux);margin-bottom:3px}
.moyen-contact > span:last-child > span{font-size:.95rem;line-height:1.5;word-break:break-word}
.bloc-contact__horaires{
  margin:18px 0 0;padding:14px 18px;background:var(--creme-2);border-radius:var(--r);
  display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font-size:.92rem}
.bloc-contact__horaires span{color:var(--encre-doux)}

/* ---------- Réseaux sociaux ---------- */
.reseaux{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.reseaux a{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.22);color:#D9CDC6;transition:.15s}
.reseaux a:hover{background:rgba(255,255,255,.14);color:#fff;border-color:transparent}
.reseaux--page{margin-top:20px}
.reseaux--page a{border-color:var(--trait);color:var(--encre-doux);background:#fff}
.reseaux--page a:hover{border-color:var(--rose);color:var(--rose-fonce);background:var(--rose-pale)}
