.login {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0rem;
    text-align: center;
    margin: 2rem;
}

.login form,
.login .infoChange,
.login .alert {
    width: 26em;
    max-width: 100%;
}
.login form,
.login .infoChange {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    margin: 2em 0;
    padding: 2em;
    border-radius: 4px;
    background-color: #ffffff;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}
.login form h1,
.login .infoChange h1 {
    font-size: 2em;
    font-weight: lighter;
    margin: 0 0;
}
.login form p,
.login .infoChange p {
    margin:0;
}
.login form fieldset {
    padding: 0;
    margin: 0;
    width: 100%;
}
.login #buttonSend {
    width: 100%;
}

/* Responsive - Móvil */
@media (max-width: 767px) {
    .login {
        margin: 1rem;
        padding: 0;
    }
    .login form,
    .login .infoChange,
    .login .alert {
        width: 100%;
        max-width: 400px;
    }
    .login form,
    .login .infoChange {
        margin-top: 0.5em;
        padding: 1em;
        border-radius: 8px;
        background-color: inherit;
        box-shadow: none;
    }
    .login .alert-title,
    .login .alert-body {
        font-size: 90%;
    }
    input[type="email"],
    input[type="password"] {
        font-size: 16px !important;
    }
}

/* Responsive - Móvil pequeño */
@media (max-width: 479px) {
    .login {
        margin: 0.5rem;
    }
    .login form,
    .login .infoChange {
        padding: 0.75em;
    }
}