/* css/legal.css — Pages CGU & Confidentialité
   Relooking 2026-08-24 : extraction du style inline, alignement theme.css.
   Zéro gradient, zéro box-shadow, tokens canoniques. */

/* ── Reset ── */
* { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Body ── */
.legal-page {
  font-family: var(--font-body);
  background: var(--ardoise);
  color: var(--craie);
  min-height: 100vh;
  padding: 40px 20px;
}

/* ── Container ── */
.legal-page .container { max-width: 760px; margin: 0 auto; position: relative; z-index: 1; }

/* ── Typography ── */
.legal-page h1 { font-size: 32px; font-weight: 500; margin-bottom: 8px; }
.legal-page .subtitle { color: var(--craie-muted); margin-bottom: 28px; font-size: 14px; }
.legal-page h2 { font-size: 18px; font-weight: 500; color: var(--craie-doree); margin: 32px 0 12px; scroll-margin-top: 20px; }
.legal-page p, .legal-page li { line-height: 1.7; color: var(--craie-muted); margin-bottom: 12px; font-size: 15px; }
.legal-page ul { padding-inline-start: 20px; margin-bottom: 16px; }
.legal-page strong { color: var(--craie); }
.legal-page a { color: var(--craie-doree); }

/* ── Footer ── */
.legal-page footer { margin-top: 60px; padding-top: 24px; border-top: 1px solid var(--card-border); text-align: center; color: var(--craie-muted); font-size: 13px; }

/* ── Table of contents ── */
.legal-page .toc { display: block; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 14px; padding: 20px 24px; margin-bottom: 40px; }
.legal-page .toc-title { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--craie-muted); margin-bottom: 12px; font-weight: 500; }
.legal-page .toc ol { list-style: none; padding: 0; margin: 0; counter-reset: none; }
.legal-page .toc li { margin-bottom: 2px; }
.legal-page .toc a { display: block; color: var(--craie-muted); text-decoration: none; font-size: 14px; padding: 8px 4px; border-radius: 8px; }
.legal-page .toc a:hover,
.legal-page .toc a:focus {   color: var(--craie-doree); background: var(--craie-doree-dim); }

/* ── Crosslink ── */
.legal-page .crosslink { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--card-border); font-size: 14px; color: var(--craie-muted); }

/* ── Brand mark ── */
.legal-page .brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: 22px;
  color: var(--craie);
  letter-spacing: -0.03em;
  line-height: 1;
}
.legal-page .brand-mark .vgl-signe { color: var(--craie-doree); margin-inline-start: 0.12em; }

/* ── FR / AR ── */
.legal-page .lang-ar { display: none; font-family: var(--font-ar); }
[dir="rtl"] .legal-page .lang-fr { display: none; }
[dir="rtl"] .legal-page .lang-ar { display: block; }
[dir="rtl"] .legal-page .toc a,
[dir="rtl"] .legal-page h2 { scroll-margin-top: 90px; }

/* ── Responsive ── */
@media (max-width: 480px) {
  .legal-page { padding: 24px 16px; }
  .legal-page h1 { font-size: 26px; }
  .legal-page .toc { padding: 16px 18px; }
}
