* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: "poppins", sans-serif;

}



body {
   margin: 0;
    padding: 0;
    height: 100vh;
    background: linear-gradient(to bottom left, #d34b4b, #1141d5);
    background-size: cover;
    background-repeat: no-repeat;
  
}



.container {

    background: #fff;

    max-width: 450px; /* Cambiado a max-width para que el contenedor sea adaptable */

    width: 90%; /* Porcentaje para adaptarse a diferentes tamaños de pantalla */

    padding: 1.5rem;

    margin: 50px auto;

    border-radius: 10px;

    box-shadow: 0 20px 35px rgba(0, 0, 1, 0.9);

}



form {

    margin: 0 auto; /* Alineado al centro */

    width: 100%; /* Ancho completo */

    max-width: 400px; /* Ajustado el ancho máximo */

}



.form-title {

    font-size: 1.5rem;

    font-weight: bold;

    text-align: center;

    padding: 1.3rem;

    margin-bottom: 0.4rem;

}



input {

    color: inherit;

    width: 100%;

    background-color: transparent;

    border: none;

    border-bottom: 1px solid #bd2626;

    padding-left: 1.5rem;

    font-size: 15px;

}



.input-group {

    padding: 1% 0;

    position: relative;

}



.input-group i {

    position: absolute;

    color: black;

}



input:focus {

    background-color: transparent;

    outline: transparent;

    border-bottom: 2px solid hsl(327, 90%, 28%);

}



input::placeholder {

    color: transparent;

}



label {

    color: #757575;

    position: relative;

    left: 1.2em;

    top: -1.3em;

    cursor: auto;

    transition: 0.3s ease all;

}



input:focus~label,

input:not(:placeholder-shown)~label {

    top: -3em;

    color: hsl(327, 90%, 28%);

    font-size: 15px;

}



.recover {

    text-align: right;

    font-size: 1rem;

    margin-bottom: 1rem;

}



.recover a {

    text-decoration: none;

    color: rgb(125, 125, 235);

}



.recover a:hover {

    color: blue;

    text-decoration: underline;

}



.btn {

    font-size: 1.1rem;

    padding: 8px 0;

    border-radius: 5px;

    outline: none;

    border: none;

    width: 100%;

    background: rgb(211, 15, 15);

    color: white;

    cursor: pointer;

    transition: 0.9s;

}



.btn:hover {

    background: #07001f;

}



.or {

    font-size: 1.1rem;

    margin-top: 0.5rem;

    text-align: center;

}



.icons {

    text-align: center;

}



.icons i {

    color: rgb(125, 125, 235);

    padding: 0.8rem 1.5rem;

    border-radius: 10px;

    font-size: 1.5rem;

    cursor: pointer;

    border: 2px solid #dfe9f5;

    margin: 0 15px;

    transition: 1s;

}



.icons i:hover {

    background: #07001f;

    font-size: 1.6rem;

    border: 2px solid rgb(125, 125, 235);

}



.links {

    display: flex;

    justify-content: space-around;

    padding: 0 4rem;

    margin-top: 0.9rem;

    font-weight: bold;

}



button {

    color: rgb(125, 125, 235);

    border: none;

    background-color: transparent;

    font-size: 1rem;

    font-weight: bold;

}



button:hover {

    text-decoration: underline;

    color: blue;

}

