/*
Theme Name: Serenoa
Theme URI: https://mutuelle-sante-retraite.fr
Description: Theme sur-mesure pour mutuelle-sante-retraite.fr — le repere prevoyance & mutuelle sante des 55+. Direction « soin chaleureux » : eucalyptus profond, sable, corail. Accessibilite senior (gros texte, contraste AA+, navigation simple), motion CSS-first, schema JSON-LD E-E-A-T.
Author: Eagle Rocket
Author URI: https://eagle-rocket.fr
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: serenoa
*/

/* ============================================================
   SERENOA — design tokens (palette UNIQUE anti-footprint)
   eucalyptus #1F4E45 · sable #EDE3D2 · corail #E5705B · encre #14201D
   Typo : Fraunces (titres) + Inter (texte). Senior-first.
   Nommage des classes : prefixe .sn- (unique au reseau).
   ============================================================ */

:root{
  --sn-eucalyptus:#1F4E45;
  --sn-eucalyptus-700:#163a33;
  --sn-eucalyptus-900:#0e2723;
  --sn-sable:#EDE3D2;
  --sn-sable-light:#F6F0E5;
  --sn-sable-soft:#FBF8F2;
  --sn-corail:#E5705B;
  --sn-corail-700:#cc5340;
  --sn-encre:#14201D;
  --sn-encre-soft:#3a4844;
  --sn-paper:#FBF8F2;
  --sn-white:#ffffff;
  --sn-line:rgba(20,32,29,.14);
  --sn-line-soft:rgba(20,32,29,.08);

  --sn-font-display:"Fraunces", Georgia, "Times New Roman", serif;
  --sn-font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Senior-first : base genereuse */
  --sn-fs-base:1.1875rem;       /* 19px */
  --sn-lh-base:1.7;
  --sn-maxw:74rem;
  --sn-maxw-text:42rem;
  --sn-radius:22px;
  --sn-radius-lg:32px;
  --sn-radius-pill:999px;
  --sn-shadow:0 18px 50px -24px rgba(14,39,35,.45);
  --sn-shadow-soft:0 10px 30px -18px rgba(14,39,35,.35);
  --sn-gap:clamp(1.5rem,4vw,3rem);

  --sn-ease-out:cubic-bezier(.22,1,.36,1);
  --sn-ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ---------- reset léger ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sn-font-body);
  font-size:var(--sn-fs-base);
  line-height:var(--sn-lh-base);
  color:var(--sn-encre);
  background:var(--sn-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--sn-eucalyptus-700);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--sn-corail-700)}
button{font:inherit}
:where(h1,h2,h3,h4){font-family:var(--sn-font-display);line-height:1.08;letter-spacing:-.015em;text-wrap:balance;color:var(--sn-encre);font-weight:540}
p{text-wrap:pretty}

/* accessibilité : focus visible fort (senior) */
:focus-visible{outline:3px solid var(--sn-corail);outline-offset:3px;border-radius:6px}

.sn-skip-link{position:absolute;left:-999px;top:0;background:var(--sn-eucalyptus);color:#fff;padding:.8rem 1.2rem;z-index:200;border-radius:0 0 12px 0}
.sn-skip-link:focus{left:0;color:#fff}

/* ---------- layout helpers ---------- */
.sn-wrap{width:min(100% - 2.5rem, var(--sn-maxw));margin-inline:auto}
.sn-narrow{width:min(100% - 2.5rem, var(--sn-maxw-text));margin-inline:auto}
.sn-section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.sn-section--tight{padding-block:clamp(2.5rem,6vw,4rem)}
.sn-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--sn-font-body);font-weight:650;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--sn-corail-700);
  margin:0 0 1rem;
}
.sn-eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--sn-corail);border-radius:2px}
.sn-h2{font-size:clamp(2rem,4.6vw,3.1rem);margin:0 0 1rem}
.sn-lead{font-size:clamp(1.18rem,2.4vw,1.4rem);line-height:1.6;color:var(--sn-encre-soft);max-width:46rem}

/* ---------- boutons ---------- */
.sn-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-weight:650;font-size:1.05rem;line-height:1;
  padding:1rem 1.7rem;border-radius:var(--sn-radius-pill);
  border:2px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .25s var(--sn-ease-spring), background .2s, box-shadow .25s, color .2s;
  min-height:54px;  /* cible tactile senior */
}
.sn-btn--primary{background:var(--sn-corail);color:#fff;box-shadow:0 12px 26px -12px rgba(229,112,91,.7)}
.sn-btn--primary:hover{background:var(--sn-corail-700);color:#fff;transform:translateY(-2px)}
.sn-btn--ghost{background:transparent;color:var(--sn-eucalyptus-700);border-color:var(--sn-eucalyptus)}
.sn-btn--ghost:hover{background:var(--sn-eucalyptus);color:#fff;transform:translateY(-2px)}
.sn-btn--light{background:#fff;color:var(--sn-eucalyptus-700);box-shadow:var(--sn-shadow-soft)}
.sn-btn--light:hover{background:var(--sn-sable-light);transform:translateY(-2px);color:var(--sn-eucalyptus-700)}
.sn-btn svg{width:1.1em;height:1.1em}

/* ============================================================
   HEADER
   ============================================================ */
.sn-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--sn-paper) 88%,transparent);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--sn-line-soft)}
.sn-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.85rem}
.sn-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--sn-encre);font-family:var(--sn-font-display);font-weight:600;font-size:1.3rem;letter-spacing:-.02em}
.sn-brand__mark{width:42px;height:42px;flex:0 0 auto}
.sn-brand strong{font-weight:600}
.sn-brand span{color:var(--sn-eucalyptus)}
.sn-nav{display:flex;align-items:center;gap:.3rem}
.sn-nav ul{display:flex;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0}
.sn-nav a{color:var(--sn-encre);text-decoration:none;font-weight:550;font-size:1.02rem;padding:.6rem .85rem;border-radius:12px;transition:background .2s,color .2s}
.sn-nav a:hover,.sn-nav .current-menu-item>a,.sn-nav .current_page_item>a{background:var(--sn-sable);color:var(--sn-eucalyptus-700)}
.sn-header .sn-btn{padding:.7rem 1.25rem;min-height:46px;font-size:.98rem}
.sn-burger{display:none;background:none;border:0;cursor:pointer;padding:.5rem;color:var(--sn-encre)}
.sn-burger svg{width:30px;height:30px}

@media(max-width:920px){
  .sn-nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--sn-paper);border-bottom:1px solid var(--sn-line);padding:1rem 1.25rem 1.5rem;gap:.4rem;transform:translateY(-130%);transition:transform .35s var(--sn-ease-out);box-shadow:var(--sn-shadow)}
  .sn-nav[data-open="true"]{transform:translateY(0)}
  .sn-nav ul{flex-direction:column;align-items:stretch;gap:.2rem}
  .sn-nav a{padding:.85rem 1rem;font-size:1.1rem}
  .sn-nav .sn-btn{margin-top:.5rem}
  .sn-burger{display:inline-flex}
  .sn-header__cta{display:none}
}

/* ============================================================
   HERO
   ============================================================ */
.sn-hero{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 85% -10%, var(--sn-sable-light) 0%, var(--sn-paper) 55%)}
.sn-hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(3rem,7vw,5.5rem)}
.sn-hero__badge{display:inline-flex;align-items:center;gap:.6rem;background:var(--sn-white);border:1px solid var(--sn-line-soft);box-shadow:var(--sn-shadow-soft);border-radius:var(--sn-radius-pill);padding:.5rem 1rem .5rem .65rem;font-weight:600;font-size:.95rem;color:var(--sn-eucalyptus-700)}
.sn-hero__badge b{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--sn-corail);color:#fff;font-size:.9rem}
.sn-hero h1{font-size:clamp(2.6rem,6.2vw,4.6rem);margin:1.3rem 0 1.2rem;font-weight:560}
.sn-hero h1 em{font-style:normal;color:var(--sn-eucalyptus);position:relative;white-space:nowrap}
.sn-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.34em;background:var(--sn-corail);opacity:.28;border-radius:6px;z-index:-1}
.sn-hero__lead{font-size:clamp(1.18rem,2.3vw,1.42rem);line-height:1.62;color:var(--sn-encre-soft);max-width:34rem;margin:0 0 1.9rem}
.sn-hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.sn-hero__trust{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--sn-line-soft)}
.sn-hero__trust div{display:flex;align-items:center;gap:.6rem;font-size:.98rem;font-weight:550;color:var(--sn-encre-soft)}
.sn-hero__trust svg{width:1.5rem;height:1.5rem;color:var(--sn-eucalyptus);flex:0 0 auto}

/* carte visuelle hero (CSS pur, pas d'image lourde = LCP rapide) */
.sn-hero__card{position:relative;background:var(--sn-eucalyptus);border-radius:var(--sn-radius-lg);padding:2.2rem;color:var(--sn-sable-light);box-shadow:var(--sn-shadow);overflow:hidden}
.sn-hero__card::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(229,112,91,.55),transparent 70%);top:-90px;right:-70px;filter:blur(6px)}
.sn-hero__card h2{color:#fff;font-size:1.5rem;margin:0 0 1.2rem;position:relative}
.sn-hero__card ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem;position:relative}
.sn-hero__card li{display:flex;gap:.85rem;align-items:flex-start;font-size:1.05rem;line-height:1.45}
.sn-hero__card li svg{flex:0 0 auto;width:1.6rem;height:1.6rem;color:var(--sn-corail);background:rgba(255,255,255,.12);border-radius:50%;padding:.28rem}
.sn-hero__card .sn-hero__cardcta{display:block;margin-top:1.6rem;position:relative}

@media(max-width:880px){
  .sn-hero__inner{grid-template-columns:1fr;gap:2.2rem}
  .sn-hero__card{order:2}
}

/* ============================================================
   CARDS / GRIDS génériques
   ============================================================ */
.sn-grid{display:grid;gap:clamp(1.2rem,3vw,1.8rem)}
.sn-grid--3{grid-template-columns:repeat(3,1fr)}
.sn-grid--2{grid-template-columns:repeat(2,1fr)}
.sn-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.sn-grid--3,.sn-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sn-grid--2,.sn-grid--3,.sn-grid--4{grid-template-columns:1fr}}

.sn-card{background:var(--sn-white);border:1px solid var(--sn-line-soft);border-radius:var(--sn-radius);padding:2rem 1.9rem;box-shadow:var(--sn-shadow-soft);transition:transform .3s var(--sn-ease-out),box-shadow .3s}
.sn-card:hover{transform:translateY(-6px);box-shadow:var(--sn-shadow)}
.sn-card__ico{width:3.2rem;height:3.2rem;border-radius:16px;display:grid;place-items:center;background:var(--sn-sable);color:var(--sn-eucalyptus);margin-bottom:1.2rem}
.sn-card__ico svg{width:1.75rem;height:1.75rem}
.sn-card h3{font-size:1.35rem;margin:0 0 .6rem}
.sn-card p{margin:0 0 1rem;color:var(--sn-encre-soft);font-size:1.02rem}
.sn-card a.sn-card__link{font-weight:650;text-decoration:none;color:var(--sn-eucalyptus-700);display:inline-flex;align-items:center;gap:.4rem}
.sn-card a.sn-card__link:hover{color:var(--sn-corail-700);gap:.65rem}
.sn-card a.sn-card__link::after{content:"→";transition:transform .2s}

/* feature alterné */
.sn-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.sn-feature:nth-of-type(even) .sn-feature__media{order:2}
.sn-feature__media{background:var(--sn-sable);border-radius:var(--sn-radius-lg);padding:2.5rem;min-height:280px;display:grid;place-items:center}
@media(max-width:820px){.sn-feature{grid-template-columns:1fr}.sn-feature__media{order:-1!important}}

/* stats */
.sn-stats{background:var(--sn-eucalyptus);color:var(--sn-sable-light);border-radius:var(--sn-radius-lg)}
.sn-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;padding:clamp(2.5rem,5vw,3.5rem) 2rem}
.sn-stats__grid div span{display:block;font-family:var(--sn-font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:580;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.sn-stats__grid div p{margin:.6rem 0 0;font-size:1rem;color:var(--sn-sable);opacity:.92}
@media(max-width:780px){.sn-stats__grid{grid-template-columns:repeat(2,1fr);gap:2rem}}

/* steps / HowTo */
.sn-steps{counter-reset:step;display:grid;gap:1.3rem}
.sn-step{position:relative;background:var(--sn-white);border:1px solid var(--sn-line-soft);border-radius:var(--sn-radius);padding:1.7rem 1.8rem 1.7rem 5.2rem;box-shadow:var(--sn-shadow-soft)}
.sn-step::before{counter-increment:step;content:counter(step);position:absolute;left:1.4rem;top:1.5rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--sn-corail);color:#fff;display:grid;place-items:center;font-family:var(--sn-font-display);font-size:1.25rem;font-weight:600}
.sn-step h3{margin:0 0 .35rem;font-size:1.25rem}
.sn-step p{margin:0;color:var(--sn-encre-soft);font-size:1.02rem}

/* FAQ accordéon natif */
.sn-faq{display:grid;gap:1rem;max-width:50rem;margin-inline:auto}
.sn-faq details{background:var(--sn-white);border:1px solid var(--sn-line-soft);border-radius:var(--sn-radius);padding:.4rem 1.6rem;box-shadow:var(--sn-shadow-soft)}
.sn-faq summary{cursor:pointer;list-style:none;font-family:var(--sn-font-display);font-size:1.22rem;font-weight:540;padding:1.15rem 2.5rem 1.15rem 0;position:relative;color:var(--sn-encre)}
.sn-faq summary::-webkit-details-marker{display:none}
.sn-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.8rem;color:var(--sn-corail);transition:transform .3s var(--sn-ease-out);line-height:1}
.sn-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.sn-faq details p{margin:0 0 1.2rem;color:var(--sn-encre-soft);line-height:1.65}

/* CTA band */
.sn-cta-band{background:linear-gradient(135deg,var(--sn-eucalyptus),var(--sn-eucalyptus-900));color:var(--sn-sable-light);border-radius:var(--sn-radius-lg);padding:clamp(2.5rem,5vw,4rem);text-align:center;position:relative;overflow:hidden}
.sn-cta-band::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(229,112,91,.4),transparent 70%);top:-120px;left:-80px}
.sn-cta-band h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 .8rem;position:relative}
.sn-cta-band p{position:relative;font-size:1.18rem;color:var(--sn-sable);max-width:40rem;margin:0 auto 1.8rem}
.sn-cta-band .sn-cta-band__btns{position:relative;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* marquee de réassurance */
.sn-marquee{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);padding-block:1.2rem;border-block:1px solid var(--sn-line-soft)}
.sn-marquee__track{display:flex;gap:3.5rem;width:max-content;animation:sn-scroll 34s linear infinite}
.sn-marquee:hover .sn-marquee__track{animation-play-state:paused}
.sn-marquee span{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sn-font-display);font-size:1.3rem;color:var(--sn-eucalyptus);opacity:.8;white-space:nowrap}
.sn-marquee span svg{width:1.3rem;height:1.3rem;color:var(--sn-corail)}
@keyframes sn-scroll{to{transform:translateX(-50%)}}

/* ============================================================
   SIMULATEUR (mini-quiz JS → reco + lead)
   ============================================================ */
.sn-sim{background:var(--sn-white);border:1px solid var(--sn-line-soft);border-radius:var(--sn-radius-lg);box-shadow:var(--sn-shadow);padding:clamp(1.6rem,4vw,2.6rem);max-width:48rem;margin-inline:auto}
.sn-sim__progress{height:8px;background:var(--sn-sable);border-radius:99px;overflow:hidden;margin-bottom:1.8rem}
.sn-sim__progress i{display:block;height:100%;background:var(--sn-corail);border-radius:99px;width:0;transition:width .4s var(--sn-ease-out)}
.sn-sim__step{display:none}
.sn-sim__step[data-active="true"]{display:block;animation:sn-fade .4s var(--sn-ease-out) both}
@keyframes sn-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sn-sim__q{font-family:var(--sn-font-display);font-size:clamp(1.4rem,3vw,1.8rem);margin:0 0 1.4rem;color:var(--sn-encre)}
.sn-sim__opts{display:grid;gap:.85rem}
.sn-sim__opt{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;background:var(--sn-sable-soft);border:2px solid var(--sn-line-soft);border-radius:16px;padding:1.1rem 1.3rem;cursor:pointer;font-size:1.08rem;font-weight:550;color:var(--sn-encre);transition:border-color .2s,background .2s,transform .15s}
.sn-sim__opt:hover{border-color:var(--sn-eucalyptus);background:var(--sn-sable-light)}
.sn-sim__opt[aria-pressed="true"]{border-color:var(--sn-corail);background:#fff}
.sn-sim__opt b{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;background:var(--sn-eucalyptus);color:#fff;flex:0 0 auto;font-family:var(--sn-font-display)}
.sn-sim__nav{display:flex;justify-content:space-between;margin-top:1.7rem;gap:1rem}
.sn-sim__back{background:none;border:0;color:var(--sn-encre-soft);font-weight:600;cursor:pointer;padding:.6rem}
.sn-sim__back[hidden]{visibility:hidden}
.sn-sim__result{display:none}
.sn-sim__result[data-active="true"]{display:block;animation:sn-fade .4s var(--sn-ease-out) both}
.sn-sim__reco{background:var(--sn-sable-light);border-left:5px solid var(--sn-corail);border-radius:14px;padding:1.4rem 1.6rem;margin:0 0 1.6rem}
.sn-sim__reco h3{margin:0 0 .5rem;font-size:1.4rem;color:var(--sn-eucalyptus-700)}
.sn-sim__reco p{margin:0;color:var(--sn-encre-soft)}
.sn-sim__lead{display:grid;gap:.9rem}
.sn-sim__lead label{display:grid;gap:.35rem;font-weight:600;font-size:.98rem}
.sn-sim__lead input{width:100%;font:inherit;padding:.85rem 1rem;border:2px solid var(--sn-line);border-radius:12px;background:var(--sn-sable-soft)}
.sn-sim__lead input:focus{border-color:var(--sn-eucalyptus);outline:none;background:#fff}
.sn-sim__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:520px){.sn-sim__row{grid-template-columns:1fr}}
.sn-sim__status{margin:.4rem 0 0;font-weight:600;min-height:1.4em}
.sn-sim__consent{font-size:.86rem;color:var(--sn-encre-soft);line-height:1.4;font-weight:400}

/* ============================================================
   ARTICLE / PAGES contenu
   ============================================================ */
.sn-prose{max-width:var(--sn-maxw-text);margin-inline:auto}
.sn-prose>*+*{margin-top:1.4rem}
.sn-prose h2{font-size:clamp(1.7rem,3.4vw,2.3rem);margin-top:2.6rem;margin-bottom:.4rem}
.sn-prose h3{font-size:1.4rem;margin-top:1.8rem;margin-bottom:.2rem}
.sn-prose p,.sn-prose li{font-size:1.12rem;line-height:1.78;color:var(--sn-encre)}
.sn-prose ul,.sn-prose ol{padding-left:1.3rem}
.sn-prose li{margin-top:.6rem}
.sn-prose ul li::marker{color:var(--sn-corail)}
.sn-prose blockquote{border-left:4px solid var(--sn-corail);background:var(--sn-sable-light);margin:0;padding:1.2rem 1.6rem;border-radius:0 14px 14px 0;font-size:1.12rem}
.sn-prose a{font-weight:600}
.sn-prose img{border-radius:var(--sn-radius);margin-block:1.5rem}
.sn-prose table{width:100%;border-collapse:collapse;font-size:1.02rem}
.sn-prose th,.sn-prose td{padding:.85rem 1rem;border:1px solid var(--sn-line);text-align:left}
.sn-prose th{background:var(--sn-sable);font-family:var(--sn-font-display);font-weight:540}

.sn-pagehead{background:radial-gradient(120% 120% at 90% -20%,var(--sn-sable-light),var(--sn-paper) 60%);padding-block:clamp(2.5rem,6vw,4rem) clamp(2rem,4vw,3rem)}
.sn-pagehead h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.6rem 0 .8rem}
.sn-pagehead .sn-lead{margin:0}

/* breadcrumb */
.sn-crumb{font-size:.92rem;color:var(--sn-encre-soft)}
.sn-crumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0;align-items:center}
.sn-crumb li{display:flex;align-items:center;gap:.4rem}
.sn-crumb li:not(:last-child)::after{content:"/";color:var(--sn-line);margin-left:.4rem}
.sn-crumb a{color:var(--sn-eucalyptus-700);text-decoration:none}
.sn-crumb a:hover{text-decoration:underline}

/* auteur / E-E-A-T */
.sn-author{display:flex;gap:1.1rem;align-items:center;background:var(--sn-sable-light);border-radius:var(--sn-radius);padding:1.3rem 1.5rem;margin-block:2rem}
.sn-author img,.sn-author .sn-author__ph{width:64px;height:64px;border-radius:50%;flex:0 0 auto;background:var(--sn-eucalyptus);color:#fff;display:grid;place-items:center;font-family:var(--sn-font-display);font-size:1.5rem;object-fit:cover}
.sn-author b{display:block;font-size:1.08rem;font-family:var(--sn-font-display);font-weight:540}
.sn-author span{font-size:.95rem;color:var(--sn-encre-soft)}

/* table des matières */
.sn-toc{background:var(--sn-sable-light);border:1px solid var(--sn-line-soft);border-radius:var(--sn-radius);padding:1.4rem 1.7rem;margin-bottom:2rem}
.sn-toc strong{display:block;font-family:var(--sn-font-display);font-size:1.1rem;margin-bottom:.6rem}
.sn-toc ul{margin:0;padding-left:1.1rem;display:grid;gap:.4rem}
.sn-toc a{color:var(--sn-eucalyptus-700);text-decoration:none}
.sn-toc a:hover{text-decoration:underline;color:var(--sn-corail-700)}

/* ============================================================
   FOOTER
   ============================================================ */
.sn-footer{background:var(--sn-encre);color:var(--sn-sable);margin-top:clamp(3rem,7vw,6rem)}
.sn-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-block:clamp(3rem,6vw,4.5rem)}
.sn-footer__brand .sn-brand{color:#fff}
.sn-footer__brand .sn-brand span{color:var(--sn-corail)}
.sn-footer p{color:var(--sn-sable);opacity:.82;font-size:1rem;max-width:24rem}
.sn-footer h4{font-family:var(--sn-font-display);color:#fff;font-size:1.1rem;margin:0 0 1rem;font-weight:540}
.sn-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.sn-footer a{color:var(--sn-sable);opacity:.82;text-decoration:none;font-size:1rem}
.sn-footer a:hover{opacity:1;color:#fff;text-decoration:underline}
.sn-footer__bottom{border-top:1px solid rgba(237,227,210,.15);padding-block:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.9rem}
.sn-footer__bottom p{margin:0;opacity:.7}
.sn-footer__disc{font-size:.85rem!important;opacity:.6!important;max-width:none!important;padding-bottom:1.4rem}
@media(max-width:820px){.sn-footer__top{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:520px){.sn-footer__top{grid-template-columns:1fr}}

/* ============================================================
   MOTION (CSS-first, compositor-safe, a11y guard)
   ============================================================ */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .sn-reveal{animation:sn-reveal-in linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
    @keyframes sn-reveal-in{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
    .sn-stagger>*{animation:sn-reveal-in linear both;animation-timeline:view();animation-range:entry 0% entry 45%;animation-delay:calc(var(--i,0)*70ms)}
  }
}
@media (prefers-reduced-motion: no-preference){
  .sn-hero__inner>*{opacity:0;animation:sn-rise .9s var(--sn-ease-out) forwards}
  .sn-hero__inner>*:nth-child(1){animation-delay:.08s}
  .sn-hero__inner>*:nth-child(2){animation-delay:.24s}
  @keyframes sn-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .sn-hero__inner>*{opacity:1!important}
}

/* WP core alignments / utilitaires */
.alignwide{width:min(100% - 2.5rem,var(--sn-maxw))}
.aligncenter{margin-inline:auto;text-align:center}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sn-center{text-align:center}
.sn-mt{margin-top:2rem}
.wp-element-button,.eagle-contact-form button{background:var(--sn-corail);color:#fff;border:0;border-radius:var(--sn-radius-pill);padding:1rem 1.8rem;font-weight:650;cursor:pointer;min-height:54px}
.wp-element-button:hover,.eagle-contact-form button:hover{background:var(--sn-corail-700)}
.eagle-contact-form input,.eagle-contact-form textarea{border:2px solid var(--sn-line);border-radius:12px;padding:.85rem 1rem;background:var(--sn-sable-soft)}
.eagle-contact-form input:focus,.eagle-contact-form textarea:focus{border-color:var(--sn-eucalyptus);outline:none;background:#fff}
.eagle-contact-form label{font-weight:600}
.eagle-contact-footer-link{display:none} /* on a notre propre footer riche */
