/* =====================================================================
 *  Paginas legales (privacidad, cookies, politicas de hotel)
 *  Documento sobrio y legible: columna estrecha, buen interlineado y
 *  contraste suficiente para texto largo sobre fondo oscuro.
 * =================================================================== */

.legal-page {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto;
    padding: 160px 1.5rem 100px;
    color: var(--base-250, #d8d2c8);
}

.legal-page h1 {
    font-family: var(--font-secondary, var(--font-primary));
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 300;
    letter-spacing: 0.04em;
    color: #d4af37;
    margin: 0 0 0.75rem;
}

.legal-meta {
    font-size: 0.85rem;
    opacity: 0.7;
    margin: 0 0 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.legal-page h2 {
    font-family: var(--font-secondary, var(--font-primary));
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: #d4af37;
    margin: 2.5rem 0 0.9rem;
}

.legal-page h3 {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 1.75rem 0 0.6rem;
    color: var(--base-200, #e8e3db);
}

.legal-page p,
.legal-page li {
    font-size: 0.98rem;
    line-height: 1.75;
    margin: 0 0 1rem;
}

.legal-page ul,
.legal-page ol {
    margin: 0 0 1.25rem;
    padding-left: 1.4rem;
}

.legal-page li {
    margin-bottom: 0.5rem;
}

.legal-page a {
    color: #d4af37;
    text-decoration: underline;
}

.legal-page table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.5rem;
    font-size: 0.9rem;
}

.legal-page th,
.legal-page td {
    text-align: left;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(212, 175, 55, 0.18);
    vertical-align: top;
}

.legal-page th {
    background: rgba(212, 175, 55, 0.08);
    font-weight: 600;
    color: var(--base-200, #e8e3db);
}

/* Bloque de contenido pendiente. Deliberadamente visible: estas paginas no
   deben publicarse a produccion mientras queden avisos de este tipo. */
.legal-pending {
    border: 1px dashed rgba(212, 175, 55, 0.55);
    background: rgba(212, 175, 55, 0.07);
    border-radius: 10px;
    padding: 1.25rem 1.4rem;
    margin: 0 0 1.75rem;
}

.legal-pending strong {
    display: block;
    color: #d4af37;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.78rem;
    margin-bottom: 0.5rem;
}

.legal-pending p:last-child,
.legal-page li:last-child {
    margin-bottom: 0;
}

.legal-back {
    display: inline-block;
    margin-top: 3rem;
    color: #d4af37;
    text-decoration: none;
    border-bottom: 1px solid rgba(212, 175, 55, 0.4);
    padding-bottom: 2px;
}

.legal-back:hover,
.legal-back:focus-visible {
    border-bottom-color: #d4af37;
}

/* La tabla no debe forzar scroll horizontal en el cuerpo de la pagina. */
.legal-table-wrap {
    overflow-x: auto;
}

@media (max-width: 768px) {
    .legal-page {
        padding: 130px 1.25rem 70px;
    }
}
