/* Las páginas legales públicas (2026-10-30): privacidad, términos y eliminación de cuenta.
   Se cargan con `layouts.app`, así que la paleta y la barra ya están; acá sólo se le da al texto
   una medida de lectura cómoda. */

.legal {
    max-width: 780px;
    padding-top: 32px;
    padding-bottom: 56px;
}

.legal-documento {
    background: #fff;
    border-radius: 14px;
    padding: 36px 40px;
    box-shadow: 0 1px 3px rgba(43, 36, 54, .08);
}

.legal-documento-angosto {
    max-width: 640px;
    margin: 0 auto;
}

.legal-volver {
    margin: 0 0 18px;
    font-size: .9rem;
}

.legal-documento h1 {
    font-size: 1.9rem;
    margin: 0 0 12px;
}

.legal-documento h2 {
    font-size: 1.2rem;
    margin: 32px 0 10px;
    padding-top: 18px;
    border-top: 1px solid #eee;
}

.legal-documento h3 {
    font-size: 1rem;
    margin: 22px 0 8px;
}

.legal-documento p,
.legal-documento li {
    font-size: .97rem;
    line-height: 1.65;
    color: #3b3346;
}

.legal-documento ul,
.legal-documento ol {
    padding-left: 1.3rem;
}

.legal-documento li {
    margin-bottom: 6px;
}

.legal-entrada {
    font-size: 1.02rem;
    color: #4a4157;
}

.legal-pasos li {
    margin-bottom: 10px;
}

.legal-identidad {
    margin: 22px 0 8px;
    padding: 14px 18px;
    background: #f7f4fa;
    border-left: 3px solid #783080;
    border-radius: 6px;
    font-size: .88rem;
    line-height: 1.55;
}

.legal-identidad p {
    margin: 0 0 2px;
    font-size: .88rem;
}

.legal-vigencia {
    margin-top: 6px !important;
    color: #6b6580;
}

.legal-aviso {
    margin: 22px 0;
    padding: 14px 18px;
    border-radius: 8px;
    background: #eef7f0;
    border: 1px solid #cbe6d3;
    font-size: .95rem;
    line-height: 1.55;
}

.legal-aviso-error {
    background: #fdf1f1;
    border-color: #f0c9c9;
}

.legal-formulario {
    margin: 22px 0 8px;
    padding: 20px;
    background: #faf9fc;
    border: 1px solid #ece8f2;
    border-radius: 10px;
}

.legal-campo {
    margin-bottom: 16px;
}

.legal-campo label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: .93rem;
}

.legal-campo input {
    width: 100%;
    max-width: 420px;
    padding: 11px 13px;
    border: 1px solid #cfc7db;
    border-radius: 8px;
    font-size: 1rem;
}

.legal-campo input:focus {
    outline: 2px solid #b98cc0;
    border-color: #783080;
}

.legal-ayuda,
.legal-nota {
    margin: 6px 0 0;
    font-size: .84rem;
    color: #6b6580;
}

.legal-error {
    margin: 6px 0 0;
    font-size: .86rem;
    color: #b3261e;
}

.legal-boton {
    display: inline-block;
    padding: 11px 20px;
    border: 0;
    border-radius: 8px;
    background: #783080;
    color: #fff;
    font-size: .97rem;
    font-weight: 600;
    cursor: pointer;
}

.legal-boton:hover {
    background: #612668;
}

.legal-boton-secundario {
    background: #fff;
    color: #783080;
    border: 1px solid #783080;
}

.legal-boton-secundario:hover {
    background: #f7f4fa;
}

.legal-pie-documento {
    margin-top: 34px;
    padding-top: 16px;
    border-top: 1px solid #eee;
    font-size: .9rem;
    color: #6b6580;
}

/* --- Aceptación de términos y privacidad en los registros ---
   La usa `<x-legal.aceptacion>`: una casilla y un diálogo nativo con los dos documentos. */

.legal-aceptacion {
    margin-top: 1.25rem;
}

.legal-aceptacion-casilla {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .15rem .55rem;
    margin: 0;
}

.legal-aceptacion-casilla .form-check-input {
    flex: none;
    margin-top: .2rem;
}

.legal-aceptacion-casilla .form-check-label {
    flex: 1 1 18rem;
    color: var(--ds-texto-2, #4a4157);
    font-size: .92rem;
    line-height: 1.5;
}

.legal-aceptacion-casilla a {
    color: var(--ds-violeta-700, #783080);
    font-weight: 600;
}

.legal-aceptacion-casilla .invalid-feedback {
    flex-basis: 100%;
}

dialog.dialogo.legal-dialogo {
    width: min(54rem, 96vw);
    max-width: 96vw;
    max-height: 92dvh;
}

.legal-dialogo .dialogo-caja {
    display: flex;
    flex-direction: column;
    max-height: 92dvh;
    padding: 1.25rem 1.4rem;
}

.legal-dialogo .dialogo-titulo {
    flex: none;
}

.legal-dialogo-aviso {
    flex: none;
    margin: 0 0 .75rem;
    padding: .55rem .8rem;
    border-radius: 8px;
    background: var(--ds-violeta-50, #f7f4fa);
    color: var(--ds-texto-2, #4a4157);
    font-size: .84rem;
    line-height: 1.45;
}

.legal-dialogo-cuerpo {
    flex: 1 1 auto;
    min-height: 8rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .2rem .6rem .2rem 0;
    border-top: 1px solid var(--ds-borde, #ece8f2);
    border-bottom: 1px solid var(--ds-borde, #ece8f2);
}

.legal-dialogo-cuerpo:focus-visible {
    outline: 2px solid var(--ds-violeta-700, #783080);
    outline-offset: 2px;
}

.legal-dialogo-cuerpo .legal-documento {
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.legal-dialogo-cuerpo .legal-documento h1 {
    margin-top: 1.5rem;
    font-size: 1.35rem;
}

.legal-dialogo-cuerpo .legal-documento:first-child h1 {
    margin-top: 0;
}

.legal-dialogo-cuerpo .legal-documento + .legal-documento {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 2px solid var(--ds-borde, #ece8f2);
}

.legal-dialogo .dialogo-pie {
    flex: none;
    margin-bottom: 0;
}

@media (max-width: 575.98px) {
    .legal-documento {
        padding: 24px 20px;
    }

    .legal-documento h1 {
        font-size: 1.55rem;
    }

    .legal-dialogo .dialogo-caja {
        padding: 1rem;
    }

    .legal-dialogo .dialogo-pie {
        flex-wrap: wrap;
    }

    .legal-dialogo .dialogo-pie .btn {
        flex: 1 1 auto;
    }
}
