/* 1. Ajustes base para toda la pantalla (Alto y Ancho) */
html, body {
    height: 100%; 
    width: 100%; 
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif; /* Fuente moderna */
}

/* 2. Estilo y alineación del contenedor principal */
body { 
    background-color: #fbf3ec; 
    display: flex;
    justify-content: center;
    align-items: stretch;
}

/* 3. El contenedor de todo el contenido de login (100% Ancho y Alto) */
.container { 
    display: flex; 
    width: 100%; 
    background: #fbf3ec; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.15); /* Sombra más pronunciada */
    height: 100%; 
    margin: 0; 
}

/* --- CAMBIOS CLAVE SOLICITADOS EN EL SIDEBAR --- */

/* 4. Barra lateral (parte de la imagen y logo) */
.sidebar { 
    background-color: #fbf3ec; 
    
    /* Imagen de fondo (Ahora se aplica la URL que estaba dentro del HTML como BACKGROUND) */
    /* La propiedad background-size: cover; asegura que la imagen cubra todo el contenedor */
    background-image: url('https://www.rci.com/static/images/content/api/feature/unlock_good_times.jpg'); 
    background-size: cover;
    background-position: center;
    
    position: relative; 
    width: 25%; /* **AJUSTE CLAVE:** 25% del ancho para el sidebar (1/4 del total) */
    min-height: 100%; 
    color: white; 
    box-sizing: border-box; 
    overflow: hidden; 
    /* Agregamos un degradado sutil para que el texto resalte */
    box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.1); 
} 

/* Estilo del Logo Container */
.logo-container {
    padding: 20px; 
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; 
}

/* Estilo del Logo */
.logo {
    max-width: 60px; 
    height: auto;
    /* QUITADO: filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5)); */
}

/* Estilo del Círculo de Decoración (Elemento rojo) */
.decoration-circle {
    position: absolute;
    top: -100px; /* **AJUSTE CLAVE:** Mover hacia arriba para que sobresalga */
    right: -100px; 
    width: 400px; 
    height: 400px;
    background-color: #e04a4b; 
    border-radius: 50%;
    transform: translate(0%, -20%); 
    z-index: 5;
    opacity: 0.8; 
}

/* Estilo del texto inferior (Tagline) */
.tagline {
    position: absolute; 
    bottom: 40px; 
    left: 40px; 
    font-size: 26px; 
    font-weight: bold;
    line-height: 1.2;
    padding-right: 20px; 
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); 
    z-index: 10; 
}

/* 5. Caja de login (formulario) */
.login-box { 
    width: 75%; /* **AJUSTE CLAVE:** 75% del ancho para el formulario (lo restante) */
    padding: 60px; 
    text-align: center; 
    display: flex;
    flex-direction: column;
    justify-content: center; 
    box-sizing: border-box; /* Añadido para mejor consistencia */
}

/* Estilos del formulario (Sin cambios en esta sección) */
h2 { 
    margin-bottom: 30px; 
    color: #333; 
    font-weight: 600;
    font-size: 28px;
}
form {
    max-width: 400px; 
    margin: 0 auto;
}
input[type="text"], input[type="password"] { 
    width: 100%; padding: 14px 20px; margin: 12px 0; 
    border: 1px solid #ddd; 
    border-radius: 6px; 
    box-sizing: border-box; 
    transition: border-color 0.3s;
}
input[type="text"]:focus, input[type="password"]:focus {
    border-color: #0a7397;
    outline: none;
}
input[type="submit"] { 
    background-color: #0a7397; 
    color: white; 
    padding: 15px 20px; 
    margin: 20px 0 10px; 
    border: none; 
    border-radius: 6px; 
    cursor: pointer; 
    width: 100%; 
    font-size: 17px; 
    font-weight: bold;
    text-transform: uppercase;
    transition: background-color 0.3s;
}
input[type="submit"]:hover {
    background-color: #085a73;
}
.checkbox-container { 
    text-align: left; 
    margin: 15px 0; 
    font-size: 14px; 
    color: #555;
}
.options a { 
    color: #0a7397; 
    text-decoration: none; 
    font-size: 14px; 
    display: inline-block; 
    margin-top: 5px; 
    transition: color 0.3s;
}
.options a:hover {
    color: #e04a4b;
}
.options {
    margin-top: 20px;
    line-height: 1.5;
}
.error { 
    color: #e04a4b; 
    margin-bottom: 15px; 
    font-weight: bold;
}

/* NUEVO: Header para móviles */
.mobile-header {
    display: none; /* Oculto por defecto */
    background-color: #fbf3ec;
    padding: 15px 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
}

.mobile-header .logo {
    max-width: 50px;
    height: auto;
    /* SIN sombreado */
}

/* Media Query para pantallas pequeñas */
@media (max-width: 900px) {
    .sidebar {
        display: none; 
    }
    .login-box {
        width: 100%; 
        padding: 40px 20px;
        margin-top: 80px; /* Para compensar el header fijo */
    }
    .container {
        box-shadow: none;
        /* Aseguramos que ocupe toda la altura en móviles también */
        min-height: 100%; 
        height: auto;
    }
    
    /* Mostrar el header en móviles */
    .mobile-header {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

  .main-footer {
            background-color: #f8f9fa;
            padding: 20px 0;
            text-align: center;
            border-top: 1px solid #eaeaea;
            margin-top: 20px;
            font-family: 'Open Sans', sans-serif;
            font-size: 14px;
            color: #666;
        }
        
        .footer-content {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        .footer-links {
            margin-bottom: 10px;
        }
        
        .footer-links a {
            color: #666;
            text-decoration: none;
            margin: 0 10px;
            transition: color 0.3s;
        }
        
        .footer-links a:hover {
            color: #333;
        }
        
        .copyright {
            font-size: 12px;
        }