/*cuerpo del login */
.login_body, .login_registro, .recuperar_body{
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url('../img/background_1.png') no-repeat center;
    background-size: cover;
}

/* Targeta del login */
.tarjeta-glass {
    display: flex;
    max-width: 1100px;
    background: rgb(255, 255, 255);
    backdrop-filter: blur(18px);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.25);
    min-height: 520px;
    animation: aparecer 0.8s ease;
}

/* Animación suave al cargar */
@keyframes aparecer{
    from{
        opacity:0;
        transform: translateY(20px);
    }
    to{
        opacity:1;
        transform: translateY(0);
    }
}

/* Centrado de ambos lado */
.seccion-login, .seccion_titulo, .seccion_registro, .seccion_logo, .seccion_recuperar{
    flex:1;
    padding:45px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

/* Seccion izquierda */
.seccion-login{
    background: rgba(255,255,255,0.2);
}
.logo-login {
    width: 220px;
    margin:0 auto 20px auto;
    display:block;
}

/* Campos y texto de campos */
.campo{
    margin-bottom:20px;
    text-align:center;
}
.campo label{
    display:block;
    font-size:0.95rem;
    margin-bottom:8px;
    color:#333;
    font-weight:500;
}

/* Sección derecha */
.seccion_titulo{
    background: linear-gradient(135deg,#ff1a1a 0%,#b30000 40%,#000000 100%);
    border-left:1px solid rgba(255,255,255,0.4);
    text-align:center;
}
.icono_titulo{
    width: 300px;
    margin:15px auto 0 auto;
    display:block;
}
.logo_titulo{
    width: 250px;
    font-size:2rem;
    color:#fff;
    font-weight:bold;
    margin:15px auto 0 auto;
    display:block;
}
.descripcion_titulo{
    font-size:1rem;
    color:#eee;
    margin-top:12px;
}


/* Responsive */
@media (max-width:768px){

    .tarjeta-glass{
        flex-direction:column;
        max-width:380px;
        min-height:auto;
    }

    .seccion_titulo{
        display:none;
    }

    .seccion-login{
        padding:40px 25px;
    }

}


/*estilos registro */

.seccion_logo{
    background: linear-gradient(135deg,#ff1a1a 0%,#b30000 40%,#000000 100%);
    border-left:1px solid rgba(255,255,255,0.4);
}

.seccion_logo h2{
    font-size:1.3rem;
    color:#fff;
    margin-top:12px;
    font-weight:600;
}

.seccion_registro{
    background: rgba(255,255,255,0.2);
}

.seccion_registro h2,
.seccion_recuperar h2{
    font-size:1.3rem;
    color:#333;
    margin-bottom:12px;
    font-weight:600;
}

.seccion_recuperar p{
    font-size:0.95rem;
    color:#555;
    margin:8px 0;
}

/* Estilos para Bootstrap en formularios */
.seccion_registro .container{
    width:100%;
    padding:0;
    margin-bottom:15px;
}

.seccion_registro .row{
    margin-bottom:0;
    gap:10px;
    display:flex;
    align-items:flex-end;
}

.seccion_registro .col{
    text-align:center;
    flex:1;
}

.seccion_registro .row .campo{
    margin-bottom:0;
    display:flex;
    flex-direction:column;
    height:100%;
}

.seccion_registro .row .campo label{
    font-size:0.9rem;
    margin-bottom:6px;
}

.seccion_registro .row .campo input{
    font-size:0.95rem;
    flex-grow:1;
}

/* Notificación inline (mensaje-respuesta) */
.mensaje-respuesta{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px;
    border-radius:8px;
    font-size:0.95rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.mensaje-respuesta::before{
    display:inline-block;
    width:28px;
    height:28px;
    line-height:28px;
    text-align:center;
    font-size:16px;
    border-radius:50%;
}
.mensaje-respuesta.exito{
    background: #e6ffef;
    color: #065f46;
    border: 1px solid #b7f3d9;
}
.mensaje-respuesta.exito::before{
    content: '\2714'; /* check mark */
    background: #d1fae5;
    color: #065f46;
}
.mensaje-respuesta.error{
    background: #fff1f2;
    color: #9f1239;
    border: 1px solid #fecaca;
}
.mensaje-respuesta.error::before{
    content: '\2716'; /* heavy multiplication x */
    background: #fecaca;
    color: #9f1239;
}