/* Pages légales (mentions, confidentialité, CGU) */
.legal { padding: clamp(48px, 8vw, 88px) 0 0; }
.legal .wrap { max-width: 820px; }
.legal h1 { font: 800 clamp(38px, 6vw, 64px)/1 var(--sans); letter-spacing: -.04em; margin: 0 0 18px; }
.legal .lead { font-size: 19px; color: var(--ink); max-width: 60ch; margin: 0 0 10px; }
.legal .updated { font: 400 12px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mut2); margin: 0 0 40px; }
.legal section { padding: 28px 0; border-top: 1px solid var(--line); }
.legal h2 { font: 700 22px/1.2 var(--sans); letter-spacing: -.02em; margin: 0 0 12px; }
.legal p, .legal li { color: var(--mut); max-width: 72ch; }
.legal b { color: var(--ink); font-weight: 600; }
.legal ul { padding-left: 20px; margin: 0 0 12px; }
.legal li { margin-bottom: 6px; }
.legal li::marker { color: var(--lime); }
.legal a { color: var(--lime); text-underline-offset: 3px; }
.legal .table { overflow-x: auto; margin: 0 0 14px; border: 1px solid var(--line); border-radius: var(--r); }
.legal table { width: 100%; border-collapse: collapse; font-size: 15px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); color: var(--mut); }
.legal th { font: 400 12px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--lime); background: var(--card); }
.legal tr:last-child td { border-bottom: 0; }
.legal-nav a[aria-current] { color: var(--lime); }
footer .legal-links a, footer a { color: inherit; text-underline-offset: 3px; }
footer .legal-links a:hover { color: var(--ink); }
@media (max-width: 720px) {
  .nav ul.legal-nav { display: none; }   /* les liens restent dans le pied de page */
  .legal table, .legal thead, .legal tbody, .legal tr, .legal td { display: block; }
  .legal thead { display: none; }
  .legal tr { border-bottom: 1px solid var(--line); padding: 6px 0; }
  .legal td { border: 0; padding: 6px 14px; }
}
