/* General Body Styling */
body {
    font-family: 'Roboto', sans-serif; /* Usando Google Fonts si lo incluiste */
    background-color: #f0f2f5; /* Un gris claro para el fondo */
    color: #333; /* Color de texto general */
}

/* Specific background for login/registration pages */
.login-page {
    background: linear-gradient(to right, #6a11cb, #2575fc); /* Gradiente de azul a morado */
    background-size: cover;
    background-position: center;
    color: #fff; /* Texto blanco en este fondo */
}

/* Login/Registration Container Styling */
.login-container {
    background-color: rgba(255, 255, 255, 0.95); /* Fondo blanco semitransparente */
    padding: 2.5rem; /* Relleno interno */
    border-radius: 10px; /* Bordes redondeados */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Sombra suave */
    width: 100%;
    max-width: 450px; /* Ancho máximo para el contenedor */
    text-align: center;
    color: #333; /* Asegura que el texto dentro sea oscuro */
}

/* Logo Styling */
.login-container .logo img {
    max-width: 150px; /* Tamaño máximo del logo */
    height: auto;
    margin-bottom: 1.5rem; /* Espacio debajo del logo */
}

/* Form Labels */
.login-container .form-label {
    font-weight: 600; /* Negrita para las etiquetas */
    color: #555; /* Color ligeramente más oscuro para las etiquetas */
}

/* Input Fields */
.login-container .form-control {
    border-radius: 0.5rem; /* Bordes redondeados para inputs */
    padding: 0.75rem 1rem; /* Relleno */
    font-size: 1rem; /* Tamaño de fuente */
}

/* Buttons */
.login-container .btn {
    border-radius: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 1.1rem;
    font-weight: bold;
    transition: background-color 0.3s ease, transform 0.2s ease; /* Transición suave */
}

.login-container .btn-primary {
    background-color: #007bff; /* Azul primario */
    border-color: #007bff;
}

.login-container .btn-primary:hover {
    background-color: #0056b3; /* Azul más oscuro al pasar el mouse */
    border-color: #004085;
    transform: translateY(-2px); /* Pequeño efecto de levantamiento */
}

.login-container .btn-secondary {
    background-color: #6c757d; /* Gris secundario */
    border-color: #6c757d;
}

.login-container .btn-secondary:hover {
    background-color: #545b62; /* Gris más oscuro */
    border-color: #434a50;
    transform: translateY(-2px);
}

/* Links */
.login-container a {
    color: #007bff; /* Color de enlace primario */
    text-decoration: none;
    transition: color 0.3s ease;
}

.login-container a:hover {
    color: #0056b3; /* Color de enlace al pasar el mouse */
    text-decoration: underline;
}

/* Alert Messages */
.alert {
    border-radius: 0.5rem;
    font-size: 0.95rem;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1.5rem;
}

/* Responsive Adjustments (Bootstrap handles most, but custom tweaks if needed) */
@media (max-width: 576px) {
    .login-container {
        padding: 1.5rem; /* Menos relleno en pantallas pequeñas */
        margin: 1rem; /* Margen para no pegarse a los bordes */
    }
    .login-container .logo img {
        max-width: 100px; /* Logo más pequeño en móviles */
    }
    .login-container h2 {
        font-size: 1.5rem; /* Tamaño de fuente más pequeño para títulos */
    }
}