/* ============================================================
   ASBAE Portal — Páginas legales (Aviso legal, Privacidad, Cookies)
   Prefijo .legal-… para no afectar a otras vistas
   ============================================================ */

/* ---- Documento (común a layout privado y público) ---- */
.legal-doc {
    max-width: 800px;
    margin: 0 auto;
    background: #FFF;
    border: 1px solid #EBEBEB;
    border-radius: 10px;
    padding: 2rem 2.25rem;
    color: #3A3A3C;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 15.5px;
    line-height: 1.75;
    box-sizing: border-box;
}
.legal-doc__header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid #E5E5EA; }
.legal-doc__title { font-size: 1.6rem; font-weight: 800; color: #1A5CA8; line-height: 1.25; margin: 0; }
.legal-doc__updated { font-size: 13px; color: #6C6C70; margin: .4rem 0 0; }
.legal-doc__intro { margin: 0 0 1.5rem; }

.legal-section { margin-bottom: 1.75rem; }
.legal-section:last-of-type { margin-bottom: 0; }
.legal-section h2 { font-size: 1.1rem; font-weight: 700; color: #1A5CA8; line-height: 1.35; margin: 0 0 .6rem; }
.legal-section p { margin: 0 0 .85rem; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 0 0 .85rem; padding-left: 1.4rem; }
.legal-section li { margin-bottom: .35rem; }
.legal-section li::marker { color: #E00420; }
.legal-section a, .legal-doc__related a { color: #1A5CA8; text-decoration: none; font-weight: 600; }
.legal-section a:hover, .legal-doc__related a:hover { text-decoration: underline; }
.legal-section code { font-family: Consolas, 'Courier New', monospace; font-size: .9em; background: #F2F2F7; padding: .1rem .35rem; border-radius: 4px; color: #1C1C1E; }

.legal-data { list-style: none; padding-left: 0 !important; background: #F8F8FA; border-radius: 8px; padding: .85rem 1.1rem !important; }
.legal-data li { margin-bottom: .2rem; overflow-wrap: anywhere; }
.legal-data li:last-child { margin-bottom: 0; }

/* Dato pendiente de rellenar en config/legal.php */
.legal-pending { background: #FFF3A3; color: #6B5300; padding: .05rem .35rem; border-radius: 4px; font-weight: 700; }

/* Tabla */
.legal-table-wrap { overflow-x: auto; margin: 0 0 .85rem; -webkit-overflow-scrolling: touch; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.legal-table th {
    background: #F8F8FA; font-weight: 700; font-size: 12px; text-transform: uppercase;
    letter-spacing: .05em; color: #6C6C70; text-align: left;
    padding: .6rem .8rem; border-bottom: 2px solid #E5E5EA;
}
.legal-table td { padding: .65rem .8rem; border-bottom: 1px solid #E5E5EA; vertical-align: top; }

.legal-doc__related {
    margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #E5E5EA;
    font-size: 14px; display: flex; flex-wrap: wrap; gap: .5rem; color: #8E8E93;
}

/* ---- Layout público (sin sesión) ---- */
body.legal-public {
    background: #F5F6FA;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}
body.legal-public *, body.legal-public *::before, body.legal-public *::after { box-sizing: border-box; }
/* El documento empieza arriba (anula el centrado vertical de .site-footer-page) */
body.site-footer-page.legal-public > .legal-public__wrap { margin-top: 0; margin-bottom: 0; }

.legal-public__wrap { width: 100%; }
.legal-public__header {
    background: #FFF;
    border-bottom: 1px solid #E5E5EA;
    padding: .85rem 1.5rem;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.legal-public__brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; min-width: 0; }
.legal-public__brand img { height: 36px; width: auto; display: block; }
.legal-public__brand-text { font-size: 1.4rem; font-weight: 900; color: #E00420; letter-spacing: -.5px; }
.legal-public__brand-sub { font-size: .7rem; font-weight: 700; color: #1A5CA8; letter-spacing: .12em; text-transform: uppercase; }
.legal-public__back {
    flex-shrink: 0;
    display: inline-flex; align-items: center;
    padding: .4rem .9rem; border: 1.5px solid #E5E5EA; border-radius: 8px;
    color: #3A3A3C; font-size: .85rem; font-weight: 600; text-decoration: none;
    transition: border-color .15s, color .15s;
}
.legal-public__back:hover { border-color: #1A5CA8; color: #1A5CA8; }
.legal-public__main { padding: 2rem 1rem 0; }

/* ---- Responsive ---- */
@media (max-width: 767.98px) {
    .legal-doc { padding: 1.4rem 1.2rem; font-size: 15px; }
    .legal-doc__title { font-size: 1.35rem; }
    .legal-public__header { padding: .75rem 1rem; }
    .legal-public__brand-sub { display: none; }
    .legal-public__main { padding: 1.25rem .75rem 0; }
}

/* ---- Impresión ---- */
@media print {
    .legal-public__header, .legal-doc__related, .app-sidebar, .app-topbar { display: none !important; }
    .app-content { margin-left: 0 !important; padding-top: 0 !important; background: #FFF !important; }
    .legal-doc { border: none; padding: 0; max-width: none; }
    .legal-pending { background: none; border: 1px dashed #999; }
}
