/* =========================================================
   STEP-39B-3G
   Broker Lock / 중개락 Login Final Composition
   ========================================================= */

.estate-auth-layout {
    grid-template-columns:
        minmax(540px, 0.98fr)
        minmax(560px, 1.02fr);
}


/* ---------------------------------------------------------
   Left visual
--------------------------------------------------------- */

.estate-auth-visual {
    overflow:
        hidden;
    padding:
        58px 68px 46px;
    background:
        linear-gradient(
            145deg,
            #061426 0%,
            #0a1e39 62%,
            #07172b 100%
        );
}

.estate-auth-visual__inner {
    position:
        relative;
    z-index:
        1;
    width:
        100%;
    max-width:
        690px;
    min-height:
        calc(100vh - 104px);
}

.estate-auth-brand--broker-lock {
    display:
        inline-flex;
    align-items:
        center;
    gap:
        5px;
}

.estate-auth-brand__logo {
    display:
        inline-flex;
    width:
        58px;
    height:
        66px;
    flex:
        0 0 58px;
    align-items:
        center;
    justify-content:
        center;
}

.broker-lock-login-mark {
    display:
        block;
    width:
        56px;
    height:
        64px;
    overflow:
        visible;
}

.broker-lock-login-mark__shackle {
    fill:
        none;
    stroke:
        #d7ad59;
    stroke-width:
        5;
    stroke-linecap:
        round;
}

.broker-lock-login-mark__b {
    fill:
        #d1a756;
}

.broker-lock-login-mark__cut {
    fill:
        #07172b;
}

.broker-lock-login-mark__building,
.broker-lock-login-mark rect,
.broker-lock-login-mark__key {
    fill:
        #d8af5d;
}

.estate-auth-brand__identity {
    display:
        flex;
    flex-direction:
        column;
}

.estate-auth-brand__name {
    display:
        flex;
    align-items:
        center;
    gap:
        8px;
}

.estate-auth-brand__name strong {
    color:
        #f7f4ee;
    font-size:
        32px;
    font-weight:
        700;
    letter-spacing:
        0.015em;
}

.estate-auth-brand__name em {
    color:
        #d4a54d;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size:
        34px;
    font-style:
        normal;
    font-weight:
        600;
    line-height:
        1;
}

.estate-auth-brand__identity small {
    margin-top:
        2px;
    color:
        rgba(255, 255, 255, 0.68);
    font-size:
        13px;
    font-weight:
        500;
    padding-left:
        2px;
}

.estate-auth-visual__content {
    margin-top:
        72px;
}

.estate-auth-eyebrow {
    position:
        relative;
    display:
        block;
    margin-bottom:
        25px;
    padding-top:
        20px;
    color:
        #d1a550;
    font-size:
        13px;
    font-weight:
        700;
    letter-spacing:
        0.24em;
    text-transform:
        uppercase;
}

.estate-auth-eyebrow::before {
    position:
        absolute;
    top:
        0;
    left:
        0;
    width:
        39px;
    height:
        2px;
    background:
        #cda250;
    content:
        "";
}

.estate-auth-visual__content h1 {
    margin:
        0;
    color:
        #f5f7fa;
    font-size:
        clamp(22px, 2.2vw, 30px);
    font-weight:
        500;
    line-height:
        1.52;
    letter-spacing:
        0.02em;
}

.estate-auth-visual__content h1 strong {
    color:
        #d3a64f;
    font-weight:
        670;
}

.estate-auth-visual__content p {
    margin:
        20px 0 0;
    color:
        rgba(255, 255, 255, 0.65);
    font-size:
        14px;
    line-height:
        2.0;
}

.estate-auth-features {
    position:
        relative;
    z-index:
        3;
    display:
        grid;
    width:
        410px;
    max-width:
        74%;
    margin-top:
        60px;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap:
        22px;
}

.estate-auth-feature {
    display:
        flex;
    flex-direction:
        column;
    align-items:
        flex-start;
}

.estate-auth-feature__icon {
    display:
        inline-flex;
    width:
        36px;
    height:
        36px;
    align-items:
        center;
    justify-content:
        center;
    margin-bottom:
        10px;
    color:
        #d7aa53;
}

.estate-auth-feature__icon svg {
    width:
        36px;
    height:
        36px;
    fill:
        none;
    stroke:
        currentColor;
    stroke-width:
        1.65;
    stroke-linecap:
        round;
    stroke-linejoin:
        round;
}

.estate-auth-feature strong {
    color:
        #f1f3f6;
    font-size:
        13px;
    font-weight:
        600;
}

.estate-auth-feature small {
    margin-top:
        5px;
    color:
        rgba(255, 255, 255, 0.43);
    font-size:
        12px;
}

.estate-auth-city {
    position:
        absolute;
    z-index:
        0;
    right:
        -86px;
    bottom:
        5px;
    width:
        610px;
    max-width:
        82%;
    pointer-events:
        none;
}

.estate-auth-city__skyline {
    fill:
        none;
    stroke:
        rgba(206, 164, 82, 0.20);
    stroke-width:
        1;
    stroke-linecap:
        round;
    stroke-linejoin:
        round;
}

.estate-auth-visual__footer {
    position:
        relative;
    z-index:
        4;
    margin-top:
        auto;
    padding-top:
        36px;
    color:
        rgba(255, 255, 255, 0.40);
    font-size:
        11px;
    font-weight:
        520;
    letter-spacing:
        0.13em;
}


/* ---------------------------------------------------------
   Right login
--------------------------------------------------------- */

.estate-auth-form-section {
    display:
        flex;
    align-items:
        center;
    justify-content:
        flex-start;
    padding:
        56px 64px 56px 82px;
    background:
        #f7f9fc;
}

.estate-auth-card {
    width:
        100%;
    max-width:
        500px;
    transform:
        translateY(-6px);
}

.estate-auth-card__header {
    margin-bottom:
        34px;
}

.estate-auth-card__eyebrow {
    display:
        block;
    margin-bottom:
        11px;
    color:
        #b77d20;
    font-size:
        13px;
    font-weight:
        700;
    letter-spacing:
        0.20em;
    text-transform:
        uppercase;
}

.estate-auth-card__header h2 {
    color:
        #071a35;
    font-size:
        36px;
    font-weight:
        600;
    letter-spacing:
        0.045em;
}

.estate-auth-card__header p {
    margin-top:
        10px;
    color:
        #7a8799;
    font-size:
        14px;
}

.estate-auth-form {
    gap:
        20px;
}

.estate-auth-field__label {
    color:
        #101d31;
    font-size:
        13px;
    font-weight:
        600;
}

.estate-auth-input-shell,
.estate-auth-password {
    position:
        relative;
}

.estate-auth-input-shell__icon {
    position:
        absolute;
    top:
        50%;
    left:
        17px;
    z-index:
        2;
    display:
        inline-flex;
    width:
        22px;
    height:
        22px;
    align-items:
        center;
    justify-content:
        center;
    color:
        #66758c;
    pointer-events:
        none;
    transform:
        translateY(-50%);
}

.estate-auth-input-shell__icon svg {
    width:
        21px;
    height:
        21px;
    fill:
        none;
    stroke:
        currentColor;
    stroke-width:
        1.7;
    stroke-linecap:
        round;
    stroke-linejoin:
        round;
}

.estate-auth-input-shell .estate-auth-field__input,
.estate-auth-password .estate-auth-field__input {
    width:
        100%;
    height:
        56px;
    padding-left:
        52px;
    background:
        rgba(255, 255, 255, 0.90);
    border:
        1px solid #ced7e4;
    border-radius:
        9px;
}

.estate-auth-password .estate-auth-field__input {
    padding-right:
        67px;
}

.estate-auth-password__toggle {
    right:
        8px;
}

.estate-auth-submit {
    display:
        flex;
    height:
        56px;
    align-items:
        center;
    justify-content:
        center;
    gap:
        15px;
    margin-top:
        5px;
    background:
        #0a203f;
    border-radius:
        9px;
    font-size:
        14px;
}

.estate-auth-submit:hover {
    background:
        #102b50;
}

.estate-auth-submit__arrow {
    font-size:
        20px;
    font-weight:
        400;
    line-height:
        1;
}

.estate-auth-divider {
    display:
        flex;
    align-items:
        center;
    gap:
        14px;
    margin:
        29px 0;
    color:
        #8995a6;
    font-size:
        10px;
}

.estate-auth-divider::before,
.estate-auth-divider::after {
    height:
        1px;
    flex:
        1;
    background:
        #d5dce6;
    content:
        "";
}

.estate-auth-office-create {
    display:
        flex;
    width:
        100%;
    min-height:
        54px;
    align-items:
        center;
    justify-content:
        center;
    gap:
        11px;
    color:
        #0c2b5a;
    background:
        rgba(255, 255, 255, 0.65);
    border:
        1px solid #0c2b5a;
    border-radius:
        9px;
    font-size:
        14px;
    font-weight:
        760;
    text-decoration:
        none;
}

.estate-auth-office-create:hover {
    background:
        #ffffff;
}

.estate-auth-office-create__icon {
    display:
        inline-flex;
    width:
        22px;
    height:
        22px;
}

.estate-auth-office-create__icon svg {
    width:
        100%;
    height:
        100%;
    fill:
        none;
    stroke:
        currentColor;
    stroke-width:
        1.7;
    stroke-linecap:
        round;
    stroke-linejoin:
        round;
}

.estate-auth-office-notice {
    display:
        flex;
    gap:
        13px;
    margin-top:
        24px;
    padding:
        14px 16px;
    color:
        #173a70;
    background:
        #eef3fb;
    border-radius:
        9px;
}

.estate-auth-office-notice__icon {
    display:
        inline-flex;
    width:
        21px;
    height:
        21px;
    flex:
        0 0 21px;
    align-items:
        center;
    justify-content:
        center;
    border:
        2px solid currentColor;
    border-radius:
        50%;
    font-size:
        12px;
    font-weight:
        800;
}

.estate-auth-office-notice > span:last-child {
    display:
        flex;
    min-width:
        0;
    flex-direction:
        column;
}

.estate-auth-office-notice strong {
    font-size:
        11px;
    font-weight:
        780;
}

.estate-auth-office-notice small {
    margin-top:
        4px;
    color:
        #7b8798;
    font-size:
        10px;
    line-height:
        1.45;
}


/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */

@media (max-width: 1100px) {
    .estate-auth-layout {
        grid-template-columns:
            minmax(430px, 0.9fr)
            minmax(500px, 1.1fr);
    }

    .estate-auth-visual {
        padding:
            44px 42px;
    }

    .estate-auth-brand__name strong {
        font-size:
            30px;
    }

    .estate-auth-brand__name em {
        font-size:
            31px;
    }

    .estate-auth-form-section {
        padding:
            48px 42px;
    }

    .estate-auth-card {
        transform:
            none;
    }
}

@media (max-width: 940px) {
    .estate-auth-layout {
        grid-template-columns:
            1fr;
    }

    .estate-auth-visual {
        display:
            none;
    }

    .estate-auth-form-section {
        min-height:
            100vh;
        justify-content:
            center;
        padding:
            36px 22px;
    }
}

@media (max-width: 560px) {
    .estate-auth-card__header h2 {
        font-size:
            33px;
    }

    .estate-auth-office-notice {
        padding:
            13px;
    }
}


/* =========================================================
   STEP-39B-3I
   Real Broker Lock Logo Asset
   ========================================================= */

.estate-auth-brand__logo {
    width:
        66px;
    height:
        78px;
    flex:
        0 0 66px;
}

.estate-auth-brand__logo-image {
    display:
        block;
    width:
        auto;
    height:
        64px;
    max-width:
        66px;
    object-fit:
        contain;
}

@media (max-width: 1100px) {
    .estate-auth-brand__logo {
        width:
            58px;
        height:
            70px;
        flex-basis:
            58px;
    }

    .estate-auth-brand__logo-image {
        height:
            64px;
        max-width:
            58px;
    }
}

@media (max-width: 560px) {
    .estate-auth-brand__logo {
        width:
            52px;
        height:
            62px;
        flex-basis:
            52px;
    }

    .estate-auth-brand__logo-image {
        height:
            56px;
        max-width:
            52px;
    }
}
