/* Pages: aviso legal, contacto y publicidad (versión propia del site, en ES y EN) */
.info-page {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-2xl);
}

.info-page__header {
    max-width: var(--reading-column);
    margin-bottom: var(--space-xl);
}

.info-page__header h1 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin-bottom: var(--space-s);
}

.info-page__lead {
    font-size: var(--font-size-md);
    color: var(--text-body-soft);
    text-wrap: pretty;
}

.info-page__meta {
    font-size: var(--font-size-sm);
    color: var(--text-dim);
}

/* Aviso de traducción de cortesía: tiene que leerse antes que el texto legal. */
.info-page__note {
    margin-top: var(--space-m);
    padding: var(--space-s) var(--space-m);
    border-left: 3px solid var(--border-accent);
    background: var(--surface-offset);
    font-size: var(--font-size-sm);
}

.info-page__toc ol {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-l);
    margin: 0 0 var(--space-xl);
    padding: 0 0 var(--space-m);
    list-style: none;
    border-bottom: 1px solid var(--border-hair);
}

.info-page__toc a {
    font-weight: 600;
    color: var(--link);
}

.info-page__section {
    max-width: var(--reading-column);
    margin-bottom: var(--space-2xl);
    scroll-margin-top: var(--space-2xl);
}

.info-page__section-title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-m);
}

/* El HTML legal llega con <li> sueltos (en /aviso_legal eran pestañas): sin viñeta ni sangría. */
.legal-page__body > li {
    list-style: none;
}

.legal-page__body h2 {
    font-size: var(--font-size-lg);
    margin: var(--space-l) 0 var(--space-s);
    scroll-margin-top: var(--space-2xl);
}

.legal-page__body h3,
.legal-page__body h4 {
    font-size: var(--font-size-md);
    margin: var(--space-m) 0 var(--space-xs);
}

.legal-page__body p,
.legal-page__body li {
    line-height: var(--line-height-loose);
}

/* Las URL de ayuda de los navegadores (política de cookies) no tienen dónde
   partirse y en móvil desbordaban la página en horizontal. */
.legal-page__body a {
    overflow-wrap: anywhere;
}

.legal-page__body ol,
.legal-page__body ul {
    padding-left: var(--space-l);
}

/* Las tablas de cookies son más anchas que la columna de lectura en móvil. */
.legal-page__body .contenedor_tabla_cookies {
    overflow-x: auto;
}

.legal-page__body table {
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}

.legal-page__body th,
.legal-page__body td {
    padding: var(--space-2xs) var(--space-xs);
    border: 1px solid var(--border-hair);
    vertical-align: top;
    text-align: left;
}

/* --- Contacto --- */
.contact-page__grid {
    display: grid;
    gap: var(--space-xl);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
    .contact-page__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    }
}

.contact-page__label {
    display: inline-block;
    min-width: 5rem;
    font-weight: 600;
}

.contact-page__receivers {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-l);
    margin: 0 0 var(--space-m);
    padding: 0;
    border: 0;
}

.contact-page__receiver {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
}

.contact-page__message {
    resize: vertical;
}

.contact-page__consent {
    align-items: flex-start;
    margin-bottom: var(--space-m);
}

.contact-page__ok {
    padding: var(--space-m);
    border-left: 3px solid var(--border-accent);
    background: var(--surface-offset);
}

/* --- Publicidad --- */
.advertising-page__grid {
    display: grid;
    gap: var(--space-l);
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: var(--space-xl);
}

@media (min-width: 768px) {
    .advertising-page__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.advertising-page__item {
    padding: var(--space-l);
    border: 1px solid var(--border-hair);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.advertising-page__contact p {
    margin-bottom: var(--space-s);
}
