/* ==========================================================================
   Solta Books — feuille de style commune à tout le site
   Une seule feuille pour toutes les pages : on modifie ici, tout suit.
   ========================================================================== */

/* ---------- 1. Couleurs, typographie, mesures ---------- */
:root{
  --creme:#E9E2D8;     /* fond principal */
  --sable:#D6CFC3;     /* panneaux, encadrés */
  --ivoire:#F4F0EA;    /* sections claires */
  --sauge-fond:#C7CDBF;
  --marine:#243638;    /* texte, bandeau */
  --marine-doux:#4A666E;
  --sauge:#757F64;
  --sauge-clair:#A8B09A;
  --terra:#CB7A5C;     /* accent, boutons */
  --terra-fonce:#B5664A;
  --terra-clair:#D99278;
  --gris:#6F675D;      /* texte secondaire (contraste AA sur crème) */
  --filet:rgba(36,54,56,.16);
  --ombre:0 14px 40px rgba(36,54,56,.10);

  --police:"EB Garamond",Georgia,"Times New Roman",serif;
  --largeur:1240px;
  --gouttiere:clamp(1rem,4vw,3rem);
  --haut-entete:96px;  /* bandeau (34) + navigation (62) */
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--haut-entete)}
body{font-family:var(--police);background:var(--creme);color:var(--marine);font-size:17px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-weight:400;line-height:1.18}
em{font-style:italic}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Langue : évite le flash de l'autre langue au chargement */
html.sb-pending body{visibility:hidden}
/* Blocs propres à une langue */
html[data-lang="en"] [data-lang-only="fr"],
html[data-lang="fr"] [data-lang-only="en"]{display:none!important}

/* ---------- 3. En-tête (bandeau + navigation) ---------- */
.entete{position:sticky;top:0;z-index:100}
.bandeau{background:var(--marine);height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gouttiere)}
.bandeau-lien{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,248,244,.66);text-decoration:none;transition:color .2s;white-space:nowrap}
.bandeau-lien:hover{color:#FAF8F4}
.langues{display:flex;align-items:center}
.langue{border:0;background:none;cursor:pointer;padding:.25rem .7rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,248,244,.5);border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.langue:hover{color:#FAF8F4}
.langue[aria-pressed="true"]{color:#FAF8F4;border-bottom-color:var(--terra)}
.langues-sep{color:rgba(250,248,244,.25);font-size:.8rem}

.nav{height:62px;display:flex;justify-content:center;align-items:center;position:relative;padding:0 var(--gouttiere);background:rgba(233,226,216,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--filet)}
.nav-liens{display:flex;gap:2.2rem;list-style:none}
.nav-liens a{text-decoration:none;color:var(--marine);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;padding:.4rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav-liens a:hover{color:var(--terra)}
.nav-liens a[aria-current="page"]{color:var(--terra);border-bottom-color:var(--terra)}
.menu-bouton{display:none;justify-self:end;border:0;background:none;cursor:pointer;padding:.5rem 0 .5rem .5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.6rem}
.menu-bouton span.barres{display:inline-flex;flex-direction:column;gap:4px}
.menu-bouton span.barres i{display:block;width:20px;height:1.5px;background:var(--marine);transition:transform .25s,opacity .2s}
.menu-bouton[aria-expanded="true"] .barres i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.menu-bouton[aria-expanded="true"] .barres i:nth-child(2){opacity:0}
.menu-bouton[aria-expanded="true"] .barres i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.menu-mobile{display:none}

@media (max-width:860px){
  .nav{justify-content:flex-end}
  .nav-liens{display:none}
  .menu-bouton{display:inline-flex}
  .menu-mobile{display:block;position:absolute;left:0;right:0;top:100%;background:var(--creme);border-bottom:2px solid var(--terra);box-shadow:var(--ombre);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .32s ease,visibility 0s .32s}
  .menu-mobile.ouvert{max-height:80vh;visibility:visible;transition:max-height .32s ease}
  .menu-mobile a{display:block;padding:1rem var(--gouttiere);font-size:1.2rem;font-style:italic;text-decoration:none;border-top:1px solid var(--filet)}
  .menu-mobile a[aria-current="page"]{color:var(--terra)}
}

/* Avis « offert dans une seule langue » */
.avis-langue{background:var(--ivoire);border-bottom:1px solid var(--filet);text-align:center;padding:.7rem var(--gouttiere);font-size:.9rem;color:var(--gris)}
.avis-langue a{color:var(--terra);white-space:nowrap}

/* Bandeau aperçu (brouillons) */
.bandeau-apercu{background:#8A5A2B;color:#fff;text-align:center;font-size:.8rem;letter-spacing:.08em;padding:.45rem 1rem}

/* ---------- 4. Éléments communs ---------- */
.surtitre{display:flex;align-items:center;gap:.6rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:1rem}
.surtitre::before{content:"";width:20px;height:1px;background:currentColor;flex:none}
.surtitre--centre{justify-content:center}
.surtitre--centre::after{content:"";width:20px;height:1px;background:currentColor;flex:none}
.surtitre--sauge{color:var(--sauge)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.1rem;padding:0 1.9rem;font-family:var(--police);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s;text-align:center;line-height:1.2}
.btn svg{flex:none}
.btn--plein{background:var(--terra);color:#FBF8F3;border-color:var(--terra)}
.btn--plein:hover{background:var(--marine);border-color:var(--marine)}
.btn--contour{border-color:var(--terra);color:var(--terra-fonce);background:transparent}
.btn--contour:hover{background:var(--terra);color:#FBF8F3}
.btn--discret{border-color:rgba(36,54,56,.28);color:var(--marine);background:transparent}
.btn--discret:hover{border-color:var(--marine);background:var(--marine);color:#FBF8F3}
.btn--clair{border-color:rgba(251,248,243,.6);color:#FBF8F3}
.btn--clair:hover{background:#FBF8F3;color:var(--marine)}
.boutons{display:flex;flex-wrap:wrap;gap:.8rem}
.boutons--pleine-largeur .btn{flex:1 1 0}

.section{padding:clamp(3.5rem,7vw,6rem) var(--gouttiere)}
.section--ivoire{background:var(--ivoire)}
.section--sable{background:var(--sable)}
.section--sauge{background:var(--sauge-fond)}
.contenu{max-width:var(--largeur);margin:0 auto}
.titre-section{font-size:clamp(1.6rem,2.8vw,2.3rem);font-style:italic;text-align:center;margin-bottom:.6rem}
.chapeau{color:var(--gris);text-align:center;max-width:560px;margin:0 auto 2.6rem;font-size:.98rem}

.apparition{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.apparition.visible{opacity:1;transform:none}

/* ---------- 5. En-tête de page (collections) ---------- */
.tete-page{background:var(--ivoire);text-align:center;padding:clamp(3rem,6vw,5rem) var(--gouttiere) clamp(2.2rem,4vw,3rem);border-bottom:1px solid var(--filet)}
.tete-page h1{font-size:clamp(2rem,4vw,3.2rem);font-style:italic;max-width:900px;margin:0 auto .9rem}
.tete-page p{color:var(--gris);max-width:600px;margin:0 auto;line-height:1.85}

/* Onglets */
.onglets{display:flex;justify-content:center;gap:.5rem;margin-top:2.2rem;flex-wrap:wrap}
.onglet{border:1px solid rgba(36,54,56,.22);background:transparent;cursor:pointer;padding:.65rem 1.5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transition:all .2s}
.onglet:hover{border-color:var(--marine)}
.onglet[aria-selected="true"]{background:var(--marine);border-color:var(--marine);color:#FBF8F3}

/* ---------- 6. Grilles de cartes ---------- */
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.6rem;max-width:var(--largeur);margin:0 auto}
.grille--centree{display:flex;flex-wrap:wrap;justify-content:center}
.grille--centree>*{flex:0 1 250px}
.carte{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--ivoire);border:1px solid var(--filet);transition:transform .35s,box-shadow .35s,border-color .35s}
.carte:hover{transform:translateY(-4px);box-shadow:var(--ombre);border-color:var(--sauge-clair)}
.carte-image{aspect-ratio:2/3;overflow:hidden;background:var(--sable)}
.carte-image--carre{aspect-ratio:1/1}
.carte-image--portrait{aspect-ratio:4/5}
.carte-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.carte:hover .carte-image img{transform:scale(1.03)}
.carte-corps{padding:1rem 1.2rem 1.15rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--filet);flex:1}
.carte-type{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:.3rem}
.carte-nom{font-size:1.1rem;font-style:italic;line-height:1.3}
.carte-prix{display:block;font-size:.85rem;color:var(--gris);margin-top:.25rem}
.carte-fleche{color:var(--terra);transition:transform .25s;flex:none}
.carte:hover .carte-fleche{transform:translateX(4px)}

/* ---------- 7. Fiche produit (cahiers et Solta Studio) ---------- */
.fiche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;background:linear-gradient(to right,var(--sable) 50%,var(--creme) 50%)}
.fiche-visuel{position:sticky;top:var(--haut-entete);height:calc(100vh - var(--haut-entete));min-height:520px;background:var(--sable);display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.5rem)}
.fiche-visuel>img{max-height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:0 18px 40px rgba(36,54,56,.12)}
.fiche-info{padding:clamp(2rem,5vw,4.5rem) clamp(1.2rem,5vw,4.5rem) clamp(3rem,6vw,5rem);max-width:720px}
.fiche-titre{font-size:clamp(1.9rem,3vw,2.7rem);font-style:italic;margin-bottom:1.6rem}
.fiche-titre strong{font-style:normal;font-weight:500}
.chiffres{display:flex;flex-wrap:wrap;gap:2.2rem;padding:1.15rem 1.5rem;background:var(--sable);border-left:2px solid var(--sauge);margin-bottom:2rem}
.chiffre-val{display:block;font-size:1.2rem;font-style:italic}
.chiffre-cle{display:block;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gris)}
.accroche{font-size:1.1rem;font-style:italic;line-height:1.55;padding-left:1rem;border-left:2px solid var(--terra);margin-bottom:1.2rem}
.texte{color:var(--gris);font-size:.98rem;line-height:1.85;margin-bottom:1.6rem}
.etapes{list-style:none;display:grid;gap:1.3rem;margin-bottom:2rem}
.etape{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.etape-num{font-size:.64rem;letter-spacing:.1em;color:var(--terra);border:1px solid rgba(203,122,92,.35);background:rgba(203,122,92,.08);padding:.32rem .55rem;line-height:1;margin-top:.3rem}
.etape-titre{font-size:1rem;margin-bottom:.25rem}
.etape-texte{font-size:.92rem;color:var(--gris);line-height:1.8}
.details{list-style:none;background:var(--sable);border:1px solid var(--filet);padding:1.2rem 1.5rem;margin-bottom:2rem;display:grid;gap:.45rem}
.details li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-size:.92rem;color:var(--gris);line-height:1.6}
.details li::before{content:"—";color:var(--terra)}
.achat{display:grid;gap:.7rem;margin-bottom:.4rem}
.achat-note{font-size:.82rem;color:var(--gris);font-style:italic;margin-top:.5rem}
.prix{font-size:1.5rem;margin-bottom:1.4rem;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.prix small{font-size:.85rem;color:var(--gris);font-style:italic}

/* Galerie Solta Studio */
.galerie{position:sticky;top:var(--haut-entete);padding:clamp(1rem,3vw,2.5rem);background:var(--sable);display:grid;gap:.8rem;align-content:start}
.galerie-principale{aspect-ratio:4/5;width:min(100%,calc((100vh - var(--haut-entete) - 9rem) * .8));overflow:hidden;background:var(--ivoire);margin:0 auto}
.galerie-principale img{width:100%;height:100%;object-fit:cover}
.vignettes{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.vignette{width:68px;aspect-ratio:1;border:1px solid var(--filet);padding:0;background:var(--ivoire);cursor:pointer;overflow:hidden;opacity:.7;transition:opacity .2s,border-color .2s}
.vignette img{width:100%;height:100%;object-fit:cover}
.vignette:hover{opacity:1}
.vignette[aria-current="true"]{opacity:1;border-color:var(--marine)}

/* Couleurs et tailles */
.option{margin-bottom:1.5rem}
.option-titre{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:.6rem}
.option-titre b{font-weight:400;color:var(--marine);letter-spacing:.06em;text-transform:none;font-size:.95rem;font-style:italic;margin-left:.3rem}
.pastilles{display:flex;gap:.7rem;flex-wrap:wrap}
.pastille{width:34px;height:34px;border-radius:50%;border:1px solid rgba(36,54,56,.25);cursor:pointer;padding:0;box-shadow:inset 0 0 0 3px var(--creme);transition:box-shadow .2s,border-color .2s}
.pastille[aria-pressed="true"]{border-color:var(--marine);box-shadow:inset 0 0 0 3px var(--creme),0 0 0 1px var(--marine)}
.tailles{display:flex;gap:.45rem;flex-wrap:wrap}
.taille{min-width:46px;padding:.42rem .7rem;text-align:center;border:1px solid rgba(36,54,56,.22);font-size:.82rem;letter-spacing:.06em}
.guide{border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);margin:1.6rem 0}
.guide summary{cursor:pointer;list-style:none;padding:.9rem 0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between}
.guide summary::-webkit-details-marker{display:none}
.guide summary::after{content:"+";color:var(--terra);font-size:1rem;line-height:1}
.guide[open] summary::after{content:"–"}
.guide-corps{padding:0 0 1.2rem;font-size:.9rem;color:var(--gris)}
.guide table{width:100%;border-collapse:collapse;margin:.6rem 0 .8rem;font-size:.86rem}
.guide th,.guide td{border-bottom:1px solid var(--filet);padding:.45rem .3rem;text-align:center}
.guide th{font-weight:500;color:var(--marine)}

/* Avis clients */
.avis{background:var(--ivoire);border-top:1px solid var(--filet);padding:clamp(3rem,6vw,4.5rem) var(--gouttiere)}
.avis-vedette{max-width:760px;margin:0 auto 2.2rem;text-align:center}
.avis-vedette p{font-size:clamp(1.25rem,2.2vw,1.6rem);font-style:italic;line-height:1.5;margin-bottom:1rem}
.etoiles{display:inline-flex;gap:3px;color:var(--terra);font-size:.85rem;letter-spacing:0}
.avis-auteur{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.avis-meta{display:flex;gap:.7rem;align-items:center;justify-content:center;flex-wrap:wrap}
.avis-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;max-width:980px;margin:0 auto}
.avis-carte{background:var(--creme);border:1px solid var(--filet);padding:1.5rem}
.avis-carte p{font-size:.98rem;color:var(--marine);margin-bottom:1rem;line-height:1.7}
.avis-carte .avis-meta{justify-content:flex-start}

/* Idées-cadeaux croisées */
.idees{background:var(--creme);border-top:1px solid var(--filet);padding:clamp(3rem,6vw,4.5rem) var(--gouttiere)}
.idees-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,420px));gap:1.4rem;justify-content:center;max-width:var(--largeur);margin:0 auto}
.idee{display:grid;grid-template-columns:120px 1fr;text-decoration:none;color:inherit;background:var(--ivoire);border:1px solid var(--filet);transition:box-shadow .3s,transform .3s}
.idee:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.idee-image{background:var(--sable);overflow:hidden}
.idee-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.idee-corps{padding:1.1rem 1.3rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem}
.idee-nom{font-size:1.15rem;font-style:italic;line-height:1.3}
.idee-prix{font-size:.86rem;color:var(--gris)}
.idee-lien{margin-top:.5rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}

/* Autres titres */
.autres{background:var(--ivoire);border-top:1px solid var(--filet);padding:clamp(2.5rem,5vw,3.5rem) var(--gouttiere);text-align:center}
.autres h2{font-size:1.15rem;font-style:italic;margin-bottom:1.2rem}
.pilules{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:900px;margin:0 auto}
.pilule{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem 1.1rem;border:1px solid rgba(36,54,56,.16);color:var(--marine-doux);text-decoration:none;transition:all .2s}
.pilule:hover{border-color:var(--terra);color:var(--terra)}
.pilule[aria-current="page"]{background:var(--marine);border-color:var(--marine);color:#FBF8F3}

/* ---------- 8. Pied de page ---------- */
.pied{background:var(--marine);color:rgba(250,248,244,.5);padding:2.4rem var(--gouttiere);display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center}
.pied img{height:42px;width:auto}
.pied p{font-size:.7rem;letter-spacing:.06em}

/* ---------- 9. Mobile ---------- */
@media (max-width:860px){
  :root{--haut-entete:96px}
  .fiche{grid-template-columns:1fr;background:var(--creme)}
  .fiche-visuel,.galerie{position:relative;top:0;height:auto;min-height:0}
  .fiche-visuel>img{max-height:62vh}
  .galerie-principale{width:100%;max-width:520px}
  .fiche-info{max-width:none}
  .boutons--pleine-largeur{flex-direction:column}
  .achat .btn{width:100%}
  .idee{grid-template-columns:96px 1fr}
}
@media (max-width:520px){
  body{font-size:16px}
  .chiffres{gap:1.4rem}
  .grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
  .grille--centree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .carte-corps{padding:.8rem .85rem .9rem}
  .carte-nom{font-size:1rem}
  .carte-fleche{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .apparition{opacity:1;transform:none}
}

/* ==========================================================================
   10. Pages uniques
   ========================================================================== */

/* ----- Accueil ----- */
.une{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);min-height:calc(100vh - var(--haut-entete));padding:clamp(3rem,6vw,5rem) var(--gouttiere);position:relative;overflow:hidden}
.une::after{content:"";position:absolute;inset:0 0 0 auto;width:46%;background:var(--sable);z-index:0}
.une>*{position:relative;z-index:1}
.une h1{font-size:clamp(2.5rem,4.6vw,4.4rem);line-height:1.08;margin-bottom:1.3rem}
.une h1 strong{display:block;font-weight:500}
.une h1 em{display:block}
.une-texte{max-width:520px;justify-self:end}
.une-sous{color:var(--gris);font-size:1.02rem;line-height:1.85;margin-bottom:2.2rem;max-width:440px}
.une-boutons{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.une-image img{width:100%;aspect-ratio:1.1/1;object-fit:cover;box-shadow:0 24px 60px rgba(36,54,56,.16)}

.bande-photos{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--sauge-clair)}
.bande-photos div{aspect-ratio:3/2;overflow:hidden}
.bande-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bande-photos div:hover img{transform:scale(1.04)}

.collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;max-width:var(--largeur);margin:0 auto}
.collection{background:var(--creme);border:1px solid var(--filet);display:flex;flex-direction:column;transition:box-shadow .35s}
.collection:hover{box-shadow:var(--ombre)}
.collection-image{aspect-ratio:3/2;overflow:hidden}
.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.collection:hover .collection-image img{transform:scale(1.03)}
.collection-corps{padding:1.7rem 1.8rem 1.9rem;display:flex;flex-direction:column;flex:1}
.collection-corps h2{font-size:1.5rem;font-style:italic;margin-bottom:.6rem}
.collection-corps p.desc{font-size:.93rem;color:var(--gris);line-height:1.8;margin-bottom:1.5rem;flex:1}
.collection-corps .btn{align-self:flex-start}

.histoire{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,6vw,4.5rem);align-items:center;max-width:980px;margin:0 auto}
.citation{background:var(--creme);border-left:3px solid var(--terra);padding:clamp(1.8rem,4vw,2.6rem)}
.citation p{font-size:clamp(1.35rem,2.4vw,1.9rem);font-style:italic;line-height:1.45;margin-bottom:1rem}
.citation p em{font-style:normal;font-weight:500;color:var(--terra-fonce)}
.citation span{display:block;width:36px;height:2px;background:var(--terra)}
.histoire h2{font-size:clamp(1.8rem,2.8vw,2.4rem);margin-bottom:1rem}
.histoire h2 strong{font-weight:500}
.histoire p.corps{color:var(--gris);font-size:.98rem;line-height:1.9;margin-bottom:1.5rem}

.insta{text-align:center}
.insta-pseudo{font-size:1.5rem;font-style:italic;margin-bottom:1.8rem}
.insta-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:700px;margin:0 auto 2rem}
.insta-grille div{aspect-ratio:1;overflow:hidden}
.insta-grille img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.insta-grille div:hover img{transform:scale(1.05)}

/* ----- Cahier-souvenir ----- */
.souvenir{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:calc(100vh - var(--haut-entete))}
.souvenir-image{background:var(--sable);overflow:hidden}
.souvenir-image img{width:100%;height:100%;object-fit:cover;min-height:420px}
.souvenir-info{padding:clamp(2.5rem,6vw,5rem) clamp(1.2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;background:var(--ivoire)}
.souvenir-info h1{font-size:clamp(2.2rem,4vw,3.4rem);font-style:italic;margin-bottom:1rem}
.souvenir-info h1 strong{display:block;font-style:normal;font-weight:500}
.souvenir-sous{color:var(--gris);font-size:1.02rem;line-height:1.8;margin-bottom:1.8rem;max-width:460px}
.souvenir-info .btn{align-self:flex-start}
.annees{display:grid;gap:0;max-width:440px}
.annee{display:grid;grid-template-columns:64px 1fr;gap:1.2rem;align-items:center}
.annee-badge{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-style:italic;color:#FBF8F3}
.annee:nth-child(1) .annee-badge{background:var(--sauge-clair)}
.annee:nth-child(3) .annee-badge{background:var(--sauge)}
.annee:nth-child(5) .annee-badge{background:var(--marine-doux)}
.annee-lien{width:1px;height:28px;background:var(--sauge-clair);margin-left:32px}
.annee-q{font-size:.8rem;color:var(--gris);letter-spacing:.02em}
.annee-r{font-size:1.15rem;font-style:italic}
.concept{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;max-width:1080px;margin:0 auto}
.concept h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1.2rem}
.concept h2 strong{font-weight:500}
.concept p{color:var(--gris);line-height:1.9;margin-bottom:1rem}
.interieur{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;max-width:1080px;margin:0 auto}
.interieur img{width:100%;max-height:640px;object-fit:cover}
.interieur h2{font-size:clamp(1.6rem,2.6vw,2.1rem);font-style:italic;margin-bottom:1.2rem}
.liste-tirets{list-style:none;display:grid;gap:.7rem}
.liste-tirets li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;color:var(--gris);line-height:1.7}
.liste-tirets li::before{content:"—";color:var(--terra)}

/* ----- Notre histoire ----- */
.apropos-une{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,4.5rem);align-items:center;max-width:var(--largeur);margin:0 auto}
.apropos-une h1{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:1.2rem;line-height:1.12}
.apropos-une h1 strong{font-weight:500;display:block}
.apropos-une h1 em{display:block}
.apropos-une p{color:var(--gris);line-height:1.9;font-size:1.02rem}
.apropos-une img{width:100%;aspect-ratio:3/2;object-fit:cover}
.recit{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,6vw,4.5rem);align-items:start;max-width:1140px;margin:0 auto}
.grande-citation{position:relative;padding-top:2.5rem}
.grande-citation::before{content:"\201C";position:absolute;top:-1.4rem;left:-.3rem;font-size:6rem;color:var(--terra);opacity:.55;line-height:1}
.grande-citation p{font-size:clamp(1.3rem,2.2vw,1.7rem);font-style:italic;line-height:1.5;margin-bottom:1rem}
.grande-citation span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.recit h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:1.2rem}
.recit h2 strong{font-weight:500}
.recit p.corps{color:var(--gris);line-height:1.9;margin-bottom:1.1rem}
.appel{background:var(--marine);color:#FBF8F3;text-align:center}
.appel h2{font-size:clamp(1.7rem,3vw,2.4rem);font-style:italic;margin-bottom:.8rem}
.appel p{color:rgba(251,248,243,.72);max-width:520px;margin:0 auto 2rem}

/* ----- 404 ----- */
.introuvable{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem var(--gouttiere)}
.introuvable h1{font-size:clamp(2rem,4vw,3rem);font-style:italic;margin-bottom:1rem}
.introuvable p{color:var(--gris);max-width:460px;margin:0 auto 2rem}

@media (max-width:860px){
  .une{grid-template-columns:1fr;min-height:0}
  .une::after{display:none}
  .une-texte{justify-self:start}
  .une-image{order:-1}
  .bande-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .bande-photos::-webkit-scrollbar{display:none}
  .bande-photos div{flex:0 0 86vw;scroll-snap-align:start}
  .collections{grid-template-columns:1fr;max-width:560px}
  .histoire,.concept,.interieur,.apropos-une,.recit{grid-template-columns:1fr}
  .souvenir{grid-template-columns:1fr;min-height:0}
  .souvenir-image img{min-height:0;aspect-ratio:1/1}
}

/* Définition imprimée sur un produit Solta Studio */
.definition{background:var(--ivoire);border:1px solid var(--filet);padding:1.5rem 1.7rem 1.4rem;margin:0 0 1.8rem;max-width:520px}
.definition-mot{font-size:1.9rem;font-weight:500;line-height:1.1}
.definition-pron{font-size:.85rem;color:var(--gris);margin:.2rem 0 .9rem;padding-bottom:.8rem;border-bottom:1px solid var(--marine)}
.definition ol{padding-left:1.2rem;display:grid;gap:.35rem;font-size:.92rem;line-height:1.6}
.option-note{font-size:.82rem;color:var(--gris);font-style:italic;margin-top:.55rem}

.galerie-principale--carre{aspect-ratio:1/1;width:min(100%,calc(100vh - var(--haut-entete) - 9rem))}
@media (max-width:860px){.galerie-principale--carre{width:100%;max-width:560px}}

/* Guide des tailles en image + mesures détaillées repliables */
.guide-image{width:100%;max-width:560px;height:auto;margin:0 auto 1rem;border:1px solid var(--filet)}
.guide-mesures{margin-top:1rem;border-top:1px dashed var(--filet)}
.guide-mesures summary{cursor:pointer;padding:.7rem 0;font-size:.85rem;color:var(--marine);text-decoration:underline;text-underline-offset:3px}
.guide-mesures table{margin-top:.2rem}
.guide-note{font-size:.82rem;font-style:italic}
