/*
=======================================================================
 ASCARS - LOGIN

 Page-specific presentation only.
 Core ASCARS header / footer / typography remain untouched.
=======================================================================
*/

.login-page {
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            rgba(3, 9, 16, .72),
            rgba(3, 9, 16, .94)
        ),
        url("/assets/img/home-bg.png")
        center top / cover fixed;
}


.login-main {
    flex: 1;

    display: flex;
    align-items: center;

    padding: 85px 0 95px;
}


.login-shell {
    width: min(1180px, calc(100% - 48px));

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(420px, .92fr);

    gap: 90px;

    align-items: center;
}


.login-copy {
    max-width: 680px;
}


.login-eyebrow {
    margin-bottom: 16px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .18em;
    text-transform: uppercase;

    opacity: .55;
}


.login-copy h1 {
    margin: 0;

    font-size: clamp(54px, 6.2vw, 86px);
    line-height: .93;

    letter-spacing: -.055em;
}


.login-lead {
    margin: 30px 0 0;

    max-width: 650px;

    font-size: clamp(21px, 2.2vw, 29px);
    line-height: 1.35;
}


.login-description {
    margin: 18px 0 0;

    max-width: 650px;

    font-size: 16px;
    line-height: 1.75;

    opacity: .72;
}


.login-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 28px;
}


.login-meta span {
    padding: 6px 10px;

    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;

    background: rgba(255,255,255,.035);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .08em;

    opacity: .62;
}


/*
=======================================================================
 LOGIN CARD
=======================================================================
*/

.login-card {
    overflow: hidden;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 15px;

    background: rgba(4, 10, 17, .88);

    box-shadow:
        0 32px 80px rgba(0,0,0,.40);

    backdrop-filter: blur(13px);
}


.login-card-top {
    min-height: 50px;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0 18px;

    border-bottom: 1px solid rgba(255,255,255,.08);

    background: rgba(255,255,255,.025);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .10em;

    opacity: .72;
}


.login-form {
    padding: 30px;
}


.login-field + .login-field {
    margin-top: 18px;
}


.login-field label {
    display: block;

    margin-bottom: 8px;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .10em;
    text-transform: uppercase;

    opacity: .55;
}


.login-field input {
    width: 100%;
    min-height: 48px;

    padding: 0 14px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 7px;

    background: rgba(255,255,255,.045);

    color: inherit;

    font: inherit;

    outline: none;
}


.login-field input::placeholder {
    color: rgba(255,255,255,.32);
}


.login-field input:focus {
    border-color: rgba(255,255,255,.28);

    background: rgba(255,255,255,.065);
}


.login-remember {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: 18px;

    font-size: 12px;

    opacity: .68;
}


.login-remember input {
    width: 14px;
    height: 14px;

    margin: 0;
}


.login-submit {
    width: 100%;
    min-height: 48px;

    margin-top: 24px;

    border: 0;
    border-radius: 7px;

    background: rgba(255,255,255,.18);
    color: rgba(255,255,255,.48);

    font: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: not-allowed;
}


.login-note {
    margin: 14px 0 0;

    text-align: center;

    font-size: 11px;

    opacity: .40;
}


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

@media (max-width: 1020px) {

    .login-shell {
        grid-template-columns: 1fr;
    }

    .login-card {
        max-width: 720px;
    }
}


@media (max-width: 760px) {

    .login-main {
        padding: 60px 0 75px;
    }

    .login-shell {
        width: min(100% - 28px, 1180px);

        gap: 55px;
    }

    .login-form {
        padding: 24px;
    }
}


/* ASCARS LOGIN ACTIVE BUTTON FIX V1 */
.login-form button.login-submit:not(:disabled) {
    cursor: pointer !important;
    pointer-events: auto !important;
}

.login-form button.login-submit:disabled {
    cursor: progress;
}


/* ASCARS LOGIN SPACING AND ACTIVE BUTTON V2 */

.login-page .login-form .login-account-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 22px !important;
    margin-bottom: 24px !important;
    min-height: 24px;
}

.login-page .login-account-actions .login-remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}

.login-page .login-account-actions .login-create-account {
    display: inline-block;
    margin-left: auto;
    white-space: nowrap;
    cursor: pointer !important;
}

.login-page .login-form button.login-submit:not(:disabled) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.login-page .login-form button.login-submit:hover:not(:disabled) {
}

.login-page .login-form button.login-submit:disabled {
    cursor: wait !important;
}

@media (max-width: 420px) {
    .login-page .login-form .login-account-actions {
        gap: 10px !important;
        margin-top: 20px !important;
    }
}
