body, html {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden; /* Evita el scroll vertical en desktop */
}

/* Habilitar scroll vertical solo en móviles */
@media (max-width: 767.98px) {
    body, html {
        overflow: auto; /* Permite el scroll vertical en móviles */
    }

    .overlay {
        margin-top: 80px; /* Ajusta el margen superior para evitar solapamiento con el header */
        top: 0; /* Restablece la posición vertical */
        transform: none; /* Elimina la transformación de centrado */
    }

    .d-flex.justify-content-center.align-items-start {
        padding-top: 0; /* Elimina el padding superior adicional */
    }
}

/* Fondo de pantalla */
.background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover; /* Ajusta la imagen al tamaño de la pantalla */
    z-index: -1;
}
.overlay {
    background: rgba(255, 255, 255, 0.95);
    padding: 40px; /* Reducir el padding en general */
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 800px;
    text-align: center;
    font-weight: bold;
    margin: 0 auto; /* Centra el contenedor */
    position: relative;
    top: 0px;
    transform: translateY(-10%); /* Centra verticalmente */
}

/* Ajustes para dispositivos móviles */
@media (max-width: 767.98px) {
    .overlay {
        padding: 20px; /* Reducir el padding en móviles */
    }

    /* Ajustar el padding-top del contenedor principal en móviles */
    .d-flex.justify-content-center.align-items-start {
        padding-top: 15vh; /* Reducir el espacio superior */
    }
}
.code-input {
    letter-spacing: 3px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
}
/* Navbar transparente */
.navbar {
    background: transparent !important;
    padding: 20px;
}
/* Icono de usuario y texto de cuenta */
.user-section {
    display: flex;
    align-items: center;
    gap: 15px;
}
.user-icon {
    font-size: 2.5rem;
    color: white;
    cursor: pointer;
    font-weight: bold;
}
.user-text {
    color: white;
    font-size: 1.2rem;
    display: none;
    font-weight: bold;
}
@media (min-width: 768px) {
    .user-text {
        display: inline;
    }
    /*.user-icon {
        font-size: 2.5rem;
    }*/
    .navbar img {
        height: 70px;
    }
}
/* Estilos del menú desplegable */
.dropdown-menu {
    background: transparent !important;
    border: none;
    box-shadow: none;
    text-align: center;
}
.btn-logout {
    background-color: red;
    color: white;
    border: none;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
}
.btn-logout:hover {
    background-color: darkred;
}
/* Estilos para inputs del login */
.form-control {
    border: none;
    border-bottom: 2px solid gray;
    border-radius: 0;
    padding-left: 0;
    font-weight: bold;
    background: transparent !important;
/*            color: gray;*/
    outline: none; /* Elimina el borde al hacer clic */
}
.form-control::placeholder {
    color: gray;
    font-weight: bold;
}
.form-control:focus {
    border-color: unset;
    outline: 0;
    box-shadow: none;
}
.forgot-password {
    display: block;
    margin-top: 15px;
    color: gray;
    text-decoration: underline; /* Subraya el texto */

}
.separator {
    border-top: 1px solid gray;
    margin: 40px 0;
}
.social-login {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
}
.social-login i {
    margin-right: 10px;
}
.google { background: #db4437; color: white; }
.apple { background: #333; color: white; }
.facebook { background: #3b5998; color: white; }

/* Estilos para sobrescribir el autocompletado */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px transparent inset !important; /* Fondo transparente */
    transition: background-color 5000s ease-in-out 0s; /* Evita cambios de fondo */
}

#loginForm{
    margin-top: 15px;
}

@media (max-width: 767.98px) {
    .navbar img {
        height: 50px; /* Reduce el tamaño del logo */
        width: 100%; /* Asegura que no se desborde */
    }
}