/* =====================================================================
   PAGES LÉGALES (mentions légales, politique de confidentialité) + 404
   ===================================================================== */

.legal { max-width: 780px; margin-inline: auto; }
.legal h2 { font-size: var(--fs-h3); margin: 2rem 0 0.75rem; }
.legal h2:first-child { margin-top: 0; }
.legal p, .legal li { color: var(--color-text); line-height: var(--lh-normal); }
.legal p { margin-bottom: 1rem; }
.legal ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; display: grid; gap: 0.4rem; }
.legal a { color: var(--color-orange); text-decoration: underline; }
.legal .todo {
  background: var(--color-cream);
  border-left: 4px solid var(--color-yellow);
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-navy);
}
.legal__updated { font-size: var(--fs-small); color: var(--color-muted); margin-bottom: 1.5rem; }

/* ---------- 404 ---------- */
.error-page {
  min-height: 60vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: var(--section-py) var(--container-pad);
}
.error-page__code { font-size: clamp(5rem, 18vw, 11rem); font-weight: var(--fw-black); line-height: 1; color: var(--color-orange); }
.error-page h1 { font-size: var(--fs-h2); margin: 0.5rem 0 1rem; }
.error-page p { color: var(--color-muted); max-width: 46ch; margin: 0 auto 1.5rem; }
