/* ==========================================================================
   S-Méridian — REFONTE 28/09/2026 (retours Roxane R1→R36).
   Chargée après style.css : l'identité (jetons, polices) vient de style.css,
   ce fichier habille les briques neuves de inc/refonte-2809.php.
   Pas de mode sombre (R1) : color-scheme figé en clair.
   ========================================================================== */
:root{ color-scheme: only light; --rouge-pin:#D83A34; --tete-h:74px }
.sm-bascule{ display:none !important }

/* ---------- R2 / R34 : en-tête — respiration, menu sur une ligne, bouton propre ---------- */
.sm-tete-in{ gap:28px; padding-top:14px; padding-bottom:14px }
.sm-marque{ margin-right:auto; padding-right:24px }
@media (min-width:1024px){
  .sm-marque{ margin-right:0; padding-right:0 }
  .sm-nav{ margin:0 auto; gap:clamp(16px,2vw,30px) }
  .sm-nav a{ font-size:15px; white-space:nowrap }
}
.sm-cta--tete{ white-space:nowrap; padding:.72em 1.25em; font-size:14.5px; line-height:1.1; box-shadow:0 8px 20px -12px color-mix(in srgb, var(--abricot) 90%, transparent) }
.sm-cta--tete:hover{ background:var(--abricot-fonce) }
@media (min-width:1024px) and (max-width:1180px){ .sm-nav{ gap:14px } .sm-nav a{ font-size:14px } .sm-tete-in{ gap:18px } }

/* ---------- R3 / R4 : hero plein premier écran, colonnes de même hauteur ---------- */
.sm-hero2{ background:
  radial-gradient(900px 500px at 100% 0%, color-mix(in srgb, var(--miel) 22%, transparent), transparent 60%),
  radial-gradient(700px 480px at 0% 100%, color-mix(in srgb, var(--sauge) 18%, transparent), transparent 60%),
  var(--lait) }
.sm-hero2-in{
  max-width:var(--large); margin:0 auto; padding:40px var(--marge);
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:stretch;
  min-height:calc(100svh - var(--tete-h));
}
.sm-hero2-texte{ display:flex; flex-direction:column; justify-content:center; gap:18px; min-width:0 }
.sm-hero2-sur{ display:inline-flex; align-items:center; gap:.5em; width:fit-content; margin:0; padding:.45em 1em; border-radius:999px;
  background:var(--surf); border:1px solid var(--bord); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--abricot-fonce) }
.sm-hero2-texte h1{ margin:0; font-size:clamp(34px,3.9vw,54px); line-height:1.08 }
.sm-hero2-texte h1 .sm-surligne{ white-space:normal }
.sm-hero2-intro{ margin:0; font-size:1.12em; max-width:52ch; color:color-mix(in srgb, var(--encre) 84%, transparent) }
.sm-hero2-form{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; gap:10px; background:var(--surf);
  border:1px solid var(--bord); border-radius:22px; padding:10px; box-shadow:var(--ombre) }
.sm-hero2-champ{ display:flex; align-items:center; gap:8px; padding:0 10px; border-radius:14px; background:var(--lait); min-width:0 }
.sm-hero2-champ input{ border:none; outline:none; background:none; flex:1 1 auto; min-width:0; padding:.85em 0; color:var(--encre) }
.sm-hero2-champ .sm-geoloc{ padding:.45em .7em; font-size:12px; white-space:nowrap }
.sm-hero2-champ .sm-geoloc span{ display:none }
@media (min-width:1280px){ .sm-hero2-champ .sm-geoloc span{ display:inline } }
.sm-hero2-form select{ border:none; border-radius:14px; background:var(--lait); padding:.85em .8em; color:var(--encre); min-width:0 }
.sm-hero2-form .sm-cta{ justify-content:center; white-space:nowrap }
.sm-hero2-preuves{ list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:4px 0 0; padding:0 }
.sm-hero2-preuves li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.4; color:color-mix(in srgb, var(--encre) 85%, transparent) }
.sm-hero2-preuves .sm-ico{ width:34px; height:34px; padding:8px; border-radius:50%; background:color-mix(in srgb, var(--sauge) 28%, var(--surf)); color:var(--prune); flex:none }
.sm-hero2-preuves b{ color:var(--prune) }
.sm-hero2-photo{ position:relative; border-radius:28px; overflow:hidden; box-shadow:var(--ombre); min-height:420px; background:var(--voile) }
.sm-hero2-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.sm-hero2-carte{ position:absolute; left:20px; bottom:20px; right:20px; max-width:340px; display:grid; gap:2px;
  background:color-mix(in srgb, var(--surf) 94%, transparent); backdrop-filter:blur(6px); border-radius:18px; padding:16px 18px;
  text-decoration:none; color:var(--encre); box-shadow:var(--ombre); border-left:5px solid var(--abricot) }
.sm-hero2-carte small{ font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--abricot-fonce); font-weight:700 }
.sm-hero2-carte b{ font-family:var(--titre); color:var(--prune); font-size:19px; line-height:1.2 }
.sm-hero2-carte span{ font-size:13.5px; line-height:1.45 }
@media (max-width:1100px){ .sm-hero2-form{ grid-template-columns:1fr 1fr } .sm-hero2-form .sm-cta{ grid-column:1/-1 } }
@media (max-width:900px){
  .sm-hero2-in{ grid-template-columns:minmax(0,1fr); min-height:0; padding-top:20px; gap:22px }
  .sm-hero2-photo{ order:-1; min-height:0; aspect-ratio:16/10 }
  .sm-hero2-carte{ display:none }
  .sm-hero2-preuves{ grid-template-columns:1fr; gap:8px }
  .sm-hero2-texte h1{ font-size:clamp(30px,8vw,40px) }
}
@media (max-width:560px){ .sm-hero2-form{ grid-template-columns:minmax(0,1fr) } }

/* ---------- R5 : la grande frise des 1 000 jours ---------- */
.sm-frisex-bande{ background:
  radial-gradient(800px 400px at 85% 0%, color-mix(in srgb, var(--abricot) 26%, transparent), transparent 65%),
  linear-gradient(160deg, #3A1F45 0%, #2B1734 100%); color:#F7EEF2; overflow:hidden }
.sm-frisex-bande .sm-bande-in{ padding-top:84px; padding-bottom:84px }
.sm-frisex-tete{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 40px; margin-bottom:44px }
.sm-frisex-tete h2{ color:#F7EEF2; margin:0; font-size:clamp(30px,3.6vw,50px) }
.sm-frisex-tete p{ margin:0; max-width:46ch; color:rgba(247,238,242,.8) }
.sm-frisex{ --n:12; --pos:2; position:relative }
.sm-frisex-phases{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:0; margin-bottom:14px }
.sm-frisex-phase{ grid-column:span var(--span); text-align:center; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:.5em 0; border-bottom:2px solid; margin:0 6px; opacity:.9 }
.sm-frisex-phase--grossesse{ color:#A9D8C2; border-color:#8FBFA8 }
.sm-frisex-phase--bebe{ color:#F3C98A; border-color:var(--miel) }
.sm-frisex-phase--enfant{ color:#F7A884; border-color:var(--abricot) }
.sm-frisex-piste{ position:relative; padding:18px 0 0 }
.sm-frisex-ligne,.sm-frisex-rempli{ position:absolute; left:calc(100% / var(--n) / 2); right:calc(100% / var(--n) / 2); top:39px; height:4px; border-radius:4px }
.sm-frisex-ligne{ background:rgba(247,238,242,.16) }
.sm-frisex-rempli{ background:linear-gradient(90deg,#8FBFA8,var(--miel),var(--abricot)); transform-origin:left;
  transform:scaleX(calc(var(--pos) / (var(--n) - 1))); transition:transform .7s cubic-bezier(.2,.8,.2,1) }
.sm-js .sm-frisex:not(.is-vu) .sm-frisex-rempli{ transform:scaleX(0) }
.sm-frisex-jalons{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); position:relative }
.sm-fx-jalon button{ width:100%; display:flex; flex-direction:column; align-items:center; gap:12px; background:none; border:0; color:inherit; padding:8px 2px 4px; cursor:pointer; border-radius:12px }
.sm-fx-jalon button:focus-visible{ outline:2px solid var(--miel); outline-offset:2px }
.sm-fx-point{ width:22px; height:22px; border-radius:50%; background:#2B1734; border:3px solid rgba(247,238,242,.55);
  transition:transform .3s ease, background .3s, border-color .3s, box-shadow .3s }
.sm-fx-jalon--grossesse .sm-fx-point{ border-color:#8FBFA8 }
.sm-fx-jalon--bebe .sm-fx-point{ border-color:var(--miel) }
.sm-fx-jalon--enfant .sm-fx-point{ border-color:var(--abricot) }
.sm-fx-court{ font-family:var(--titre); font-weight:700; font-size:14px; color:rgba(247,238,242,.78); white-space:nowrap; transition:color .3s }
.sm-fx-jalon button:hover .sm-fx-point{ transform:scale(1.2) }
.sm-fx-jalon.is-actif .sm-fx-point{ background:var(--abricot); border-color:#fff; transform:scale(1.35);
  box-shadow:0 0 0 8px color-mix(in srgb, var(--abricot) 30%, transparent); animation:sm-pouls 2.2s ease-out infinite }
.sm-fx-jalon.is-actif .sm-fx-court{ color:#fff }
@keyframes sm-pouls{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--abricot) 55%, transparent) } 70%{ box-shadow:0 0 0 16px transparent } 100%{ box-shadow:0 0 0 0 transparent } }
.sm-frisex .sm-fx-jalon{ transition:opacity .45s ease, transform .45s ease; transition-delay:calc(var(--i) * 70ms) }
.sm-js .sm-frisex:not(.is-vu) .sm-fx-jalon{ opacity:0; transform:translateY(12px) }
.sm-frisex-panneau{ margin-top:40px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:28px; align-items:center;
  background:rgba(247,238,242,.07); border:1px solid rgba(247,238,242,.14); border-radius:24px; padding:28px 32px; backdrop-filter:blur(4px) }
.sm-frisex-panneau.is-change .sm-frisex-detail,.sm-frisex-panneau.is-change .sm-frisex-num{ animation:sm-glisse .5s cubic-bezier(.2,.8,.2,1) }
@keyframes sm-glisse{ from{ opacity:0; transform:translateX(18px) } to{ opacity:1; transform:none } }
.sm-frisex-num{ font-family:var(--titre); font-weight:700; line-height:1; color:var(--miel) }
.sm-frisex-num span{ font-size:64px } .sm-frisex-num small{ font-size:18px; color:rgba(247,238,242,.6); margin-left:4px }
.sm-frisex-quand{ margin:0 0 .25em; font-family:var(--titre); font-size:26px; color:#fff }
.sm-frisex-note{ margin:0; font-size:17px; color:rgba(247,238,242,.88); max-width:62ch }
.sm-frisex-lien{ white-space:nowrap }
@media (prefers-reduced-motion: reduce){ .sm-frisex .sm-fx-jalon{ opacity:1; transform:none; transition:none } .sm-fx-jalon.is-actif .sm-fx-point{ animation:none } }
@media (max-width:899px){
  .sm-frisex-bande .sm-bande-in{ padding-top:56px; padding-bottom:56px }
  .sm-frisex-phases{ display:none }
  .sm-frisex-piste{ overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; margin:0 calc(var(--marge) * -1); padding-left:var(--marge); padding-right:var(--marge) }
  .sm-frisex-jalons{ grid-template-columns:repeat(var(--n), 78px); width:max-content }
  .sm-frisex-ligne,.sm-frisex-rempli{ left:calc(var(--marge) + 39px); right:auto; width:calc(78px * (var(--n) - 1)) }
  .sm-fx-jalon{ scroll-snap-align:center }
  .sm-frisex-panneau{ grid-template-columns:1fr; gap:14px; padding:22px }
  .sm-frisex-num span{ font-size:44px }
  .sm-frisex-lien{ justify-self:start; white-space:normal }
}

/* ---------- R6 : vos droits en 3 chiffres — cartes ---------- */
.sm-droits{ background:var(--voile) }
.sm-droits .sm-bande-in{ padding-top:72px; padding-bottom:72px }
.sm-droits-tete{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:10px 40px; margin-bottom:32px }
.sm-droits-tete h2{ margin:0 } .sm-droits-tete p{ margin:0; max-width:44ch; color:color-mix(in srgb, var(--encre) 78%, transparent) }
.sm-droits-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px }
.sm-droit{ --c:var(--sauge); position:relative; background:var(--surf); border-radius:24px; padding:30px 28px 24px; display:flex; flex-direction:column; gap:10px;
  box-shadow:var(--ombre-sm); border:1px solid var(--bord); overflow:hidden;
  transition:opacity .6s ease, transform .6s ease; transition-delay:calc(var(--i) * 120ms) }
.sm-js .sm-droits:not(.is-vu) .sm-droit{ opacity:0; transform:translateY(18px) }
.sm-droit::before{ content:""; position:absolute; inset:0 0 auto 0; height:6px; background:var(--c) }
.sm-droit--sauge{ --c:var(--sauge) } .sm-droit--abricot{ --c:var(--abricot) } .sm-droit--miel{ --c:var(--miel) }
.sm-droit-ico{ width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:color-mix(in srgb, var(--c) 26%, var(--surf)); color:var(--prune) }
.sm-droit-ico .sm-ico{ width:24px; height:24px }
.sm-droit-valeur{ margin:6px 0 0; display:flex; align-items:baseline; flex-wrap:wrap; gap:.25em; color:var(--prune); font-family:var(--titre); line-height:1 }
.sm-droit-valeur b{ font-size:clamp(44px,4.6vw,64px); font-variant-numeric:tabular-nums }
.sm-droit-valeur span{ font-size:clamp(20px,2vw,28px); font-weight:700 }
.sm-droit-legende{ font-family:var(--corps); font-size:16px; font-weight:700; line-height:1.45; color:var(--encre); margin:0 }
.sm-droit-source{ margin:auto 0 0; padding-top:12px; border-top:1px dashed var(--bord); font-size:12.5px; color:color-mix(in srgb, var(--encre) 62%, transparent) }
@media (max-width:860px){ .sm-droits-grille{ grid-template-columns:1fr } }

/* ---------- R7 : repères rouges sur la carte ---------- */
.sm-france .sm-pin{ fill:var(--rouge-pin); stroke:#fff; stroke-width:1.5; pointer-events:none; transition:opacity .35s ease; transition-delay:calc(var(--i) * 60ms) }
.sm-france .sm-pin circle{ fill:#fff; stroke:none }
.sm-js .sm-france:not(.is-vu) .sm-pin{ opacity:0 }
.sm-france.is-vu .sm-pin path{ animation:sm-pin-tombe .5s cubic-bezier(.3,1.4,.5,1) both; animation-delay:calc(var(--i) * 60ms) }
@keyframes sm-pin-tombe{ from{ transform:translateY(-14px) } to{ transform:none } }
.sm-france .sm-pin--ville path{ fill:var(--abricot-fonce) }
.sm-france .sm-pin text{ font:700 15px var(--corps); fill:var(--prune); stroke:#fff; stroke-width:4px; paint-order:stroke }
.sm-france path{ fill:color-mix(in srgb, var(--sauge) 20%, var(--surf)) }
.sm-france a:nth-child(3n) path{ fill:color-mix(in srgb, var(--miel) 22%, var(--surf)) }
.sm-france a:nth-child(3n+1) path{ fill:color-mix(in srgb, var(--abricot) 14%, var(--surf)) }
.sm-france a:hover path,.sm-france a:focus path{ fill:var(--abricot); stroke:var(--abricot) }
.sm-region-lien .sm-ico{ color:var(--rouge-pin) }
.sm-region-lien:hover{ border-color:var(--abricot); color:var(--abricot-fonce) }

/* ---------- R8 / R9 : le prix d'une place — formule en infographie + simulateur en bande ---------- */
.sm-prix{ background:linear-gradient(180deg, color-mix(in srgb, var(--sauge) 22%, var(--lait)), var(--lait)) }
.sm-prix .sm-bande-in{ padding-top:72px; padding-bottom:72px }
.sm-prix-tete{ text-align:center; max-width:760px; margin:0 auto 34px }
.sm-prix-tete h2{ margin-bottom:.3em } .sm-prix-tete p{ margin:0; color:color-mix(in srgb, var(--encre) 80%, transparent); font-size:1.05em }
.sm-prix-formule{ list-style:none; margin:0 0 28px; padding:0; display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:12px; align-items:stretch }
.sm-prix-formule > li:not(.sm-prix-op){ background:var(--surf); border:1px solid var(--bord); border-radius:20px; padding:20px 18px; display:grid; gap:4px; align-content:start; box-shadow:var(--ombre-sm) }
.sm-prix-formule b{ font-family:var(--titre); color:var(--prune); font-size:18px }
.sm-prix-formule small{ font-size:13.5px; line-height:1.45; color:color-mix(in srgb, var(--encre) 76%, transparent) }
.sm-prix-n{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--prune); color:#fff; font-weight:700; margin-bottom:6px }
.sm-prix-n .sm-ico{ width:18px; height:18px }
.sm-prix-op{ display:grid; place-items:center; font-family:var(--titre); font-size:34px; color:var(--abricot-fonce) }
.sm-prix-total{ background:var(--prune) !important; border-color:var(--prune) !important }
.sm-prix-total b{ color:#fff } .sm-prix-total small{ color:rgba(255,255,255,.8) } .sm-prix-total .sm-prix-n{ background:var(--abricot) }
.sm-prix-carte{ background:var(--surf); border-radius:24px; box-shadow:var(--ombre); padding:22px 24px; display:grid; gap:10px }
.sm-prix-carte .sm-simulateur{ border:0; padding:0; box-shadow:none; display:grid; grid-template-columns:minmax(0,3fr) auto minmax(0,2fr); gap:16px 20px; align-items:end }
.sm-prix-carte .sm-simulateur-champs{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px }
.sm-prix-carte [data-sm-simuler]{ height:50px }
.sm-prix-carte .sm-simulateur-resultat{ background:color-mix(in srgb, var(--miel) 24%, var(--lait)); border-radius:16px; padding:12px 16px; font-size:20px; min-height:50px; display:flex; align-items:center }
.sm-prix-carte .sm-simulateur.is-exemple .sm-simulateur-resultat::before{ content:"Exemple · "; font-family:var(--corps); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--abricot-fonce); margin-right:.4em }
.sm-prix-carte .sm-sources-note{ grid-column:1/-1 }
.sm-prix-carte .sm-lien-plus{ margin:0 }
@media (max-width:1000px){
  .sm-prix-formule{ grid-template-columns:1fr 1fr } .sm-prix-op{ display:none }
  .sm-prix-carte .sm-simulateur{ grid-template-columns:1fr }
}
@media (max-width:620px){ .sm-prix-formule{ grid-template-columns:1fr } .sm-prix-carte .sm-simulateur-champs{ grid-template-columns:1fr } }

/* ---------- R10 / R11 : dernières publications — une + liste ---------- */
.sm-der-tete{ margin-bottom:26px }
.sm-der{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:28px; align-items:start }
.sm-der-une{ background:var(--surf); border-radius:24px; overflow:hidden; box-shadow:var(--ombre-sm); border:1px solid var(--bord) }
.sm-der-photo{ display:block; aspect-ratio:16/10; overflow:hidden }
.sm-der-photo img,.sm-der-photo .sm-repli{ width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .5s ease }
.sm-der-une:hover .sm-der-photo img{ transform:scale(1.03) }
.sm-der-texte{ padding:22px 26px 26px; display:grid; gap:10px }
.sm-der-texte h3{ margin:0; font-size:clamp(22px,2vw,28px) }
.sm-der h3 a{ text-decoration:none } .sm-der h3 a:hover{ color:var(--abricot-fonce) }
.sm-der-liste{ display:grid; gap:14px }
.sm-der-ligne{ display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:center; background:var(--surf); border:1px solid var(--bord); border-radius:18px; padding:10px; transition:box-shadow .2s, transform .2s }
.sm-der-ligne:hover{ box-shadow:var(--ombre-sm); transform:translateY(-2px) }
.sm-der-vign{ display:block; width:112px; height:112px; border-radius:12px; overflow:hidden }
.sm-der-vign img,.sm-der-vign .sm-repli{ width:100%; height:100%; object-fit:cover; border-radius:0 }
.sm-der-ligne h3{ font-size:17px; line-height:1.3; margin:2px 0 4px }
.sm-der-rub{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--abricot-fonce) }
.sm-pastille--prune{ background:color-mix(in srgb, var(--prune) 12%, var(--surf)); color:var(--prune) }
@media (max-width:900px){ .sm-der{ grid-template-columns:1fr } .sm-der-ligne{ grid-template-columns:88px minmax(0,1fr) } .sm-der-vign{ width:88px; height:88px } }

/* ---------- R12 : mutuelle — texte et formulaire de même poids ---------- */
.sm-mutu-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; padding-top:72px; padding-bottom:72px }
.sm-mutu-texte > p{ font-size:1.05em; max-width:54ch }
.sm-mutu-q{ list-style:none; counter-reset:q; margin:22px 0 0; padding:0; display:grid; gap:12px }
.sm-mutu-q li{ counter-increment:q; position:relative; background:color-mix(in srgb, var(--surf) 80%, transparent); border-radius:16px; padding:14px 16px 14px 62px; display:grid; gap:2px; border:1px solid var(--bord) }
.sm-mutu-q li::before{ content:counter(q); position:absolute; left:16px; top:50%; transform:translateY(-50%); width:32px; height:32px; border-radius:50%; background:var(--abricot); color:#fff; font-weight:700; display:grid; place-items:center }
.sm-mutu-q b{ color:var(--prune) } .sm-mutu-q span{ font-size:14.5px }
.sm-mutu .sm-form{ box-shadow:var(--ombre) }
@media (max-width:900px){ .sm-mutu-in{ grid-template-columns:minmax(0,1fr); gap:28px; padding-top:48px; padding-bottom:48px } }

/* ---------- R13 / R25 : plus de marge morte avant le pied ---------- */
.sm-pied{ margin-top:0 }
main#contenu > :last-child{ margin-bottom:0 }

/* ---------- R14 / R15 : pied de page étoffé ---------- */
.sm-pied{ background:#2E1838; color:#F7EEF2 }
.sm-pied-haut{ max-width:var(--large); margin:0 auto; padding:64px var(--marge) 36px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,2fr); gap:56px }
.sm-pied-logo{ text-decoration:none }
.sm-pied .sm-logo,.sm-pied .sm-logo-mot,.sm-pied .sm-logo-symbole{ color:#F7EEF2 }
.sm-pied-baseline{ color:rgba(247,238,242,.82); margin:14px 0 18px; font-size:15px; line-height:1.55 }
.sm-pied-engagements{ list-style:none; margin:0; padding:0; display:grid; gap:10px }
.sm-pied-engagements li{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.45; color:rgba(247,238,242,.78) }
.sm-pied-engagements .sm-ico{ color:var(--sauge); margin-top:2px }
.sm-pied-cols{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px }
.sm-pied-col h2{ color:var(--miel); font-family:var(--titre); font-size:15px; text-transform:none; letter-spacing:0; margin:0 0 14px }
.sm-pied-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px }
.sm-pied-col a{ color:rgba(247,238,242,.86); text-decoration:none; font-size:14.5px }
.sm-pied-col a:hover{ color:#fff; text-decoration:underline }
.sm-pied-guides{ max-width:var(--large); margin:0 auto; padding:26px var(--marge) 30px; border-top:1px solid rgba(247,238,242,.12) }
.sm-pied-guides h2{ color:#F7EEF2; font-family:var(--titre); font-size:15px; margin:0 0 14px }
.sm-pied-guides ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.sm-pied-guides a{ display:grid; grid-template-columns:56px minmax(0,1fr); gap:12px; align-items:center; text-decoration:none; color:rgba(247,238,242,.9); font-size:14px; line-height:1.35 }
.sm-pied-guides a:hover{ color:#fff }
.sm-pied-guides small{ display:block; color:rgba(247,238,242,.55); font-size:12px; margin-top:3px }
.sm-pied-vign{ width:56px; height:56px; border-radius:12px; overflow:hidden; display:block }
.sm-pied-vign img,.sm-pied-vign .sm-repli{ width:56px; height:56px; object-fit:cover; border-radius:0 }
.sm-pied-bas{ max-width:var(--large); margin:0 auto; padding:18px var(--marge); display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(247,238,242,.12); font-size:13px; color:rgba(247,238,242,.7) }
.sm-pied-bas a{ color:rgba(247,238,242,.85); text-decoration:none } .sm-pied-bas a:hover{ text-decoration:underline }
@media (max-width:1000px){ .sm-pied-haut{ grid-template-columns:1fr; gap:36px } .sm-pied-guides ul{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .sm-pied-cols{ grid-template-columns:1fr 1fr; gap:24px 16px } .sm-pied-guides ul{ grid-template-columns:1fr } }

/* ---------- R16 / R17 : tête d'article — titre à gauche, image mesurée à droite ---------- */
.sm-art-tete{ max-width:1180px; margin:0 auto; padding:28px var(--marge) 8px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:40px; align-items:center }
.sm-art-tete--sans-image{ grid-template-columns:minmax(0,760px) }
.sm-art-tete h1{ font-size:clamp(30px,3.2vw,44px); line-height:1.12; margin:0 0 .2em; text-align:left }
.sm-art-tete .sm-fil-ariane ol{ margin-bottom:10px }
.sm-art-tete .sm-article-meta{ margin:14px 0 0 }
.sm-art-tete .sm-auteur-photo img{ width:40px; height:40px }
.sm-art-tete-photo{ margin:0; border-radius:22px; overflow:hidden; aspect-ratio:4/3; box-shadow:var(--ombre) }
.sm-art-tete-photo img{ width:100%; height:100%; object-fit:cover; display:block }
.sm-une{ display:none }
@media (max-width:900px){
  .sm-art-tete{ grid-template-columns:minmax(0,1fr); gap:18px; padding-top:18px }
  .sm-art-tete-photo{ aspect-ratio:16/9; max-height:230px }
  .sm-art-tete h1{ font-size:clamp(26px,7vw,34px) }
}
.sm-article-grille .sm-article-corps{ margin-top:22px; padding-bottom:40px }

/* ---------- R20 : barre latérale collante sur toute la lecture ---------- */
@media (min-width:1100px){
  .sm-article-grille{ align-items:start }
  .sm-aside--colle{ position:sticky; top:calc(var(--tete-h) + 18px); padding:22px 0 40px; max-height:calc(100vh - var(--tete-h) - 30px); overflow-y:auto; scrollbar-width:thin }
  .sm-aside-sommaire{ display:block }
}
.sm-aside-pile{ display:grid; gap:16px }
.sm-aside-sommaire{ position:relative }
/* R-1418 / CM-0399 : jamais de défilement interne — le sommaire suit la page, compact */
.sm-aside-sommaire a{ padding:4px 8px; font-size:13.5px }
.sm-aside-progres{ display:block; height:4px; border-radius:4px; background:var(--voile); margin-top:10px; overflow:hidden }
.sm-aside-progres span{ display:block; height:100%; background:linear-gradient(90deg,var(--sauge),var(--abricot)); transform-origin:left; transform:scaleX(0) }
.sm-aside-cta{ display:grid; gap:4px; text-decoration:none; background:var(--prune); color:#fff; border-radius:var(--rayon-carte); padding:18px }
.sm-aside-cta b{ font-family:var(--titre); font-size:17px } .sm-aside-cta span{ font-size:13.5px; color:rgba(255,255,255,.82) }
.sm-aside-cta em{ font-style:normal; font-weight:700; color:var(--miel); display:inline-flex; gap:.35em; align-items:center; margin-top:6px }
@media (max-width:1099px){ .sm-aside{ display:none } }

/* ---------- R19 : tableaux fixes, jamais de défilement ---------- */
.sbs_tableau{ overflow:visible; border:0; border-radius:0 }
.sbs_tableau table, table.sm-tab-fixe{ min-width:0 !important; width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0;
  border:1px solid var(--bord); border-radius:18px; overflow:hidden; background:var(--surf); margin:1.4em 0 }
.sm-tab-fixe th,.sm-tab-fixe td{ padding:.75em .8em; font-size:14px; line-height:1.45; vertical-align:top; overflow-wrap:anywhere; hyphens:auto; white-space:normal !important; border-bottom:1px solid var(--bord) }
.sm-tab-fixe th{ background:var(--prune); color:#fff; font-family:var(--titre); font-size:14px; text-align:left }
.sm-tab-fixe tbody tr:nth-child(even) td{ background:color-mix(in srgb, var(--voile) 60%, var(--surf)) }
.sm-tab-fixe tbody tr:last-child td{ border-bottom:0 }
.sm-tab-fixe td:first-child{ font-weight:700; color:var(--prune) }
@media (max-width:700px){
  table.sm-tab-fixe, .sm-tab-fixe tbody, .sm-tab-fixe tr, .sm-tab-fixe td{ display:block; width:100% }
  .sm-tab-fixe thead{ display:none }
  .sm-tab-fixe{ border:0; background:none; overflow:visible }
  .sm-tab-fixe tr{ background:var(--surf); border:1px solid var(--bord); border-radius:16px; margin-bottom:12px; overflow:hidden }
  .sm-tab-fixe td{ display:grid; grid-template-columns:40% minmax(0,1fr); gap:10px; background:none !important }
  .sm-tab-fixe td::before{ content:attr(data-label); font-weight:700; color:var(--abricot-fonce); font-size:12.5px }
  .sm-tab-fixe td:first-child{ background:color-mix(in srgb, var(--voile) 70%, var(--surf)) !important }
}

/* ---------- R23 / R24 / R22 : fin d'article cohérente ---------- */
.sm-pub{ display:none !important }
.sm-fin{ display:grid; gap:16px; margin-top:36px }
.sm-fin-titre{ display:flex; align-items:center; gap:.45em; font-size:20px; margin:0 0 .6em }
.sm-fin-titre .sm-ico{ color:var(--sauge) }
.sm-fin-sources{ background:var(--surf); border:1px solid var(--bord); border-radius:var(--rayon-carte); padding:20px 22px }
.sm-fin-dates{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 14px }
.sm-fin-dates div{ background:var(--voile); border-radius:12px; padding:10px 12px }
.sm-fin-dates dt{ font-size:11.5px; text-transform:uppercase; letter-spacing:.07em; color:color-mix(in srgb, var(--encre) 60%, transparent); font-weight:700 }
.sm-fin-dates dd{ margin:2px 0 0; font-weight:700; color:var(--prune); font-size:15px }
.sm-fin-src{ margin:0; font-size:14px; line-height:1.6; color:color-mix(in srgb, var(--encre) 82%, transparent) }
.sm-fin .sm-bloc-auteur{ margin:0; background:linear-gradient(120deg, color-mix(in srgb, var(--miel) 22%, var(--surf)), var(--surf)); border:1px solid var(--bord); align-items:center }
.sm-form-fin{ margin-top:24px; scroll-margin-top:100px }
.sm-plus-loin-bande{ background:var(--voile) }
.sm-plus-loin-bande .sm-bande-in{ padding-top:48px; padding-bottom:56px }
.sm-plus-loin-tete{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px; margin-bottom:18px }
.sm-plus-loin-tete .sm-fin-titre{ margin:0; font-size:clamp(22px,2.2vw,28px) }
.sm-plus-loin-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px }
.sm-lies{ display:none }
@media (max-width:760px){ .sm-plus-loin-grille{ grid-template-columns:1fr } .sm-fin-dates{ grid-template-columns:1fr 1fr } }
.sm-lecture > .sm-sommaire{ margin-top:4px }

/* ---------- R18 / R21 : respiration du corps ---------- */
.sm-lecture h2{ font-size:clamp(24px,2.3vw,32px); margin-top:1.8em }
.sm-lecture h2 + figure, .sm-lecture h2 + .wp-block-image{ margin-top:.6em }
.sm-lecture figure{ margin:1.8em 0 }
.sm-lecture img{ max-height:380px }

/* ---------- R26 → R33 : tête de rubrique / de page ---------- */
.sm-rtete{ --t:var(--voile); background:
  radial-gradient(600px 300px at 95% 10%, color-mix(in srgb, var(--t) 70%, transparent), transparent 70%),
  color-mix(in srgb, var(--t) 38%, var(--lait)); border-bottom:1px solid var(--bord) }
.sm-rtete--sauge{ --t:var(--sauge) } .sm-rtete--miel{ --t:var(--miel) } .sm-rtete--voile{ --t:#E8D5CE } .sm-rtete--prune{ --t:#D9C6E3 }
.sm-rtete-in{ max-width:var(--large); margin:0 auto; padding:34px var(--marge) 40px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:center }
.sm-rtete h1{ color:var(--prune); margin:0; font-size:clamp(34px,4vw,58px); line-height:1.05 }
.sm-rtete-sur{ display:inline-flex; align-items:center; gap:.45em; margin:0 0 10px; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--abricot-fonce) }
.sm-rtete-sur .sm-ico{ width:20px; height:20px }
.sm-rtete-chapo{ margin:14px 0 0; font-size:1.08em; max-width:52ch; color:color-mix(in srgb, var(--encre) 85%, transparent) }
.sm-rtete-compte{ margin:14px 0 0; font-size:14px; color:color-mix(in srgb, var(--encre) 70%, transparent) }
.sm-rtete-compte b{ color:var(--prune); font-size:16px }
.sm-rtete-badges{ background:color-mix(in srgb, var(--surf) 78%, transparent); border:1px solid var(--bord); border-radius:24px; padding:18px; box-shadow:var(--ombre-sm) }
.sm-rtete-badges > p{ margin:0 0 10px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:color-mix(in srgb, var(--encre) 60%, transparent) }
.sm-rtete-badges > div{ display:flex; flex-wrap:wrap; gap:8px }
.sm-badge{ --b:var(--voile); display:inline-flex; align-items:center; gap:.45em; padding:.55em .95em; border-radius:999px; text-decoration:none; font-weight:700; font-size:14px;
  color:var(--prune); background:color-mix(in srgb, var(--b) 30%, var(--surf)); border:1px solid color-mix(in srgb, var(--b) 60%, transparent); transition:transform .15s, background .15s }
.sm-badge small{ font-size:11.5px; font-weight:700; min-width:22px; height:22px; border-radius:999px; display:inline-grid; place-items:center; background:var(--surf); color:var(--abricot-fonce); padding:0 6px }
.sm-badge:hover{ transform:translateY(-1px); background:color-mix(in srgb, var(--b) 50%, var(--surf)) }
.sm-badge.is-actif{ background:var(--prune); color:#fff; border-color:var(--prune) }
.sm-badge--sauge{ --b:var(--sauge) } .sm-badge--miel{ --b:var(--miel) } .sm-badge--voile{ --b:#E0C4BA } .sm-badge--prune{ --b:#C9B2D6 }
.sm-rtete .sm-fil-ariane ol{ margin-bottom:12px }
.sm-kiosque{ display:none }
@media (max-width:900px){ .sm-rtete-in{ grid-template-columns:minmax(0,1fr); gap:20px; padding-top:22px; padding-bottom:26px } .sm-rtete-badges{ padding:14px } }
.sm-hub-tete{ display:none }

/* À la une (horizontal, mesuré) + grille sous H2 */
.sm-rliste{ background:var(--lait) }
.sm-rliste .sm-bande-in{ padding-top:40px }
.sm-rliste-t{ font-size:14px; font-family:var(--corps); text-transform:uppercase; letter-spacing:.1em; color:var(--abricot-fonce); margin:0 0 14px }
.sm-rliste-t:not(:first-child){ margin-top:44px }
.sm-une-h{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:0; background:var(--surf); border:1px solid var(--bord); border-radius:26px; overflow:hidden; box-shadow:var(--ombre-sm) }
.sm-une-h-photo{ display:block; max-height:380px; aspect-ratio:16/11; overflow:hidden }
.sm-une-h-photo img,.sm-une-h-photo .sm-repli{ width:100%; height:100%; object-fit:cover; border-radius:0; aspect-ratio:auto }
.sm-une-h-texte{ padding:30px 34px; display:flex; flex-direction:column; justify-content:center; gap:12px }
.sm-une-h-texte h3{ font-size:clamp(24px,2.3vw,32px); margin:0 } .sm-une-h-texte h3 a{ text-decoration:none } .sm-une-h-texte h3 a:hover{ color:var(--abricot-fonce) }
.sm-une-h-texte .sm-chapo{ font-size:15.5px }
.sm-grille-articles .sm-carte{ background:var(--surf); border:1px solid var(--bord); border-radius:20px; padding:10px 10px 16px; transition:transform .2s, box-shadow .2s }
.sm-grille-articles .sm-carte:hover{ transform:translateY(-3px); box-shadow:var(--ombre-sm) }
.sm-grille-articles .sm-carte > :not(.sm-carte-photo){ padding:0 6px }
.sm-grille-articles .sm-carte--majeure{ grid-column:auto }
.sm-carte-photo{ border-radius:14px }
@media (max-width:760px){ .sm-une-h{ grid-template-columns:1fr } .sm-une-h-photo{ aspect-ratio:16/10 } .sm-une-h-texte{ padding:20px } }

/* Pages annexes */
.sm-page-bande{ background:var(--lait); padding:36px var(--marge) 64px }
.sm-page-bande .sm-page-corps{ max-width:780px; margin:0 auto; padding:34px 40px; background:var(--surf); border:1px solid var(--bord); border-radius:24px; box-shadow:var(--ombre-sm) }
.sm-page-corps h2{ font-size:clamp(22px,2.2vw,28px) }
.sm-page-corps .legal-carte{ background:var(--voile); border-radius:16px; padding:16px 20px; margin-bottom:1.4em }
.sm-page-corps .legal-carte dt{ font-weight:700; color:var(--prune); margin-top:.6em } .sm-page-corps .legal-carte dd{ margin:0 }
@media (max-width:700px){ .sm-page-bande{ padding:20px 0 40px } .sm-page-bande .sm-page-corps{ padding:22px 18px; border-radius:0; border-left:0; border-right:0 } }
.sm-creche-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:center }
.sm-creche-etapes h2{ margin-bottom:.6em }
.sm-creche-etapes ol{ list-style:none; counter-reset:e; margin:0; padding:0; display:grid; gap:12px }
.sm-creche-etapes li{ counter-increment:e; position:relative; padding:14px 16px 14px 60px; background:var(--surf); border:1px solid var(--bord); border-radius:16px; display:grid; gap:2px }
.sm-creche-etapes li::before{ content:counter(e); position:absolute; left:16px; top:14px; width:30px; height:30px; border-radius:50%; background:var(--sauge); color:var(--prune); font-weight:700; display:grid; place-items:center }
.sm-creche-etapes b{ color:var(--prune) } .sm-creche-etapes span{ font-size:14.5px }
.sm-creche-astuce{ display:flex; gap:10px; margin:16px 0 0; padding:14px 16px; background:color-mix(in srgb, var(--miel) 26%, var(--lait)); border-radius:16px; font-size:14.5px }
.sm-creche-astuce .sm-ico{ color:var(--abricot-fonce); margin-top:3px }
@media (max-width:900px){ .sm-creche-in{ grid-template-columns:minmax(0,1fr) } }
.sm-dossiers .sm-bande-in{ display:grid; gap:28px; padding-top:40px }
.sm-dossier{ --b:var(--voile); background:var(--surf); border:1px solid var(--bord); border-radius:26px; padding:24px; box-shadow:var(--ombre-sm) }
.sm-dossier--sauge{ --b:var(--sauge) } .sm-dossier--miel{ --b:var(--miel) } .sm-dossier--prune{ --b:#C9B2D6 } .sm-dossier--voile{ --b:#E0C4BA }
.sm-dossier-tete{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:18px }
.sm-dossier-ico{ width:54px; height:54px; border-radius:16px; display:grid; place-items:center; background:color-mix(in srgb, var(--b) 35%, var(--surf)); color:var(--prune) }
.sm-dossier-ico .sm-ico{ width:26px; height:26px }
.sm-dossier-tete h2{ margin:0; font-size:24px } .sm-dossier-tete p{ margin:.2em 0 0; font-size:14.5px; color:color-mix(in srgb, var(--encre) 78%, transparent) }
.sm-dossier-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
@media (max-width:760px){ .sm-dossier-tete{ grid-template-columns:auto minmax(0,1fr) } .sm-dossier-tete .sm-lien-plus{ grid-column:1/-1 } .sm-dossier-grille{ grid-template-columns:1fr } }
.sm-contact{ background:color-mix(in srgb, var(--sauge) 16%, var(--lait)) }

/* Apparition douce (accueil) */
.sm-apparait{ transform:translateY(22px); transition:transform .7s cubic-bezier(.2,.8,.2,1) }
.sm-apparait.is-vu{ transform:none }
@media (prefers-reduced-motion: reduce){ .sm-apparait{ opacity:1; transform:none } }

/* ---------- Retouches après 1re capture (28/09) ---------- */
.sm-france .sm-pin path{ fill:var(--rouge-pin); stroke:#fff; stroke-width:1.6 }
.sm-france .sm-pin--ville path{ fill:var(--abricot-fonce) }
.sm-hero2-texte h1{ font-size:clamp(32px,3.1vw,46px); line-height:1.1 }
.sm-hero2-form{ grid-template-columns:minmax(0,1fr) auto }
.sm-hero2-champ{ grid-column:1 / -1 }
.sm-hero2-champ .sm-geoloc span{ display:inline }
@media (max-width:560px){ .sm-hero2-form{ grid-template-columns:minmax(0,1fr) } .sm-hero2-form .sm-cta{ grid-column:auto } }
.sm-prix-carte .sm-simulateur-resultat{ display:block; line-height:1.35 }
.sm-prix-carte .sm-simulateur-champs label{ font-size:13px; line-height:1.3; align-content:end }
.sm-prix-carte .sm-simulateur{ grid-template-columns:minmax(0,1fr) }
.sm-prix-carte .sm-simulateur-champs{ grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end }
@media (max-width:760px){ .sm-prix-carte .sm-simulateur-champs{ grid-template-columns:1fr } }

/* ---------- R21 : encadrés éditoriaux des articles réécrits ---------- */
.sm-savoir{ position:relative; margin:2em 0; padding:22px 24px 20px 78px; border-radius:20px;
  background:linear-gradient(120deg, color-mix(in srgb, var(--miel) 30%, var(--surf)), color-mix(in srgb, var(--miel) 12%, var(--surf))); border:1px solid color-mix(in srgb, var(--miel) 60%, transparent) }
.sm-savoir::before{ content:"?"; position:absolute; left:22px; top:22px; width:40px; height:40px; border-radius:50%; background:var(--abricot); color:#fff; font:700 22px/40px var(--titre); text-align:center }
.sm-savoir-t{ margin:0 0 .3em !important; font-family:var(--titre); font-weight:700; color:var(--prune); font-size:18px }
.sm-savoir p:last-child{ margin:0 }
.sm-nudge{ margin:2em 0; padding:20px 24px; border-radius:20px; background:var(--prune); color:#F7EEF2; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 20px; align-items:center }
.sm-nudge p{ margin:0 } .sm-nudge strong{ color:#fff; font-family:var(--titre) }
.sm-nudge a{ display:inline-flex; align-items:center; gap:.4em; background:var(--abricot); color:#fff !important; text-decoration:none !important; font-weight:700; padding:.75em 1.2em; border-radius:999px; white-space:nowrap }
.sm-nudge a:hover{ background:var(--abricot-fonce) }
@media (max-width:640px){ .sm-nudge{ grid-template-columns:1fr } .sm-savoir{ padding:70px 18px 18px } }
.sbs_jauges,.sbs_tarifs,.sbs_frise,.sm-checklist{ box-shadow:var(--ombre-sm) }

/* Mobile : le tiroir de menu replié ne doit jamais élargir la page (mesuré 710 px pour 390). */
body{ overflow-x:clip }
@media (max-width:1023px){ .sm-nav:not(.is-ouvert){ transform:translateX(100%); visibility:hidden; right:0; left:auto } }

/* Infographie « étapes » du socle : frise verticale lisible (date à gauche, titre + description à droite). */
.sbs_frise{ padding:22px 24px; background:var(--surf) }
.sbs_frise .sbs_etape{ position:relative; grid-template-columns:150px minmax(0,1fr); column-gap:22px; row-gap:2px; padding:14px 0 14px; border-top:0 }
.sbs_frise .sbs_etape::before{ content:""; position:absolute; left:150px; top:0; bottom:0; width:2px; margin-left:10px; background:color-mix(in srgb, var(--sauge) 55%, transparent) }
.sbs_frise .sbs_etape::after{ content:""; position:absolute; left:150px; top:18px; width:12px; height:12px; margin-left:5px; border-radius:50%; background:var(--abricot); box-shadow:0 0 0 4px color-mix(in srgb, var(--abricot) 22%, transparent) }
.sbs_frise .sbs_etape_date{ grid-column:1; grid-row:1 / span 2; font-size:13px; line-height:1.35; padding-top:1px }
.sbs_frise .sbs_etape_titre,.sbs_frise .sbs_etape_desc{ grid-column:2; padding-left:14px }
.sbs_frise .sbs_etape_titre{ font-weight:700; color:var(--prune) }
.sbs_frise .sbs_etape_desc{ font-size:14.5px; line-height:1.5 }
@media (max-width:600px){
  .sbs_frise .sbs_etape{ grid-template-columns:minmax(0,1fr); padding-left:26px }
  .sbs_frise .sbs_etape::before{ left:0; margin-left:5px } .sbs_frise .sbs_etape::after{ left:0; margin-left:0 }
  .sbs_frise .sbs_etape_date,.sbs_frise .sbs_etape_titre,.sbs_frise .sbs_etape_desc{ grid-column:1; grid-row:auto; padding-left:0 }
}
.wp-block-image figcaption{ font-size:12.5px; color:color-mix(in srgb, var(--encre) 60%, transparent); margin-top:6px; text-align:right }

/* Page auteur */
.sm-auteur-portrait{ margin:0; justify-self:center; width:min(300px,70vw); aspect-ratio:1/1; border-radius:50%; overflow:hidden; box-shadow:var(--ombre); border:8px solid var(--surf) }
.sm-auteur-portrait img{ width:100%; height:100%; object-fit:cover; display:block }
.sm-rtete-role{ margin:8px 0 0; font-weight:700; color:var(--abricot-fonce) }
.sm-rtete--auteur .sm-rliste-t{ display:none }

/* R-1175 : titres de gabarit hors contenu = paragraphes stylés, jamais des Hn */
.sm-fin-titre{ font-family:var(--titre); font-weight:700; color:var(--prune) }
.sm-carte-t{ font-family:var(--titre); font-weight:700; color:var(--prune); font-size:18px; line-height:1.25; margin:0 }
.sm-carte-t a{ text-decoration:none } .sm-carte-t a:hover{ color:var(--abricot-fonce) }
.sm-pied-t{ font-family:var(--titre); font-weight:700; color:var(--miel); font-size:15px; margin:0 0 14px }
.sm-pied-guides .sm-pied-t{ color:#F7EEF2 }
.sm-form-t{ font-family:var(--titre); font-weight:700; color:var(--prune); font-size:22px; line-height:1.2; margin:0 }

/* Sommaire dans le contenu (mobile) : numéro aligné sur la 1re ligne, jamais décalé sous le texte */
.sm-sommaire ol{ list-style:none; counter-reset:smsom; padding-left:0; gap:2px }
.sm-sommaire li{ counter-increment:smsom; display:grid; grid-template-columns:26px minmax(0,1fr); align-items:start; gap:6px }
.sm-sommaire li::before{ content:counter(smsom); font-weight:700; color:var(--abricot-fonce, #b5532c); padding-top:6px }
.sm-sommaire li a{ display:block; padding:6px 0; line-height:1.4 }
