/* Thème commun XPANSION — calendrier, « Où retrouver Yannick ? », bloc prochaines interventions.
   Clair par défaut (même si l'OS est sombre) ; sombre uniquement via [data-theme="dark"] posé par theme.js. */
:root{
  --papier:#faf9f6; --carte:#ffffff; --encre:#191919; --doux:#5a5650; --ligne:#e4e0d8;
  --rouge:#e40d1a; --rouge-h:#bd0a15; --rouge-doux:#fbe9ea;
  --jaune:#ffbd4a;
  --ambre:#8a5400; --ambre-d:#fbefd9;
  --vert:#2f6b4d; --vert-d:#e3f0e8;
  --mento:#54499b; --mento-d:#ecebf7;
  --zA:#d97b2b; --zB:#3f8f63; --zC:#1d6ee8; --zone-d:#e8f0fd;
  --we:#f3f1ec; --fer:#ebe7df;
  --focus:#1d4ed8;
  --titres:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --corps:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --papier:#141211; --carte:#1d1a18; --encre:#f3efe8; --doux:#b0a99f; --ligne:#38332e;
  --rouge:#ff4a53; --rouge-h:#ff7077; --rouge-doux:#3a1c1e;
  --ambre:#f0b865; --ambre-d:#33270f;
  --vert:#7cc9a0; --vert-d:#17291f;
  --mento:#b3a8f0; --mento-d:#25213b;
  --zA:#e08a3e; --zB:#4fa679; --zC:#7fb0ee; --zone-d:#1a2638;
  --we:#1a1816; --fer:#26221f;
  --focus:#ffbd4a;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font:400 17px/1.6 var(--corps)}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--encre);color:var(--papier);padding:12px 18px;border-radius:8px;z-index:20;text-decoration:none;font-weight:700}
.skip:focus{top:12px}

/* En-tête */
.site-header{padding:22px 0}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;justify-content:space-between}
.site-logo{display:inline-flex;align-items:center;min-height:48px}
.site-logo img{display:block;height:44px;width:auto}
:root[data-theme="dark"] .site-logo[href$="/xpansion/"]{background:#fff;border-radius:10px;padding:8px 12px}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.site-nav a,.theme-toggle{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font:600 15px/1 var(--corps);color:var(--encre);text-decoration:none;background:none;border:0;cursor:pointer}
.site-nav a:hover,.theme-toggle:hover{background:var(--ligne)}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--rouge);border-radius:0;padding:0 10px}
.theme-toggle{border:1px solid var(--ligne);background:var(--carte)}

/* Titres */
.kicker{margin:0 0 14px;font:700 13px/1 var(--corps);letter-spacing:.14em;text-transform:uppercase;color:var(--rouge)}
h1,h2,h3{font-family:var(--titres);letter-spacing:-.02em;text-wrap:balance}
h1{margin:0;font-weight:700;font-size:clamp(38px,6.4vw,76px);line-height:1.02}
h1 em{font-style:normal;color:var(--rouge)}
h2{margin:0 0 20px;font-weight:700;font-size:clamp(26px,3.2vw,36px);line-height:1.12}
h3{margin:0;font-weight:600;font-size:20px;line-height:1.25}
.lead{margin:22px 0 0;max-width:58ch;font-size:clamp(18px,2vw,21px);color:var(--doux)}
.hero{padding:clamp(28px,6vw,72px) 0 clamp(20px,4vw,40px)}
.section{padding:clamp(28px,5vw,56px) 0}

/* Boutons (cibles ≥ 44px) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--ligne);background:var(--carte);color:var(--encre);font:700 15px/1.2 var(--corps);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--encre)}
.btn:disabled{opacity:.5;cursor:default}
.btn.plein{background:var(--rouge);border-color:var(--rouge);color:#fff}
.btn.plein:hover{background:var(--rouge-h);border-color:var(--rouge-h)}
:root[data-theme="dark"] .btn.plein{color:#190405}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.note{font-size:15px;color:var(--doux)}

/* Prochaines interventions (module partagé) */
.xp-interventions{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--ligne)}
.xp-interventions li{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:8px 28px;padding:22px 0;border-bottom:1px solid var(--ligne)}
.xp-interventions .quand{font:700 18px/1.3 var(--titres)}
.xp-interventions .quand small{display:block;font:500 14px/1.4 var(--corps);color:var(--doux)}
.xp-interventions .titre{font:600 20px/1.3 var(--titres);margin:0}
.xp-interventions .lieu{margin:4px 0 0;color:var(--doux)}
.xp-interventions a.titre{text-decoration:none}
.xp-interventions a.titre:hover{text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:4px}
.xp-vide,.xp-erreur,.xp-chargement{padding:26px 0;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.xp-vide p,.xp-erreur p,.xp-chargement p{margin:0 0 14px}
.xp-vide .titre-vide{font:700 22px/1.3 var(--titres)}
@media(max-width:640px){.xp-interventions li{grid-template-columns:1fr}}

/* Pied de page */
.site-footer{margin-top:40px;padding:36px 0 56px;border-top:1px solid var(--ligne);color:var(--doux);font-size:15px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}

@media(max-width:640px){.wrap{padding:0 18px}body{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-nav,.theme-toggle,.skip{display:none!important}body{background:#fff;color:#191919}}
