*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{

    font-family: Arial, Helvetica, sans-serif;
    height: 100vh;
    overflow: hidden;

}

.contenedor{

    display: flex;
    width: 100%;
    height: 100vh;

}

/* ---------------- IMAGEN ---------------- */

.lado-imagen{

    width: 65%;

    background-image: url('../img/fondo.jpeg');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    position: relative;

}

.overlay{

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.3);

    display: flex;
    justify-content: center;
    align-items: center;

}

.contenido-imagen{

    color: white;
    text-align: center;

}

.contenido-imagen h1{

    font-size: 60px;
    margin-bottom: 10px;

}

.contenido-imagen p{

    font-size: 22px;

}

/* ---------------- LOGIN ---------------- */

.lado-login{

    width: 35%;

    background: #ffffff;

    display: flex;
    justify-content: center;
    align-items: center;

}

.formulario{

    width: 80%;

}

.logo{

    text-align: center;
    margin-bottom: 30px;

}

.logo i{

    font-size: 55px;
    color: #2d7ff9;

    margin-bottom: 10px;

}

.logo h2{

    color: #1f2d3d;

}

.formulario h3{

    font-size: 32px;
    margin-bottom: 10px;

    color: #1f2d3d;

}

.texto{

    color: gray;
    margin-bottom: 30px;

}

/* INPUTS */

.input-group{

    position: relative;
    margin-bottom: 20px;

}

.input-group i{

    position: absolute;
    left: 15px;
    top: 15px;

    color: gray;

}

.input-group input{

    width: 100%;
    padding: 14px 14px 14px 45px;

    border: 1px solid #ccc;
    border-radius: 10px;

    outline: none;

    font-size: 15px;

}

/* BOTÓN */

button{

    width: 100%;
    padding: 15px;

    border: none;
    border-radius: 10px;

    background: #2d7ff9;
    color: white;

    font-size: 16px;
    cursor: pointer;

    transition: 0.3s;

}

button:hover{

    background: #0056d2;

}

/* ---------------- MÓVIL ---------------- */
/* En pantallas pequeñas: la imagen queda de fondo (borrosa, cubriendo todo)
   y el formulario flota encima como una tarjeta centrada. */

@media(max-width: 800px){

    body{
        height: auto;
        min-height: 100vh;
        overflow-y: auto;
    }

    .contenedor{
        display: block;
        height: auto;
        min-height: 100vh;
        position: relative;
    }

    .lado-imagen{
        width: 100%;
        height: 100vh;

        position: fixed;
        top: 0;
        left: 0;

        filter: blur(6px);
        transform: scale(1.1); /* evita que se vean bordes sin imagen por el blur */

        z-index: 0;
    }

    .overlay{
        background: rgba(0, 20, 40, 0.55);
    }

    /* Ocultamos el texto grande "Clínica Salud" de la imagen en móvil,
       ya que el logo se repite dentro de la tarjeta del formulario */
    .contenido-imagen{
        display: none;
    }

    .lado-login{
        width: 100%;
        min-height: 100vh;

        background: transparent;

        position: relative;
        z-index: 1;

        padding: 30px 20px;
    }

    .formulario{
        width: 100%;
        max-width: 380px;
        margin: 0 auto;

        background: rgba(255, 255, 255, 0.97);
        border-radius: 20px;
        padding: 30px 24px;

        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    }

    .formulario h3{
        font-size: 26px;
    }

    .contenedor > .lado-login > .formulario{
        margin-top: 12vh;
    }
}

@media(max-width: 380px){
    .formulario{
        padding: 24px 18px;
    }

    .formulario h3{
        font-size: 22px;
    }
}