:root {
  --fond:#fff; --texte:#1c1c1e; --secondaire:#6b6b70; --trait:#e3e3e6;
  --accent:#1d4e9d; --encadre:#f4f6fa;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fond:#16171a; --texte:#ececee; --secondaire:#9a9aa0; --trait:#2c2d31;
    --accent:#6ea8ff; --encadre:#1e2027;
  }
}
* { box-sizing:border-box; }
body {
  margin:0; padding:0 16px 96px; background:var(--fond); color:var(--texte);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
main { max-width:860px; margin:0 auto; }

/* Sélecteur de langue : discret, mais présent sur chaque page. */
.langues { max-width:860px; margin:0 auto; padding:16px 0 0; text-align:right; font-size:0.9em; }
.langues a { color:var(--secondaire); text-decoration:none; padding:4px 8px; border-radius:6px; }
.langues a:hover { background:var(--encadre); }
.langues a[aria-current="true"] { color:var(--texte); font-weight:600; background:var(--encadre); }

header { text-align:center; padding:56px 0 48px; }
h1 { font-size:clamp(2.2em,6vw,3.2em); margin:0 0 12px; letter-spacing:-0.03em; line-height:1.1; }
.accroche { font-size:1.2em; color:var(--secondaire); margin:0 auto 28px; max-width:560px; }
.achat { display:inline-block; padding:6px 16px; border-radius:999px; background:var(--encadre); color:var(--secondaire); font-size:0.9em; }
h2 { font-size:1.4em; margin:56px 0 16px; letter-spacing:-0.01em; }
h3 { font-size:1.05em; margin:28px 0 6px; }
p { margin:0 0 14px; }
a { color:var(--accent); }
ul { padding-left:22px; } li { margin:6px 0; }
.grille { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px 32px; margin:24px 0; }
.grille h3 { margin-top:0; }
.grille p { color:var(--secondaire); font-size:0.95em; margin:0; }
figure { margin:32px 0; text-align:center; }
figure img { width:100%; max-width:620px; border-radius:14px; border:1px solid var(--trait); }
figcaption { color:var(--secondaire); font-size:0.9em; margin-top:10px; }
.encadre { background:var(--encadre); border-radius:14px; padding:24px 28px; margin:32px 0; }
.encadre p:first-child { margin-top:0; } .encadre p:last-child { margin-bottom:0; }
table { border-collapse:collapse; width:100%; margin:16px 0; font-size:0.95em; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--trait); vertical-align:top; }
th { color:var(--secondaire); font-weight:600; }
.sous-titre { color:var(--secondaire); margin:0 0 40px; }
footer { margin-top:72px; padding-top:24px; border-top:1px solid var(--trait); color:var(--secondaire); font-size:0.9em; text-align:center; }
footer a { margin:0 10px; }
