/* Páginas legales de StudentHall. Los tokens y componentes base vienen de estilos.css */

.legal-hero { padding-block: 3.5rem 2rem; }
.legal-hero h1 { font-weight: 800; letter-spacing: -.025em; font-size: clamp(1.9rem, 4vw, 2.75rem); }

.legal-doc { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: clamp(1.5rem, 4vw, 3rem); }
.legal-doc h2 { font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; margin-top: 2.5rem; margin-bottom: 1rem; }
.legal-doc h3 { font-size: 1.05rem; font-weight: 700; margin-top: 1.5rem; }
.legal-doc p, .legal-doc li { line-height: 1.75; }
.legal-doc table { --bs-table-bg: transparent; font-size: .95rem; }

.legal-toc { position: sticky; top: calc(var(--sh-nav-h) + 1.5rem); }
.legal-toc a { display: block; padding: .4rem .75rem; border-radius: .6rem; color: var(--sh-muted); text-decoration: none; font-size: .92rem; }
.legal-toc a:hover { color: var(--sh-ink); background: var(--sh-tint); }

.callout { border-left: 4px solid var(--sh-brand); background: var(--sh-tint); border-radius: .75rem; padding: 1.25rem 1.5rem; }
.callout h2 { margin-top: 0; }

@media print {
  .site-header, .legal-toc, .site-footer, .no-print { display: none !important; }
  .legal-doc { border: 0; padding: 0; }
  body { background: #fff; }
}
