/* ======= ANIMACIONES ======= */

/* Fondo degradado animado */
@keyframes fondoAnimado {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Línea roja que se dibuja */
@keyframes lineaBrillo {
    0% { width: 0; }
    100% { width: 180px; }
}

/* Efecto pulse suave del botón */
@keyframes botonPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}

/* ======= GENERAL ======= */
body {
    margin: 0;
    padding: 0;
    display: flex;
    height: 100vh;
    font-family: Arial, sans-serif;
    background: #111;
    color: #fff;
}

/* ======= SECCIÓN IZQUIERDA ======= */
.left-section {
    width: 50%;
    padding: 70px;
    background: linear-gradient(135deg, #b30000, #210000, #000000);
    background-size: 250% 250%;
    animation: fondoAnimado 12s ease infinite;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.left-section h1 {
    font-size: 42px;
    font-weight: bold;
    margin-bottom: 10px;
}

.left-section .subtitle {
    font-size: 18px;
    opacity: 0.85;
    margin-bottom: 25px;
}

.divider {
    height: 3px;
    background: #c10000;
    margin: 25px 0;
    width: 180px;
    animation: lineaBrillo 1.3s ease-out forwards;
}

.left-section .institucion {
    font-size: 16px;
    opacity: 0.8;
}

/* ======= SECCIÓN DERECHA ======= */
.right-section {
    width: 50%;
    background: #1c1c1c;
    padding: 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.right-section h2 {
    font-size: 32px;
    margin-bottom: 35px;
}

/* ======= FORMULARIO ======= */
label {
    font-size: 15px;
    margin-bottom: 5px;
    display: block;
    opacity: 0.9;
}

.form-group {
    margin-bottom: 20px;
}

/* Inputs con glow suave */
input {
    width: 100%;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid #333;
    background: #222;
    color: #fff;
    font-size: 16px;
    transition: 0.3s;
}

input:focus {
    border-color: #ffcb00;
    box-shadow: 0 0 8px #ffcb00;
}

input::placeholder {
    color: #777;
}

/* ======= BOTÓN LOGIN ======= */
.btn-login {
    width: 100%;
    padding: 15px;
    background: #ffcb00;
    border: none;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 5px;
    transition: background 0.2s;
}

.btn-login:hover {
    background: #ffd633;
    animation: botonPulse 0.4s ease-in-out;
}

/* ======= LINK OLVIDASTE CONTRASEÑA ======= */
.forgot {
    margin-top: 15px;
    color: #ff9a2b;
    font-size: 15px;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}

.forgot:hover {
    color: #ffb765;
}

/* ======= RESPONSIVO ======= */
@media (max-width: 950px) {
    body {
        flex-direction: column;
        height: auto;
    }

    .left-section, .right-section {
        width: 100%;
        padding: 40px;
    }
}
