/* Textos legales (términos, privacidad): lectura cómoda con los tokens del sitio */
.legal { color: var(--sl-texto); font-size: .97rem; line-height: 1.75; }
.legal h3, .legal h4 { color: var(--sl-fuerte); font-size: 1.15rem; margin: 2.2em 0 .7em; padding-top: 1.2em; border-top: 1px solid var(--sl-borde); letter-spacing: -.01em; }
.legal h3:first-child, .legal h4:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.legal h5, .legal h6 { font-size: inherit; font-weight: 400; color: var(--sl-texto); margin: 0 0 1em; }
.legal b, .legal strong { color: var(--sl-fuerte); }
.legal p { margin: 0 0 1em; }
.legal ul, .legal ol { padding-left: 1.3em; margin: 0 0 1em; }
.legal li { margin: .3em 0; }
.legal a { text-decoration: underline; }
.legal h2 { color: var(--sl-fuerte); font-size: 1.15rem; margin: 2.2em 0 .7em; padding-top: 1.2em; border-top: 1px solid var(--sl-borde); letter-spacing: -.01em; }
.legal-version { color: var(--sl-suave); margin: -.4em 0 .4em; }
.legal-idiomas { color: var(--sl-suave); font-size: .9rem; margin: 0 0 1.6em; }
.legal-idiomas a[aria-current] { color: var(--sl-fuerte); font-weight: 600; text-decoration: none; }
.legal-aviso { padding: 12px 16px; border-radius: var(--sl-radio-chico); background: color-mix(in srgb, var(--sl-aviso) 12%, transparent); border: 1px solid color-mix(in srgb, var(--sl-aviso) 35%, transparent); }
.legal-esencial { margin: 0 0 2em; padding: 18px 22px; border-radius: var(--sl-radio); background: color-mix(in srgb, var(--sl-peligro, #ef4444) 9%, transparent); border: 1px solid color-mix(in srgb, var(--sl-peligro, #ef4444) 40%, transparent); }
.legal-esencial-titulo { margin: 0 0 .5em; font-weight: 700; color: var(--sl-peligro, #ef4444); text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; }
.legal-esencial ul { margin: 0; }
/* Aceptación dentro del panel (/sesion/terminos/) */
.legal-aceptar { max-width: 760px; text-align: left; }
.legal-marco { max-height: 46vh; overflow-y: auto; padding: 16px 18px; margin: .4em 0 1em; border: 1px solid var(--sl-borde); border-radius: var(--sl-radio-chico); font-size: .9rem; }
.legal-salir { display: block; margin-top: 1em; text-align: center; color: var(--sl-suave); font-size: .9rem; }
