/* ==========================================================================
   Páginas legales (Términos y Condiciones, Política de Privacidad) y
   pantalla para aceptarlos (/aceptar-terminos).
   ========================================================================== */
.legal {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}
.legal-texto {
    max-width: 760px;
    margin: 0 auto;
    color: var(--vo-texto);
    font-size: 1rem;
    line-height: 1.65;
}
.legal-volver {
    margin-bottom: .75rem;
    font-size: .9rem;
}
.legal-volver a { text-decoration: none; }
.legal-texto h1 {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: .25rem;
}
.legal-vigencia {
    color: var(--vo-texto-suave);
    font-size: .9rem;
    margin-bottom: 1rem;
}
.legal-resumen {
    background: var(--vo-lavanda-2);
    border-left: 4px solid var(--vo-violeta);
    border-radius: 8px;
    padding: .9rem 1rem;
    margin-bottom: 1.5rem;
}
.legal-indice {
    border: 1px solid var(--vo-borde);
    border-radius: 12px;
    padding: .9rem 1.1rem .4rem;
    margin-bottom: 2rem;
}
.legal-indice-titulo {
    font-weight: 700;
    margin-bottom: .4rem;
}
.legal-indice ol {
    columns: 2 220px;
    column-gap: 1.5rem;
    padding-left: 1.2rem;
    font-size: .92rem;
}
.legal-indice li { margin-bottom: .3rem; break-inside: avoid; }
.legal-indice a { text-decoration: none; }
.legal-texto section {
    scroll-margin-top: 140px; /* alto del header fijo */
    margin-bottom: 1.75rem;
}
.legal-texto h2 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: .6rem;
}
.legal-texto ul { padding-left: 1.2rem; }
.legal-texto li { margin-bottom: .4rem; }
.legal-leyenda {
    font-size: .88rem;
    color: var(--vo-texto-suave);
    border: 1px solid var(--vo-borde);
    border-radius: 8px;
    padding: .75rem .9rem;
}

/* Aceptar los términos (registro, Google y versiones nuevas) */
.aceptar-terminos {
    max-width: 560px;
    margin: 0 auto;
    padding: 2rem 0 3rem;
}
.aceptar-terminos-icono {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--vo-lavanda-2);
    color: var(--vo-violeta);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.aceptar-terminos h1 {
    font-size: 1.5rem;
    font-weight: 700;
}
.aceptar-terminos ul {
    padding-left: 1.2rem;
    margin-bottom: 1.25rem;
}
.aceptar-terminos li { margin-bottom: .35rem; }
.aceptar-terminos-check {
    background: var(--vo-lavanda);
    border: 1px solid var(--vo-borde);
    border-radius: 10px;
    padding: .8rem 1rem .8rem 2.6rem;
    margin-bottom: 1rem;
}
.aceptar-terminos-acciones {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}
.aceptar-terminos-salir {
    font-size: .9rem;
    color: var(--vo-texto-suave);
}
