/* Documentos de marca: lectura en móvil y ambos temas del sitio. */
.vyron-legal { background: var(--vyron-bg-base); color: var(--vyron-text-primary); }
.vyron-legal .legal-header, .vyron-legal main { width: min(100% - 40px, 800px); margin-inline: auto; }
.vyron-legal .legal-header { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-block: 24px; }
.vyron-legal .legal-header nav { display: flex; flex-wrap: wrap; gap: 20px; }
.vyron-legal main { padding-block: 32px 64px; font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.vyron-legal h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.15; }
.vyron-legal h2 { font-size: 1.65rem; margin-block: 40px 16px; }
.vyron-legal h3 { font-size: 1.2rem; margin-block: 28px 12px; }
.vyron-legal p, .vyron-legal ul { margin-block: 16px; }
.vyron-legal ul { padding-inline-start: 24px; }
.vyron-legal a { color: var(--vyron-text-primary); text-decoration: underline; text-underline-offset: 4px; }
.vyron-legal a:focus-visible, .vyron-legal button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.vyron-legal .legal-date { color: var(--vyron-text-secondary); }
.vyron-legal section + section { border-top: 1px solid var(--vyron-border); margin-top: 48px; }
.vyron-legal section { scroll-margin-top: 24px; }
.vyron-legal .legal-header button { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 10px; color: var(--vyron-text-primary); background: var(--vyron-bg-card); border: 1px solid var(--vyron-border); border-radius: 8px; cursor: pointer; }

/* Resumen, índice, listas de definición y botón de correo (19-oct-2026: Meta y Chasqui). Solo tokens del sitio. */
.vyron-legal .legal-resumen { margin-block: 24px; padding: 20px 24px; background: var(--vyron-bg-card); border: 1px solid var(--vyron-border); border-radius: 12px; }
.vyron-legal .legal-resumen p { margin-block: 0 8px; }
.vyron-legal .legal-resumen ul { margin-block: 0; }
.vyron-legal .legal-resumen li + li { margin-top: 8px; }
.vyron-legal .legal-resumen ul + p { margin-top: 18px; }
.vyron-legal .legal-indice { margin-block: 24px; }
/* Títulos de la tarjeta de resumen y del índice: son encabezados (h3) para quien navega por encabezados, pero se ven como títulos de tarjeta. */
.vyron-legal .legal-resumen-titulo, .vyron-legal .legal-indice-titulo { margin-block: 0 8px; font-size: 1.05rem; font-weight: 600; }
.vyron-legal .legal-indice ul { margin: 0; padding-inline-start: 24px; columns: 2 260px; column-gap: 32px; }
.vyron-legal .legal-indice li { break-inside: avoid; padding-block: 2px; }
.vyron-legal .legal-indice a, .vyron-legal .vyron-footer-links a { display: inline-flex; align-items: center; min-height: 24px; }
.vyron-legal h3 { scroll-margin-top: 16px; }
.vyron-legal h4 { font-size: 1.05rem; margin-block: 20px 8px; }
.vyron-legal ol.legal-pasos { padding-inline-start: 24px; }
.vyron-legal ol.legal-pasos li + li, .vyron-legal ul li + li { margin-top: 6px; }
.vyron-legal dl.legal-lista { margin-block: 16px; }
.vyron-legal dl.legal-lista dt { font-weight: 600; margin-top: 16px; }
.vyron-legal dl.legal-lista dd { margin: 4px 0 0; color: var(--vyron-text-secondary); }
.vyron-legal .legal-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border-radius: 8px; border: 1px solid var(--vyron-text-primary); background: var(--vyron-text-primary); color: var(--vyron-bg-base); font-weight: 600; text-decoration: none; }
.vyron-legal a.legal-cta { color: var(--vyron-bg-base); }
.vyron-legal .legal-cta:hover { opacity: .88; }
/* El botón lleva texto del color del fondo; su anillo de foco debe usar el color del texto del sitio (3:1 como mínimo, WCAG 2.4.7 y 1.4.11). */
.vyron-legal a.legal-cta:focus-visible { outline-color: var(--vyron-text-primary); }
.vyron-legal .legal-nota { color: var(--vyron-text-secondary); font-size: .95rem; }
/* La URL del permiso de Google lleva <wbr> después de «https://», de «.com/» y de «/auth/»: en móvil se parte ahí y no a mitad de palabra; overflow-wrap queda solo como último recurso. */
.vyron-legal code { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
