/* ================================================
   Login — layout split izquierda/derecha
   Bruztrap para utilidades, aquí solo lo específico
   del layout que Bruztrap no cubre.
   ================================================ */

html,
body {
    height: 100%;
    margin: 0;
}

.login-pagina {
    display: flex;
    min-height: 100vh;
}

.login-panel-izq {
    width: 480px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-repeat: repeat;
}

.login-panel-izq__contenido {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--espacio-6) var(--espacio-5);
}

.login-logo {
    height: 60px;
}

.login-titulo {
    color: #ffffff;
    font-size: var(--texto-2xl);
    font-weight: var(--peso-bold);
}

.login-subtitulo {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--texto-base);
    margin: 0;
}

.login-imagen-presentacion {
    margin-top: auto;
    height: 320px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
}

/* ------------------------------------------------
   Panel derecho (formulario)
   ------------------------------------------------ */

.login-panel-der {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--espacio-6) var(--espacio-5);
    background-color: var(--color-blanco, #fff);
    min-width: 0;
}

.login-form-area {
    width: 100%;
    max-width: 460px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ------------------------------------------------
   Separador "ACCEDE CON"
   ------------------------------------------------ */

.login-separador {
    display: flex;
    align-items: center;
    gap: var(--espacio-3);
    color: var(--color-texto-secundario);
    font-size: var(--texto-xs);
    font-weight: var(--peso-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.login-separador::before,
.login-separador::after {
    content: '';
    flex: 1;
    height: 1px;
    background-color: var(--color-borde);
}

/* ------------------------------------------------
   Botón social (Google, etc.)
   ------------------------------------------------ */

.login-btn-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--espacio-2);
    width: 100%;
    padding: var(--espacio-3);
    border: var(--borde-ancho) solid var(--color-borde);
    border-radius: var(--radio-base);
    background-color: var(--color-blanco, #fff);
    color: var(--color-texto);
    font-size: var(--texto-sm);
    font-weight: var(--peso-medio);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transicion-rapida);
}

.login-btn-social:hover {
    background-color: var(--color-fondo-alt);
}

/* ------------------------------------------------
   Footer de links legales
   ------------------------------------------------ */

.login-footer {
    width: 100%;
    max-width: 460px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--espacio-1) var(--espacio-3);
    padding-top: var(--espacio-5);
    font-size: var(--texto-sm);
}

.login-footer a {
    color: var(--color-texto-secundario);
    text-decoration: none;
}

.login-footer a:hover {
    color: var(--color-texto);
    text-decoration: underline;
}

/* ------------------------------------------------
   Responsive — móvil: apilar verticalmente
   ------------------------------------------------ */

@media (max-width: 767px) {
    .login-panel-izq {
        display: none;
    }

    .login-panel-der {
        padding: var(--espacio-6) var(--espacio-4);
        justify-content: center;
    }

    .login-form-area {
        max-width: 100%;
    }
}
