/* ============================================================
   Legal / policy pages (page-legal.php)
   Narrow, readable long-form text column.
   ============================================================ */

.legal {
    max-width: 760px;
    margin: 0 auto;
    padding: var(--spacing-xl) 0 var(--spacing-2xl);
    color: var(--color-texto);
}

.legal__header {
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-lg);
    border-bottom: 1px solid var(--color-borde);
}

.legal__title {
    font-size: var(--font-size-3xl);
    line-height: 1.15;
    color: var(--color-oscuro);
    margin-bottom: var(--spacing-sm);
}

.legal__updated {
    font-size: var(--font-size-sm);
    color: var(--color-texto-suave);
}

/* Body typography */
.legal__body {
    font-size: var(--font-size-base);
    line-height: 1.75;
}

.legal__body h2 {
    font-size: var(--font-size-xl);
    color: var(--color-oscuro);
    margin: var(--spacing-2xl) 0 var(--spacing-md);
    line-height: 1.25;
}

.legal__body h3 {
    font-size: var(--font-size-lg);
    color: var(--color-oscuro);
    margin: var(--spacing-xl) 0 var(--spacing-sm);
}

.legal__body p {
    margin-bottom: var(--spacing-md);
    text-wrap: pretty; /* evita viudas en texto largo */
}

.legal__body ul {
    list-style: disc;
    margin: 0 0 var(--spacing-md) var(--spacing-lg);
    padding: 0;
}

.legal__body ol {
    list-style: decimal;
    margin: 0 0 var(--spacing-md) var(--spacing-lg);
    padding: 0;
}

.legal__body li {
    margin-bottom: var(--spacing-xs);
}

.legal__body a {
    color: var(--color-dorado-suave);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal__body a:hover {
    color: var(--color-dorado);
}

.legal__body strong {
    color: var(--color-oscuro);
    font-weight: 600;
}

/* Highlight tokens still pending real data, e.g. [RUT]. */
.legal__body .legal-placeholder {
    background: rgba(223, 179, 62, 0.18);
    border-radius: var(--radius-sm);
    padding: 0 4px;
    font-style: normal;
}

/* Contact / data table (cookies, identidad) */
.legal__body table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 var(--spacing-lg);
    font-size: var(--font-size-sm);
}

.legal__body th,
.legal__body td {
    text-align: left;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--color-borde);
    vertical-align: top;
}

.legal__body thead th {
    background: var(--color-beige);
    color: var(--color-oscuro);
    font-weight: 600;
}

.legal__body tbody tr:nth-child(even) {
    background: var(--color-crema);
}

@media (max-width: 600px) {
    .legal__title { font-size: var(--font-size-2xl); }
    .legal__body table,
    .legal__body thead,
    .legal__body tbody,
    .legal__body th,
    .legal__body td,
    .legal__body tr { display: block; }
    .legal__body thead { display: none; }
    .legal__body td {
        border: none;
        border-bottom: 1px solid var(--color-borde);
        padding-left: 0;
        padding-right: 0;
    }
    .legal__body tbody tr {
        border: 1px solid var(--color-borde);
        border-radius: var(--radius-sm);
        padding: var(--spacing-sm) var(--spacing-md);
        margin-bottom: var(--spacing-md);
        background: var(--color-tarjeta);
    }
}
