/* =====================================
   RESET
===================================== */

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


body {
    font-family: Arial, Helvetica, sans-serif;
    background: #faf8fd;
}


/* =====================================
   MAIN
===================================== */

.forgot-page {

    min-height: 100vh;

    display: grid;

    grid-template-columns: 43% 57%;
}


/* =====================================
   LEFT SIDE
===================================== */

.forgot-left {

    background:
        linear-gradient(
            135deg,
            #5420ad,
            #8730d1
        );

    color: white;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 50px;
}


.left-content {

    width: 82%;

    max-width: 550px;
}


/* =====================================
   LOGO
===================================== */

.left-logo {

    width: 155px;

    height: 90px;

    object-fit: contain;

    background: white;

    border-radius: 15px;

    padding: 7px;

    margin-bottom: 35px;
}


/* =====================================
   LEFT TEXT
===================================== */

.left-content h1 {

    font-size: 47px;

    line-height: 1.1;

    margin-bottom: 20px;
}


.left-content h1 span {

    color: #ffae00;
}


.left-content > p {

    font-size: 18px;

    line-height: 1.7;

    color:
        rgba(255,255,255,0.9);

    max-width: 480px;

    margin-bottom: 35px;
}


/* =====================================
   BENEFITS
===================================== */

.benefits {

    display: flex;

    flex-direction: column;

    gap: 15px;
}


.benefit {

    background:
        rgba(255,255,255,0.13);

    border:
        1px solid
        rgba(255,255,255,0.08);

    padding: 18px 22px;

    border-radius: 12px;

    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 17px;
}


/* =====================================
   RIGHT SIDE
===================================== */

.forgot-right {

    background: #faf8fd;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 35px;
}


.forgot-box {

    width: 100%;

    max-width: 500px;

    text-align: center;
}


/* =====================================
   LOGO
===================================== */

.forgot-logo {

    width: 135px;

    height: 70px;

    object-fit: contain;

    margin-bottom: 5px;
}


/* =====================================
   LOCK
===================================== */

.lock-icon {

    width: 70px;

    height: 70px;

    margin: 10px auto 18px;

    border-radius: 50%;

    background: #f0e5ff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 30px;
}


/* =====================================
   HEADING
===================================== */

.forgot-box h2 {

    font-size: 35px;

    color: #292929;

    margin-bottom: 10px;
}


.subtitle {

    color: #888;

    font-size: 15px;

    line-height: 1.6;

    max-width: 420px;

    margin: 0 auto 30px;
}


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

.input-group {

    text-align: left;

    margin-bottom: 20px;
}


.input-group label {

    display: block;

    font-size: 14px;

    font-weight: 600;

    color: #333;

    margin-bottom: 7px;
}


.input-group input {

    width: 100%;

    height: 52px;

    border: 1px solid #d8d8d8;

    border-radius: 10px;

    padding: 0 16px;

    font-size: 15px;

    outline: none;

    background: white;

    transition: 0.2s;
}


.input-group input:focus {

    border-color: #7427d0;

    box-shadow:
        0 0 0 3px
        rgba(116,39,208,0.12);
}


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

.reset-button {

    width: 100%;

    height: 53px;

    border: none;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #6120bd,
            #9236d5
        );

    color: white;

    font-size: 17px;

    font-weight: bold;

    cursor: pointer;

    transition: 0.2s;
}


.reset-button:hover {

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px
        rgba(97,32,189,0.25);
}


/* =====================================
   SUCCESS MESSAGE
===================================== */

.success-message {

    display: none;

    margin-top: 20px;

    padding: 15px;

    border-radius: 9px;

    background: #e9fff3;

    color: #16844a;

    font-size: 14px;

    align-items: center;

    justify-content: center;

    gap: 8px;
}


.success-message.show {

    display: flex;
}


.success-message span {

    font-weight: bold;

    font-size: 18px;
}


/* =====================================
   BACK LOGIN
===================================== */

.back-login {

    margin-top: 25px;

    color: #777;

    font-size: 14px;
}


.back-login a {

    color: #6825c1;

    font-weight: bold;

    text-decoration: none;
}


.back-login a:hover {

    text-decoration: underline;
}


/* =====================================
   RESPONSIVE
===================================== */

@media (max-width: 850px) {

    .forgot-page {

        grid-template-columns: 1fr;
    }


    .forgot-left {

        display: none;
    }


    .forgot-right {

        min-height: 100vh;

        padding: 25px;
    }

}


@media (max-width: 500px) {

    .forgot-box h2 {

        font-size: 29px;
    }

}