/* styles/legal.css: shared policy pages (/privacy, /terms, /accessibility, /ai, /credits).
   Loaded after main.css, refinement.css and gold-cyan.css. No inline styles (CSP). */
.legal-page { padding-block: 40px 56px; }
.legal-page .legal-wrap { max-width: 46rem; }
.legal-page h1 { font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1.15; letter-spacing: -.03em; margin-bottom: 12px; color: var(--gc-gold-hi, #f1e2b3); }
.legal-page h2 { display: block; font-size: 1.375rem; line-height: 1.3; margin: 36px 0 12px; color: var(--color-text-primary); }
.legal-page h3 { font-size: 1.0625rem; margin: 24px 0 8px; color: var(--color-text-primary); }
.legal-page p, .legal-page li { color: var(--color-text-secondary); font-size: 1rem; line-height: 1.65; }
.legal-page ul, .legal-page ol { padding-left: 1.4rem; margin-bottom: 1rem; }
.legal-page li { margin-bottom: .5rem; }
.legal-page li::marker { color: var(--color-circuit-gold); }
.legal-page a { color: var(--color-cyber-cyan); text-decoration: underline; text-underline-offset: .2em; }
.legal-page a:hover, .legal-page a:focus-visible { color: var(--color-circuit-gold); }
.legal-page strong { color: var(--color-text-primary); }
.legal-dates { color: var(--color-text-muted); font-size: .9375rem; margin-bottom: 4px; }
.legal-summary { border: 1px solid var(--glass-border); border-radius: 10px; background: rgba(17, 26, 37, .78); padding: 16px 20px; margin-top: 24px; }
.legal-page .legal-summary h2 { margin-top: 0; }
.legal-summary ul { margin-bottom: 0; }
.legal-table-wrap { overflow-x: auto; margin-bottom: 1rem; }
.legal-page table { border-collapse: collapse; width: 100%; font-size: .9375rem; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--glass-border); color: var(--color-text-secondary); }
.legal-page th { color: var(--color-text-primary); font-weight: 600; }
.legal-back { display: inline-flex; align-items: center; min-height: 44px; }
.footer-legal div { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.coming-soon { display: inline-block; vertical-align: .15em; margin: 0 .25em; padding: 1px 8px; border-radius: 999px; background: #dcc58a; color: #0b111a; -webkit-text-fill-color: #0b111a; font-size: .75rem; font-weight: 700; letter-spacing: .02em; line-height: 1.5; white-space: nowrap; }
.legal-page h2 .coming-soon, .legal-page h3 .coming-soon { font-size: .8125rem; }
.coming-soon-note { border-left: 3px solid #dcc58a; padding-left: 12px; margin-top: 20px; }
@media (max-width: 700px) {
  .legal-page { padding-block: 28px 40px; }
  .legal-page h2 { font-size: 1.25rem; margin-top: 28px; }
}
@media print {
  .coming-soon { border: 1px solid #000 !important; color: #000 !important; -webkit-text-fill-color: #000 !important; }
  /* print.css makes backgrounds transparent; gold-cyan.css clips link text to a background, so restore solid text */
  .footer-simple a, .legal-page a, .legal-page h1 { -webkit-text-fill-color: currentColor !important; background-image: none !important; }
  .legal-page a::after { content: none !important; }
}
