/* ============================================================
   PÁGINAS LEGALES (/aviso-legal/, /privacidad/, /cookies/)
   Texto largo, legible: 68 caracteres por línea, tablas y listas
   sobre los estilos generales de estilo.css.
   ============================================================ */
.legal-cabeza .migas { margin-bottom: 34px; }
.legal-cabeza .subtitulo-seccion { font-family: var(--codigo); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
.legal-otras { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 0 0 44px; font-family: var(--codigo); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
.legal-otras a { color: var(--niebla); text-decoration: none; transition: color 0.35s; }
.legal-otras a:hover, .legal-otras a:focus-visible { color: var(--hueso); }
.legal-otras a + a::before { content: '·'; margin: 0 12px; color: var(--runa-tenue); }
.legal { max-width: 72ch; }
.legal h2 { font-family: var(--display); font-weight: 300; font-size: clamp(1.5rem, 2.6vw, 1.95rem); line-height: 1.15; color: var(--hueso); margin: 2.4em 0 0.7em; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { font-family: var(--display); font-weight: 400; font-size: 1.25rem; color: var(--hueso); margin: 1.8em 0 0.5em; }
.legal p, .legal li { font-size: 16px; line-height: 1.8; }
.legal p { margin: 0 0 1.1em; }
.legal ul { margin: 0 0 1.3em; padding-left: 1.3em; }
.legal li { margin: 0 0 0.45em; }
.legal li::marker { color: var(--runa); }
.legal a { color: var(--niebla-alta); text-decoration: none; border-bottom: 1px solid var(--runa-tenue); transition: color 0.35s, border-color 0.35s; word-break: break-word; }
.legal a:hover, .legal a:focus-visible { color: var(--runa); border-color: var(--runa); }
.legal strong { color: var(--hueso); font-weight: 500; }
.legal code { font-family: var(--codigo); font-size: 0.86em; color: var(--niebla-alta); background: var(--piedra); padding: 1px 6px; border: 1px solid var(--borde); border-radius: 2px; white-space: nowrap; }
.legal .tabla { overflow-x: auto; margin: 0 0 1.6em; border: 1px solid var(--borde); }
.legal table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; min-width: 560px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 11px 14px; border-bottom: 1px solid var(--borde); }
.legal th { font-family: var(--codigo); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--runa); font-weight: 500; background: var(--piedra); }
.legal tr:last-child td { border-bottom: 0; }
.legal .nota { font-size: 14px; color: var(--niebla); }
.legal .cta { animation: none; margin-top: 4px; }
.legal .cta[disabled] { opacity: 0.5; pointer-events: none; }
.legal-estado { margin: 10px 0 0; font-size: 14px; color: var(--runa); min-height: 1.4em; }
@media (max-width: 700px) { .legal p, .legal li { font-size: 15.5px; } }
