.legal-page { max-width: 1000px; padding-top: 2.5rem; padding-bottom: 3rem; }
.legal-header { padding-bottom: 1.5rem; border-bottom: 1px solid var(--bs-border-color, #777); }
.legal-eyebrow { letter-spacing: .16em; font-size: .8rem; font-weight: 700; }
.legal-header h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.2; }
.legal-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.legal-index { margin: 2rem 0; padding: 1.25rem; border: 1px solid var(--bs-border-color, #777); border-radius: .75rem; }
.legal-index h2 { font-size: 1.2rem; margin: 0 0 1rem; }
.legal-index ul { columns: 2; padding-left: 1.25rem; margin: 0; }
.legal-index li { margin-bottom: .6rem; break-inside: avoid; }
.legal-text { font-family: system-ui, sans-serif; line-height: 1.8; font-size: 1rem; overflow-wrap: anywhere; }
.legal-text h2 { font-size: 1.4rem; margin: 2.3rem 0 1rem; line-height: 1.4; scroll-margin-top: 6rem; }
.legal-text p { margin: 0 0 1.1rem; }
.legal-page a { text-underline-offset: .2em; }
.legal-text a, .legal-index a { text-decoration: underline; }
.legal-back { margin-top: 2rem; }
@media (max-width: 600px) {
    .legal-index ul { columns: 1; }
    .legal-page { padding-top: 1.5rem; }
    .legal-actions > * { flex: 1 1 100%; }
}
@media print {
    @page { margin: 18mm; }
    html, body, main, .legal-page { background: white !important; color: black !important; }
    .app-header, .footer, .bottom-nav, .legal-actions, .legal-index, .legal-back,
    main > .alert, .toast-container, #carga-operacion { display: none !important; }
    .legal-page { max-width: none; width: 100%; padding: 0; margin: 0; }
    .legal-header { border-bottom: 1px solid #999; }
    .legal-page h1, .legal-page h2, .legal-page p, .legal-page a { color: black !important; }
    .legal-text { font-size: 10pt; line-height: 1.5; }
    .legal-text h2 { break-after: avoid; font-size: 13pt; }
    .legal-text p { orphans: 3; widows: 3; }
    .legal-page a { overflow-wrap: anywhere; }
}
