/* ==========================================================================
   LCDP RECOVER
   ========================================================================== */

.lcdp-recover-page {
    position:
        relative;

    min-height:
        70vh;

    padding:
        44px
        0
        72px;
}


/* ==========================================================================
   CARD
   ========================================================================== */

.lcdp-recover-card {
    width:
        min(100%, 680px);

    margin:
        0 auto;

    padding:
        36px;

    background:
        rgba(255, 255, 255, 0.97);

    border:
        1px solid rgba(255, 255, 255, 0.72);

    border-radius:
        24px;

    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.26);
}


/* ==========================================================================
   HEADER
   ========================================================================== */

.lcdp-recover-header {
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        24px;

    margin:
        -36px
        -36px
        30px;

    padding:
        30px
        36px;

    background:
        #2b3442;

    border-radius:
        24px
        24px
        0
        0;
}


.lcdp-recover-header > div:first-child {
    min-width:
        0;

    flex:
        1;
}


.lcdp-recover-header .lcdp-eyebrow {
    color:
        #7dd3fc;
}


.lcdp-recover-header h1 {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(2rem, 4vw, 2.65rem);

    font-weight:
        780;

    line-height:
        1.08;
}


.lcdp-recover-header p {
    max-width:
        500px;

    margin:
        10px
        0
        0;

    color:
        rgba(255, 255, 255, 0.82);

    font-size:
        0.95rem;

    line-height:
        1.55;
}


/* ==========================================================================
   HEADER LOGO
   ========================================================================== */

.lcdp-recover-header-logo {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0
        0
        auto;

    width:
        72px;

    height:
        72px;

    overflow:
        hidden;

    background:
        #ffffff;

    border:
        1px solid rgba(255, 255, 255, 0.18);

    border-radius:
        18px;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.22);
}


.lcdp-recover-header-logo img {
    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;
}


/* ==========================================================================
   FORM PANEL
   ========================================================================== */

.lcdp-recover-form-panel {
    padding:
        24px;

    background:
        #ffffff;

    border:
        1px solid #dbe2ea;

    border-radius:
        18px;

    box-shadow:
        0 5px 14px rgba(15, 23, 42, 0.14),
        0 18px 36px rgba(15, 23, 42, 0.13);
}


.lcdp-recover-section-title {
    margin-bottom:
        18px;

    color:
        var(--lcdp-text);

    font-size:
        0.92rem;

    font-weight:
        750;
}


/* ==========================================================================
   FORM
   ========================================================================== */

.lcdp-recover-form-panel .form-label {
    margin-bottom:
        7px;

    color:
        var(--lcdp-text);

    font-size:
        0.88rem;

    font-weight:
        700;
}


.lcdp-recover-form-panel .form-control {
    min-height:
        50px;

    padding:
        11px
        13px;

    box-shadow:
        none !important;
}


/* ==========================================================================
   PRIMARY BUTTON
   ========================================================================== */

.lcdp-recover-primary {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    min-height:
        50px;

    margin-top:
        22px;

    padding:
        11px
        18px;

    background:
        var(--lcdp-primary);

    color:
        #ffffff;

    border:
        0;

    border-radius:
        11px;

    font-size:
        0.94rem;

    font-weight:
        700;

    line-height:
        1.2;

    text-decoration:
        none;

    cursor:
        pointer;

    transition:
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}


.lcdp-recover-primary:hover,
.lcdp-recover-primary:focus {
    background:
        var(--lcdp-primary-hover);

    color:
        #ffffff;

    transform:
        translateY(-1px);

    box-shadow:
        0 8px 18px rgba(37, 99, 235, 0.24);
}


/* ==========================================================================
   ERROR
   ========================================================================== */

.lcdp-recover-alert {
    margin-bottom:
        22px;

    padding:
        16px
        18px;

    background:
        #fef2f2;

    color:
        #991b1b;

    border:
        1px solid #fecaca;

    border-radius:
        12px;

    font-size:
        0.9rem;

    line-height:
        1.5;
}


/* ==========================================================================
   SUCCESS
   ========================================================================== */

.lcdp-recover-success {
    padding:
        28px;

    background:
        #f0fdf4;

    color:
        #166534;

    border:
        1px solid #bbf7d0;

    border-radius:
        18px;

    text-align:
        center;

    box-shadow:
        0 5px 14px rgba(15, 23, 42, 0.10),
        0 18px 36px rgba(15, 23, 42, 0.10);
}


.lcdp-recover-success-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        54px;

    height:
        54px;

    margin:
        0 auto
        16px;

    background:
        #22c55e;

    color:
        #ffffff;

    border-radius:
        50%;

    font-size:
        1.5rem;

    font-weight:
        800;
}


.lcdp-recover-success h2 {
    margin:
        0
        0
        12px;

    color:
        #14532d;

    font-size:
        1.45rem;

    font-weight:
        780;
}


.lcdp-recover-success p {
    margin:
        0
        0
        8px;

    line-height:
        1.55;
}


.lcdp-recover-success .lcdp-recover-primary {
    margin-top:
        22px;
}


/* ==========================================================================
   BACK LINK
   ========================================================================== */

.lcdp-recover-back {
    margin-top:
        22px;

    text-align:
        center;
}


.lcdp-recover-back a {
    color:
        var(--lcdp-primary);

    font-size:
        0.86rem;

    font-weight:
        650;

    text-decoration:
        none;
}


.lcdp-recover-back a:hover,
.lcdp-recover-back a:focus {
    color:
        var(--lcdp-primary-hover);

    text-decoration:
        underline;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-recover-page {
        padding:
            18px
            0
            34px;
    }


    .lcdp-recover-card {
        padding:
            22px;

        border-radius:
            20px;
    }


    .lcdp-recover-header {
        margin:
            -22px
            -22px
            24px;

        padding:
            24px
            92px
            24px
            22px;

        border-radius:
            20px
            20px
            0
            0;
    }


    .lcdp-recover-header-logo {
        position:
            absolute;

        top:
            24px;

        right:
            22px;

        width:
            56px;

        height:
            56px;

        border-radius:
            14px;
    }


    .lcdp-recover-header h1 {
        font-size:
            1.75rem;
    }


    .lcdp-recover-header p {
        font-size:
            0.9rem;
    }


    .lcdp-recover-form-panel {
        padding:
            18px;

        border-radius:
            15px;

        box-shadow:
            0 5px 12px rgba(15, 23, 42, 0.14),
            0 14px 28px rgba(15, 23, 42, 0.12);
    }


    .lcdp-recover-success {
        padding:
            24px
            18px;

        border-radius:
            15px;
    }

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .lcdp-recover-card {
        padding:
            20px
            18px;
    }


    .lcdp-recover-header {
        margin:
            -20px
            -18px
            22px;

        padding:
            22px
            82px
            22px
            18px;
    }


    .lcdp-recover-header-logo {
        top:
            22px;

        right:
            18px;

        width:
            50px;

        height:
            50px;

        border-radius:
            13px;
    }


    .lcdp-recover-header h1 {
        font-size:
            1.6rem;
    }

}