/* Páginas legales (inc/legal_layout.php). Base: css/landing.css; contenido: css/terminos.css. */
.lgl { background: var(--lp-fondo); }
.lgl a { text-decoration: none; }

/* Encabezado */
.lgl-hero { position: relative; overflow: hidden; color: #fff; padding: 128px 0 64px;
    background: radial-gradient(1000px 500px at 85% -20%, #2a5bd7 0%, transparent 60%), linear-gradient(160deg, var(--lp-azul) 0%, var(--lp-azul-2) 60%, #0e2a63 100%); }
.lgl-hero .lp-hero-fondo { position: absolute; inset: 0; pointer-events: none; }
.lgl-migas { display: flex; align-items: center; gap: .5rem; font-size: .82rem; color: rgba(255,255,255,.6); margin-bottom: 1.1rem; }
.lgl-migas a { color: rgba(255,255,255,.75); }
.lgl-migas a:hover { color: #fff; }
.lgl-etiqueta { display: inline-flex; align-items: center; gap: .45rem; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-naranja-2); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: .35rem .8rem; }
.lgl-hero h1 { font-size: clamp(2rem, 4.2vw, 3rem); font-weight: 800; letter-spacing: -.02em; margin: .9rem 0 .6rem; }
.lgl-bajada { max-width: 680px; color: rgba(255,255,255,.75); font-size: 1.05rem; margin: 0; }
.lgl-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.lgl-meta span { display: inline-flex; align-items: center; gap: .45rem; font-size: .84rem; color: rgba(255,255,255,.85); background: rgba(255,255,255,.08); border-radius: 10px; padding: .4rem .75rem; }
.lgl-meta i { color: var(--lp-naranja-2); }

/* Documento con índice */
.lgl-main { padding: 0 0 3rem; }
.lgl-doc { display: grid; grid-template-columns: 270px 1fr; gap: 1.6rem; margin-top: -34px; position: relative; }
.lgl-indice-caja { position: sticky; top: 92px; background: #fff; border: 1px solid var(--lp-borde); border-radius: 18px; padding: 1.1rem 1rem; box-shadow: 0 20px 40px -32px rgba(11,31,74,.45); }
.lgl-indice-caja > b { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--lp-gris); margin: 0 .4rem .5rem; }
.lgl-indice ol { list-style: none; counter-reset: ix; padding: 0; margin: 0; max-height: calc(100vh - 230px); overflow-y: auto; }
.lgl-indice li { counter-increment: ix; }
.lgl-indice li a { display: flex; gap: .55rem; align-items: baseline; padding: .42rem .5rem; border-radius: 10px; color: #475569; font-size: .88rem; font-weight: 600; line-height: 1.3; }
.lgl-indice li a::before { content: counter(ix, decimal-leading-zero); font-size: .7rem; font-weight: 800; color: #94a3b8; font-variant-numeric: tabular-nums; }
.lgl-indice li a:hover { background: var(--lp-fondo); color: var(--lp-texto); }
.lgl-indice li a.activo { background: #eef3ff; color: var(--lp-primario); }
.lgl-indice li a.activo::before { color: var(--lp-primario); }
.lgl-imprimir { width: 100%; margin-top: .8rem; border: 1px dashed var(--lp-borde); background: none; border-radius: 12px; padding: .55rem; font-size: .82rem; font-weight: 700; color: var(--lp-gris); }
.lgl-imprimir:hover { color: var(--lp-texto); border-color: #cbd5e1; }
.lgl-art { min-width: 0; }
.lgl-intro { background: #fff; border: 1px solid var(--lp-borde); border-left: 4px solid var(--lp-naranja); border-radius: 18px; padding: 1.2rem 1.4rem; margin-bottom: 1rem; color: #475569; line-height: 1.7; box-shadow: 0 20px 40px -32px rgba(11,31,74,.45); }
.lgl-intro b { color: var(--lp-texto); }

/* Ayuda */
.lgl-ayuda { padding: 0 0 3rem; }
.lgl-ayuda-caja { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-radius: 22px; padding: 1.6rem 1.8rem; color: #fff;
    background: radial-gradient(500px 200px at 100% 0%, rgba(245,134,38,.35), transparent 70%), linear-gradient(140deg, var(--lp-azul), #12306e); }
.lgl-ayuda-caja h2 { font-size: 1.3rem; font-weight: 800; margin: 0 0 .2rem; }
.lgl-ayuda-caja p { margin: 0; color: rgba(255,255,255,.7); }

/* Dar de baja (delete_account.php) */
.lgl-bloque { margin-top: -34px; position: relative; }
.lgl-tarjeta { background: #fff; border: 1px solid var(--lp-borde); border-radius: 20px; padding: 1.6rem; box-shadow: 0 20px 40px -32px rgba(11,31,74,.45); height: 100%; }
.lgl-tarjeta h2 { font-size: 1.25rem; font-weight: 800; margin: 0 0 .3rem; }
.lgl-tarjeta > p { color: var(--lp-gris); }
.lgl-pasos { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .9rem; counter-reset: paso; }
.lgl-pasos li { counter-increment: paso; display: grid; grid-template-columns: 46px 1fr; gap: .9rem; align-items: start; position: relative; }
.lgl-pasos li::before { content: counter(paso); width: 46px; height: 46px; border-radius: 14px; background: #eef3ff; color: var(--lp-primario); font-weight: 800; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; }
.lgl-pasos li:not(:last-child)::after { content: ''; position: absolute; left: 22px; top: 52px; bottom: -10px; width: 2px; background: repeating-linear-gradient(to bottom, #dbe4f3 0 5px, transparent 5px 9px); }
.lgl-pasos b { display: block; color: var(--lp-texto); margin-bottom: .15rem; }
.lgl-pasos span { color: var(--lp-gris); font-size: .93rem; }
.lgl-ruta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem; font-size: .8rem; font-weight: 700; color: var(--lp-texto); background: var(--lp-fondo); border: 1px solid var(--lp-borde); border-radius: 8px; padding: .15rem .5rem; margin-top: .35rem; }
.lgl-ruta i { color: #94a3b8; font-size: .7rem; }
.lgl-lista { list-style: none; padding: 0; margin: .9rem 0 0; display: grid; gap: .6rem; }
.lgl-lista li { display: flex; gap: .65rem; color: #475569; font-size: .93rem; line-height: 1.5; }
.lgl-lista i { flex: none; width: 26px; height: 26px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; margin-top: .05rem; }
.lgl-lista.si i { background: #f0fdf4; color: #16a34a; }
.lgl-lista.no i { background: #fef2f2; color: #dc2626; }
.lgl-cab-ico { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; margin-bottom: .8rem; }
.lgl-cab-ico.verde { background: #f0fdf4; color: #16a34a; }
.lgl-cab-ico.rojo { background: #fef2f2; color: #dc2626; }
.lgl-cab-ico.azul { background: #eef3ff; color: var(--lp-primario); }
.lgl-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.4rem; }
.lgl-cta .lp-btn-ghost-oscuro:hover { background: var(--lp-fondo); }
.lgl-mock { background: var(--lp-fondo); border: 1px solid var(--lp-borde); border-radius: 18px; padding: 1.1rem; margin-top: 1.2rem; }
.lgl-mock-cab { display: flex; gap: .3rem; margin-bottom: .8rem; }
.lgl-mock-cab span { font-size: .78rem; font-weight: 700; color: var(--lp-gris); padding: .3rem .6rem; border-radius: 8px; }
.lgl-mock-cab span.on { background: #fff; color: var(--lp-texto); box-shadow: 0 2px 6px rgba(0,0,0,.06); }
.lgl-mock-cuerpo { background: #fff; border: 1px solid #fecaca; border-radius: 14px; padding: .9rem 1rem; display: flex; align-items: center; gap: .8rem; }
.lgl-mock-cuerpo i { color: #dc2626; font-size: 1.2rem; }
.lgl-mock-cuerpo b { display: block; font-size: .9rem; }
.lgl-mock-cuerpo small { color: var(--lp-gris); }
.lgl-mock-cuerpo .btn-falso { margin-left: auto; background: #dc2626; color: #fff; font-weight: 700; font-size: .78rem; border-radius: 9px; padding: .35rem .7rem; white-space: nowrap; }
.lgl-faq .accordion-item { border: 1px solid var(--lp-borde); border-radius: 14px !important; overflow: hidden; margin-bottom: .6rem; }
.lgl-faq .accordion-button { font-weight: 700; font-size: .98rem; }
.lgl-faq .accordion-button:not(.collapsed) { background: var(--lp-fondo); color: var(--lp-texto); box-shadow: none; }
.lgl-faq .accordion-body { color: var(--lp-gris); }

@media (max-width: 991px) {
    .lgl-doc { grid-template-columns: 1fr; margin-top: -28px; }
    .lgl-indice-caja { position: static; }
    .lgl-indice ol { display: flex; gap: .35rem; overflow-x: auto; max-height: none; padding-bottom: .2rem; position: relative; scroll-behavior: smooth; }
    .lgl-indice li a { white-space: nowrap; background: var(--lp-fondo); }
    .lgl-imprimir { display: none; }
}
@media (max-width: 575px) {
    .lgl-hero { padding: 104px 0 56px; }
    .lgl-tarjeta { padding: 1.2rem; }
    .lgl-ayuda-caja { padding: 1.3rem; }
    .lgl-ayuda-caja .lp-btn { flex: 1; }
}
@media print {
    .lp-nav, .lp-offcanvas, .lgl-indice, .lgl-ayuda, .lp-pie, .lp-wa-flotante, .lgl-hero .lp-hero-fondo, .lgl-migas { display: none !important; }
    .lgl-hero { padding: 0 0 1rem; background: none; color: #000; }
    .lgl-bajada, .lgl-meta span { color: #333; }
    .lgl-doc { display: block; margin: 0; }
}
