/* ============================= */
/* TITLE */
/* ============================= */

.forgotpassword-article__title {
    margin: 0;
    padding: 20px 10px 10px;
    font-size: 2.2em;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
}


/* ============================= */
/* FORM */
/* ============================= */

.forgotpassword-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 20px;
    margin: 0 auto;
    max-width: 400px;
    width: 100%;
    background-color: #181818;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}


/* ============================= */
/* LABEL */
/* ============================= */

.forgotpassword-form__label {
    font-size: 0.95em;
    color: #bbbbbb;
    align-self: flex-start;
}


/* ============================= */
/* INPUT */
/* ============================= */

.forgotpassword-form__input {
    max-width: 100%;
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border-radius: 6px;
    border: 1px solid #2a2a2a;
    background-color: #121212;
    color: #ffffff;
    transition: all 0.25s ease;
    font-size: 1em;
}

.forgotpassword-form__input:focus {
    outline: none;
    border-color: #4da3ff;
    background-color: #161616;
    box-shadow: 0 0 0 2px rgba(77, 163, 255, 0.25);
}

.forgotpassword-form__input:not(:focus):invalid {
    animation: headshake 200ms cubic-bezier(.4,.1,.6,.9) 2;
}


/* ============================= */
/* BUTTON */
/* ============================= */

.forgotpassword-form__submit-btn {
    width: 100%;
    padding: 10px;
    font-size: 1.1em;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: #ffffff;
    transition: all 0.25s ease;
}

.forgotpassword-form__submit-btn:hover {
    background: linear-gradient(135deg, #008cff, #0062cc);
    transform: translateY(-2px);
}

.forgotpassword-form__submit-btn:active {
    transform: translateY(0);
}


/* ============================= */
/* MESSAGES */
/* ============================= */

.forgotpassword-form__messages-div {
    width: 100%;
}

.forgotpassword-form__error-span {
    display: block;
    color: #ff4d4f;
    font-size: 0.9em;
}

.forgotpassword-form__success-span {
    display: block;
    color: #4caf50;
    font-size: 0.9em;
}


/* ============================= */
/* ANIMATIONS */
/* ============================= */

@keyframes headshake {
    0% {
        border: 1px solid #b20a37;
    }
    25% {
        transform: translateX(10px);

    }
    75% {
        transform: translateX(-10px);
    }
    100% {
        border: 1px solid #b20a37;
    }
}