/**
 * Legal pages — readable document layout (not marketing).
 * Loaded with landing.css for shared chrome tokens.
 */
body.legal-body .legal-main {
  position: relative;
  z-index: 1;
  /* Optimal reading width: wider than before, not marketing-wide */
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 48px) 80px;
}

body.legal-body .legal-header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--sy-bordure, rgba(196, 210, 232, 0.1));
}

body.legal-body .legal-header h1 {
  margin: 0 0 12px;
  font-family: var(--sy-font-affiche, "Cinzel", Georgia, serif);
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 600;
  color: var(--sy-texte-cream, #f5efe4);
  line-height: 1.2;
}

body.legal-body .legal-intro {
  margin: 14px 0 0;
  color: var(--sy-texte-att, #9aa8bc);
  font-size: 1rem;
  line-height: 1.65;
}

body.legal-body .legal-updated {
  margin: 0 0 4px;
  font-size: 0.83rem;
  color: var(--sy-texte-muted, #8491a3);
  letter-spacing: 0.01em;
}

body.legal-body .legal-updated--pending {
  font-style: italic;
}

body.legal-body .legal-toc {
  margin: 0 0 36px;
  padding: 18px 20px;
  border: 1px solid var(--sy-bordure, rgba(196, 210, 232, 0.1));
  /* Amber left accent strip */
  border-left: 3px solid rgba(201, 164, 91, 0.35);
  border-radius: var(--sy-rayon, 10px);
  background: rgba(14, 18, 26, 0.5);
}

body.legal-body .legal-toc ol {
  margin: 0;
  padding-left: 1.2rem;
}

body.legal-body .legal-toc li {
  margin-bottom: 7px;
}

body.legal-body .legal-toc a {
  color: var(--sy-ambre-clair, #e4c98a);
  text-decoration: none;
  font-size: 0.92rem;
  transition: color 140ms;
}

body.legal-body .legal-toc a:hover {
  color: var(--sy-ivory, #f5efe4);
  text-decoration: underline;
}

body.legal-body .legal-section {
  margin-bottom: 32px;
  scroll-margin-top: var(--sy-scroll-pad, 90px);
}

body.legal-body .legal-section h2 {
  margin: 0 0 12px;
  font-family: var(--sy-font-corps, "Source Sans 3", system-ui, sans-serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--sy-texte-cream, #f5efe4);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--sy-bordure, rgba(196, 210, 232, 0.1));
}

body.legal-body .legal-section p {
  margin: 0 0 10px;
  color: var(--sy-texte-att, #9aa8bc);
  font-size: 0.98rem;
  line-height: 1.7;
}

body.legal-body .legal-pending {
  margin: 0 0 12px;
  padding: 10px 14px;
  font-size: 0.83rem;
  color: var(--sy-ambre-clair, #e4c98a);
  background: rgba(201, 164, 91, 0.07);
  border-left: 3px solid rgba(201, 164, 91, 0.4);
  border-radius: 0 var(--sy-rayon-sm, 6px) var(--sy-rayon-sm, 6px) 0;
}
