/* ==========================================================================
   LCDP REGISTER
   ========================================================================== */

.lcdp-register-page {
    position:
        relative;

    min-height:
        70vh;

    padding:
        44px
        0
        72px;
}


/* ==========================================================================
   MAIN CARD
   ========================================================================== */

.lcdp-register-card {
    width:
        min(100%, 980px);

    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-register-header {
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        28px;

    margin:
        -36px
        -36px
        30px;

    padding:
        30px
        36px;

    background:
        #2b3442;

    border-radius:
        24px
        24px
        0
        0;
}


.lcdp-register-header > div:first-child {
    min-width:
        0;

    flex:
        1;
}


.lcdp-register-header .lcdp-eyebrow {
    color:
        #7dd3fc;
}


.lcdp-register-header h1 {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(2rem, 4vw, 2.75rem);

    font-weight:
        780;

    line-height:
        1.08;
}


.lcdp-register-header p {
    max-width:
        680px;

    margin:
        10px
        0
        0;

    color:
        rgba(255, 255, 255, 0.82);

    font-size:
        0.96rem;

    line-height:
        1.55;
}


/* ==========================================================================
   HEADER LOGO
   ========================================================================== */

.lcdp-register-header-logo {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0
        0
        auto;

    width:
        76px;

    height:
        76px;

    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-register-header-logo img {
    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;
}


/* ==========================================================================
   FORM PANELS
   ========================================================================== */

.lcdp-register-form-panel {
    margin-bottom:
        22px;

    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-register-section-title {
    margin-bottom:
        18px;

    color:
        var(--lcdp-text);

    font-size:
        0.94rem;

    font-weight:
        750;
}


/* ==========================================================================
   LABELS / CONTROLS
   ========================================================================== */

.lcdp-register-card .form-label {
    margin-bottom:
        7px;

    color:
        var(--lcdp-text);

    font-size:
        0.88rem;

    font-weight:
        700;
}


.lcdp-register-card .form-control,
.lcdp-register-card .form-select {
    min-height:
        50px;

    padding:
        11px
        13px;

    box-shadow:
        none !important;
}


.lcdp-register-card .form-control[readonly] {
    background:
        #eef2f7;

    color:
        #64748b;

    cursor:
        default;
}


.lcdp-required-star {
    color:
        #dc2626;
}


/* ==========================================================================
   HINTS
   ========================================================================== */

.lcdp-register-hint {
    margin-top:
        10px;

    margin-bottom:
        12px;

    color:
        #64748b;

    font-size:
        0.8rem;

    line-height:
        1.45;
}


.lcdp-register-password-rules {
    margin:
        14px
        0
        0;

    padding-left:
        20px;

    color:
        #64748b;

    font-size:
        0.84rem;

    line-height:
        1.55;
}


/* ==========================================================================
   COMMUNICATION NOTE
   ========================================================================== */

.lcdp-register-communication-note {
    margin-top:
        20px;

    padding:
        14px
        16px;

    background:
        #f8fafc;

    color:
        #475569;

    border:
        1px solid var(--lcdp-border);

    border-radius:
        12px;

    font-size:
        0.84rem;

    line-height:
        1.55;
}


/* ==========================================================================
   PRIMARY BUTTON
   ========================================================================== */

.lcdp-register-primary {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    min-height:
        52px;

    padding:
        11px
        18px;

    background:
    var(--lcdp-dark);

    color:
        #ffffff;

    border:
        0;

    border-radius:
        11px;

    font-size:
        0.95rem;

    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-register-primary:hover,
.lcdp-register-primary:focus {
background:
    var(--lcdp-dark-soft);

    color:
        #ffffff;

    transform:
        translateY(-1px);

    box-shadow:
        0 8px 18px rgba(37, 99, 235, 0.24);
}


/* ==========================================================================
   SECONDARY BUTTON
   ========================================================================== */

.lcdp-register-secondary {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    min-height:
        50px;

    padding:
        11px
        18px;

    background:
        var(--lcdp-dark);

    color:
        #ffffff;

    border:
        0;

    border-radius:
        11px;

    box-shadow:
        0 7px 16px rgba(13, 23, 38, 0.20);

    font-size:
        0.92rem;

    font-weight:
        700;

    cursor:
        pointer;

    transition:
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}


.lcdp-register-secondary:hover,
.lcdp-register-secondary:focus {
    background:
        var(--lcdp-dark-soft);

    color:
        #ffffff;

    transform:
        translateY(-1px);
}


/* ==========================================================================
   ALERT
   ========================================================================== */

.lcdp-register-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;
}


.lcdp-register-alert a {
    color:
        #991b1b;

    font-weight:
        700;
}


/* ==========================================================================
   SUCCESS
   ========================================================================== */

.lcdp-register-success-card {
    width:
        min(100%, 680px);

    margin:
        0 auto;

    padding:
        36px;

    background:
        #f0fdf4;

    color:
        #166534;

    border:
        1px solid #bbf7d0;

    border-radius:
        24px;

    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.24);

    text-align:
        center;
}


.lcdp-register-success-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        58px;

    height:
        58px;

    margin:
        0 auto
        18px;

    background:
        #22c55e;

    color:
        #ffffff;

    border-radius:
        50%;

    font-size:
        1.6rem;

    font-weight:
        800;
}


.lcdp-register-success-card h1 {
    margin:
        0
        0
        14px;

    color:
        #14532d;

    font-size:
        2rem;

    font-weight:
        780;
}


.lcdp-register-success-card p {
    margin:
        0
        0
        8px;

    line-height:
        1.55;
}


.lcdp-register-success-card .lcdp-register-primary {
    margin-top:
        24px;
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-register-page {
        padding:
            18px
            0
            34px;
    }


    .lcdp-register-card {
        padding:
            22px;

        border-radius:
            20px;
    }


    .lcdp-register-header {
        margin:
            -22px
            -22px
            24px;

        padding:
            24px
            92px
            24px
            22px;

        border-radius:
            20px
            20px
            0
            0;
    }


    .lcdp-register-header-logo {
        position:
            absolute;

        top:
            24px;

        right:
            22px;

        width:
            56px;

        height:
            56px;

        border-radius:
            14px;
    }


    .lcdp-register-header h1 {
        font-size:
            1.75rem;
    }


    .lcdp-register-header p {
        font-size:
            0.9rem;
    }


    .lcdp-register-form-panel {
        margin-bottom:
            18px;

        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-register-success-card {
        padding:
            28px
            20px;

        border-radius:
            20px;
    }


    .lcdp-register-success-card h1 {
        font-size:
            1.75rem;
    }

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .lcdp-register-card {
        padding:
            20px
            18px;
    }


    .lcdp-register-header {
        margin:
            -20px
            -18px
            22px;

        padding:
            22px
            82px
            22px
            18px;
    }


    .lcdp-register-header-logo {
        top:
            22px;

        right:
            18px;

        width:
            50px;

        height:
            50px;

        border-radius:
            13px;
    }


    .lcdp-register-header h1 {
        font-size:
            1.6rem;
    }

}