/* Estilos compartidos de las páginas legales (términos, privacidad, cookies, contrato).
   Páginas estáticas standalone servidas desde CF (archivos-estaticos.pages.dev),
   independientes del pipeline de modern_style.css de la app. */

:root {
    --legal-azul: #2779bd;
    --legal-texto: #4a4a4a;
    --legal-titulo: #2d3748;
    --legal-borde: #e2e8f0;
    --legal-fondo-tabla: #f7fafc;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #ffffff;
    color: var(--legal-texto);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-text-size-adjust: 100%;
}

.legal-content {
    max-width: 820px;
    margin: 0 auto;
    padding: 32px 20px 80px;
}

.legal-content h1 {
    color: var(--legal-titulo);
    font-size: 1.9em;
    line-height: 1.25;
    margin: 0 0 0.6em;
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--legal-borde);
}

.legal-content h2 {
    color: var(--legal-titulo);
    font-size: 1.35em;
    margin: 1.6em 0 0.5em;
}

.legal-content h3 {
    color: var(--legal-azul);
    font-size: 1.12em;
    margin: 1.3em 0 0.4em;
}

.legal-content p {
    margin: 0 0 1em;
}

.legal-content ul,
.legal-content ol {
    margin: 0 0 1em;
    padding-left: 1.5em;
}

.legal-content li {
    margin-bottom: 0.4em;
}

.legal-content a {
    color: var(--legal-azul);
    word-break: break-word;
}

.legal-content strong {
    color: var(--legal-titulo);
}

.legal-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    font-size: 0.92em;
}

.legal-content th,
.legal-content td {
    border: 1px solid var(--legal-borde);
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.legal-content thead th {
    background: var(--legal-fondo-tabla);
    color: var(--legal-titulo);
}

.legal-content tbody tr:nth-child(even) {
    background: var(--legal-fondo-tabla);
}

.legal-content hr {
    border: 0;
    border-top: 1px solid var(--legal-borde);
    margin: 2em 0;
}

.legal-loading,
.legal-error {
    color: #718096;
    font-style: italic;
}
