body{
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    height: 100%;
}

/*Generales*/
button{
    font-family: 'Montserrat', sans-serif;
}

label{
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}

.contenedor-login{
    display: flex;
    justify-content: flex-start;
    gap: 20em;
}

.bienvenida{
    width: 30%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.texto-bienvenida{
    background-color: #000;
    height: 100vh;
    width: 100%;
    position: relative;
    align-content: center;
    padding-left: 70px;
    z-index: 1000;
}

#fondoWave {
    position: absolute;
    right: 50%; 
    bottom: 0; 
    width: 100vw;
    height: 100%;
    transform: rotate(90deg); 
    transform-origin: bottom right; 
    z-index: 0;
}

.texto-bienvenida h4{
    color: white;
    font-size: 20px;
    margin-left: 30px;
    font-weight: 500;
    width: max-content;
}

.logo{
    width: 300px;
    height: 100px;
    background-image: url("/img/logo-blanco.png");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1000;
}

.contenedor-login .contenedor-formulario{
    align-content: center;
    z-index: 1;
}

.contenedor-login .contenedor-formulario h1{
    margin-bottom: 1em;
}

.form-group {
    position: relative;
    display: flex;
    flex-direction: column; /*para que el label aparezca después del input*/
    margin-top: 16px; 
}

.form-group label {
    position: absolute;
    top: -8px;
    left: 12px;
    background-color: white;
    padding: 0 10px;
    font-size: 14px;
    color: #555;
    font-weight: 400;
    z-index: 1;
}


.form-group input {
    width: 100%;
    border: 2px solid #ccc; 
    border-radius: 4px;
    padding: 15px 12px; 
    font-size: 14px; 
    box-sizing: border-box;
}

.form-group input:focus {
    outline: none; /*Elimina el contorno azul predeterminado */
    border-color: #007bff; /*Borde azul al enfocar*/
    box-shadow: 0 0 4px rgba(0, 123, 255, 0.25); 
}

/* Estilos para el mensaje de error */
.error-msg {
    color: red;
    font-size: 12px;
    margin-top: 5px;
}

.contenedor-recuperarPassword{
    font-size: 14px;
    margin-top: 1em;
}

input::placeholder{
    color: #9d9d9d;
}

.btnIngresar{
    width: 200px;
    margin: 25px 0;
    max-width: 250px;
    font-size: 15px;
    color: white;
    font-weight: 500;
    background: #000;
    padding: 12px 18px;
    border-radius: 25px 0 25px 0;
    border: 1px solid #000;
    transition: all 0.3s;
    cursor: pointer;
}

.btnIngresar:hover {
    background: white;
    color: #000;
}

.img-google{
    background: url('/logo-google.png');
    background-size: contain;
    width: 30px;
    height: 30px;
}

.entrar-google{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}


/*Registro*/

.contenedor-registro{
    display: flex;
    justify-content: flex-start;
    gap: 19em;
    width: 100%;
    height: 100%;
}

.contenedor-registro .contenedor-formulario-registro{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 30%;
    gap: 1em;
    z-index: 1;
    margin-bottom: 2em;
}

.contenedor-registro .contenedor-formulario-registro h1{
    margin-bottom: .8em;
    font-size: 35px;
}

.contenedor-registro .contenedor-formulario-registro .form-group{
    width: 100%;
}


.contenedor-tipo-cuenta{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contenedor-tipo-cuenta h5{
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 14px;
}

.tipo-cuenta.seleccionado {
    background-color: white;
    color: #000;
    border: 1px solid #000;
}


.botones-cuenta{
    display: flex;
    justify-content: center;
    gap: 1em;
    flex-wrap: wrap;
}

.tipo-cuenta {
    padding: 10px 20px;
    border: none;
    background-color: #000;
    color: white;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.3s ease;
    font-size: 15px;
}

.tipo-cuenta:hover {
    background-color: white;
    color: #000;
    border: 1px solid #000;
}

.tipo-cuenta.selected {
    border: 1px solid #000;
    background-color:#eaeaea;
    color: #000;
}

.crear-cuenta{
    font-size: 20px;
    padding: 5px 20px;
    cursor: pointer;
    border-radius: 5px;
    transition: all .3s ease;
    background: white;
    font-weight: 500;
}

.crear-cuenta:hover{
    background-color: #000;
    color: white;
}

/*Modal de revisar datos*/

.modal{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    font-family: 'Montserrat', 'sans-serif';
}

.modal-content{
    background: white;
    padding: 20px;
    border-radius: 10px;
    width: 450px;
    max-width: 500px;
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
}

.modal-header{
    font-size: 30px;
    margin-bottom: 1.3em;
    margin-top: 2em;
    font-weight: bold;
}

/*Círculo con !*/
.modal-content::before{
    content: "!";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 100px;
    background: white;
    border-radius: 50%;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 70px;
    font-weight: 700;
}

.modal-body{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 13px;
    font-family: 'Montserrat', 'sans-serif';
    width: 80%;
    margin: 0 auto;
    font-weight: 400;
}

.datos-editar{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
}

.datos-editar strong{
    font-size: 16px;
    color: #555;
}

.datos-editar{
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 90%;
}

.datos-editar span{
    font-size: 16px;
}

.datos-editar button{
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
}

.datos-editar button i{
    color: #757575;
    transition: all .3s ease;
}

.datos-editar button i:hover{
    color: #007bff;
}

.modal-footer{
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.modal-footer button{
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.confirm-btn{
    background-color: #000;
    color: white;
}

.cancel-btn{
    background-color: #dc3545;
    color: white;
}

.modal-body .datos-editar{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-body .datos-editar button{
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: #007bff;
}

.modal-content h5{
    color: #555;
    margin-top: 2.5em;
    font-weight: 400;
}

.datos-editar .datos{
    color: #555;
}

/*Select tipo cuenta - modal*/

.styled-select {
    width: 100%;
    padding: 8px;
    font-size: 16px;
    border-radius: 5px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    margin-bottom: 10px;
}

.styled-select:focus {
    outline: none;
    border-color: #5f9ea0;
    background-color: #fff;
}

/*Ojo del password*/
.password-container {
    position: relative;
    width: 100%;
}

#password {
    width: 100%;
}

#togglePassword {
    position: absolute;
    right: 12px; 
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px; 
    color: #555;
}

.botones{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.8em;
    gap: 1em;
}

.botones a{
    color: #000;
}


/*LOGIN*/

.btn-registro{
    color: #000;
    text-decoration: none;
    font-weight: 600;
    transition: all .3s ease;
}
.btn-registro:hover{
    color: #007bff;
}

.btn-ingresar{
    text-decoration: none;
    font-weight: 600;
    transition: all .3s ease;
}
.btn-ingresar:hover{
    color: #007bff;
}

.contenedor-formulario .olvidaste-password{
    margin-top: 15px;
}


/*Formulario de recuperar password*/

.contenedor-recuperarPassword{
    margin-top: 1em;
    font-size: 15px;
    font-style: italic;
}

.cambiar-password-form {
    position: relative;
    width: 95%;
    margin: 20px 0 1em 0;
}

.cambiar-password h2 {
    margin: .8em 0 1.5em 0;
    color: var(--AZUL_CLARO);
    font-weight: 550;
    text-align: center;
    text-shadow: 0 4px 8px rgba(0, 1, 1, 0.1);
}

.cambiar-password .contenedor-mail {
    position: relative;
    width: 95%;
    margin: 20px 0 1em 0;
}


/*estilos del "alert" para el formulario de recuperar contraseña, del login */
.formulario-recuperar {
    display: none; /*en principio no se muestra*/
    position: fixed;
    z-index: 1000; /*esto es para que se vea por encima del formulario del login*/
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /*para que se vea el fondo oscuro (donde está el formulario del login y eso)*/
    text-align: center;
}

.formulario-recuperar-contenido {
    background: white;
    margin: 10% auto;
    padding: 30px 40px;
    border: 2px solid rgba(255, 255, 255, .2);
    backdrop-filter: blur(20px);
    width: 400px;
    border-radius: 15px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    color: var(--AZUL_OSCURO);
    position: relative;
}

.formulario-recuperar-contenido h2 {
    color: var(--AZUL_CLARO);
    text-align: center;
    margin-bottom: 1em;
}

.close { /*esta es la cruz para cerrar el formulario de recuperar contra*/
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover {
    color: #007bff;
}

.formulario-recuperar .solicitar-cambio{
    background: #000;
    border: none;
    color: white;
    padding: 10px;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

.contenedor-input {
    position: relative;
    margin-bottom: 1.5em;
}

.contenedor-input input {
    width: 100%;
    border: 2px solid #ccc;
    border-radius: 4px;
    padding: 15px 12px;
    padding-left: 40px; /* Espacio a la izquierda para el ícono */
    font-size: 14px;
    box-sizing: border-box;
}

.contenedor-input .icono {
    position: absolute;
    top: 50%;
    left: 12px; /* Coloca el ícono dentro del input, al principio */
    transform: translateY(-50%);
    font-size: 18px;
    color: #aaa;
    transition: opacity 0.3s ease;
}

.contenedor-input input::placeholder {
    color: #aaa;
    padding-left: 28px; /* Desplaza el placeholder hacia la derecha */
}


.formulario-recuperar-contenido input {
    width: 100%;
    border: 2px solid #ccc;
    border-radius: 4px;
    padding: 15px 12px;
    font-size: 14px;
}

/*Formulario de actualización de password*/

#formularioRecuperarContraseña{
    z-index: 1;
}

#formularioRecuperarContraseña .form-group{
    margin-bottom: 1.5em;
}

#formularioRecuperarContraseña .form-group label{
    font-weight: 400 !important;
}

.enviar{
    width: 200px;
    margin: 25px 0;
    max-width: 250px;
    font-size: 15px;
    color: white;
    font-weight: 500;
    background: #000;
    padding: 12px 18px;
    border-radius: 25px 0 25px 0;
    border: 1px solid #000;
    transition: all 0.3s;
    cursor: pointer;
}

.enviar:hover{
    background: white;
    color: #000;
    border: 1px solid #000;
}


/*LOGIN ADMIN*/

.contenedor-login-admin{
    display: flex;
    justify-content: space-between;
}

.contenedor-login-admin .contenedor-formulario{
    margin-right: 15em;
    align-content: center;
    z-index: 1;
    float: right;
    width: 400px;
}

.contenedor-login-admin .contenedor-formulario h1{
    margin-bottom: 1em;
}



@media (max-width: 1024px) {
    .contenedor-login{
        display: flex;
        justify-content: flex-start;
        gap: 15em;
    }

    .logo{
        width: 230px;
        height: 100px;
    }

    #fondoWave {
        right: 70%; 
    }

    .contenedor-login .contenedor-formulario{
        width: 300px;
    }
    .texto-bienvenida{
        padding-left: 50px;
    }

    /*registro*/
    .contenedor-registro{
        gap: 13em;
    }

    .contenedor-registro .contenedor-formulario-registro{
        width: 40%;
    }
}

@media (max-width: 768px) {
    .contenedor-login{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        flex-direction: column;
    }

    .bienvenida{
        width: 100%;
        height: 200px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: relative;
    }
    
    .texto-bienvenida{
        background-color: #000;
        height: 100%;
        width: 100%;
        align-content: center;
        display: flex;
        flex-direction: column;
        padding-left: 0;
        text-align: center;
        align-items: center;
        padding-top: 1em;
    }
    .texto-bienvenida h4{
        margin-left: 2px;
    }
    
    #fondoWave {
        display: none;
    }

    /*registro*/
    .contenedor-registro{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 15px;
        flex-direction: column;
    }

    .contenedor-registro .contenedor-formulario-registro{
        width: 80%;
        align-items: center;
    }
    .contenedor-tipo-cuenta h5{
        text-align: center;
    }
    .botones{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        margin-top: 1.8em;
        gap: 1em;
        width: 80%;
    }

    .modal{
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        justify-content: center;
        align-items: center;
        z-index: 1000;
        font-family: 'Montserrat', 'sans-serif';
    }
    
    .modal-content{
        background: white;
        padding: 20px;
        border-radius: 10px;
        width: 95%;
        max-width: 250px;
        height: 500px;
        position: relative;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        text-align: center;
        overflow-y: auto;
    }

    /*Círculo con !*/
    .modal-content::before{
        display: none;
    }
}

@media (max-width: 484px) {
    
}