.page-login {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.page-login > .site-header,
.page-login > .role-preview,
.page-login > .site-footer {
    flex: 0 0 auto;
}

.page-login main {
    display: grid;
    flex: 1 0 auto;
    background:
        linear-gradient(90deg, rgba(10, 14, 25, .94) 0%, rgba(12, 16, 28, .82) 44%, rgba(12, 16, 28, .46) 100%),
        url("../img/clubdeseo-maintenance.webp") center / cover fixed no-repeat !important;
}

.auth-page {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr minmax(360px, 500px);
    gap: clamp(48px, 8vw, 100px);
    align-items: center;
    padding-block: clamp(24px, 5vh, 80px);
    padding-block: clamp(24px, 5dvh, 80px);
}

.page-login #main-content > .auth-page:last-child {
    padding-bottom: clamp(24px, 5vh, 80px);
    padding-bottom: clamp(24px, 5dvh, 80px);
}

.auth-page__aside {
    color: var(--white);
}

.auth-page__aside .eyebrow {
    color: #efadca;
}

.auth-page__title {
    max-width: 560px;
    margin-bottom: 20px;
}

.auth-page__aside p:not(.auth-page__title) {
    max-width: 520px;
    color: #f4eff4;
    font-weight: 520;
}

.auth-page__quote {
    margin-top: 50px;
    color: #efadca;
    font-family: var(--serif);
    font-size: 1.4rem;
    font-style: italic;
}

.auth-card {
    display: grid;
    gap: 24px;
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--shadow-lg);
}

.auth-card h2 {
    margin: 0;
    font-family: var(--sans);
    font-size: 1.6rem;
    font-weight: 850;
}

.auth-card form {
    display: grid;
    gap: 18px;
}

.auth-card__links {
    display: grid;
    gap: 8px;
    padding-top: 18px;
    border-top: 1px solid var(--ink-100);
    color: var(--ink-600);
    font-size: 0.84rem;
}

@media (min-width: 821px) {
    .page-login .site-footer__inner {
        min-height: clamp(128px, 18vh, 180px);
        min-height: clamp(128px, 18dvh, 180px);
        padding-block: clamp(20px, 3vh, 36px);
        padding-block: clamp(20px, 3dvh, 36px);
    }
}

@media (min-width: 821px) and (max-height: 850px) {
    .page-login .auth-page,
    .page-login #main-content > .auth-page:last-child {
        padding-block: 24px;
    }

    .page-login .auth-card {
        gap: 18px;
        padding: 28px;
    }

    .page-login .auth-card form {
        gap: 14px;
    }

    .page-login .auth-card__links {
        padding-top: 14px;
    }
}

@media (max-width: 820px) {
    .page-login main {
        background:
            linear-gradient(90deg, rgba(10, 14, 25, .92), rgba(10, 14, 25, .62)),
            url("../img/clubdeseo-maintenance.webp") 65% center / cover scroll no-repeat !important;
    }

    .auth-page {
        grid-template-columns: 1fr;
        gap: 50px;
        padding-block: 60px;
    }

    .page-login #main-content > .auth-page:last-child {
        padding-bottom: 60px;
    }

    .auth-page__quote {
        display: none;
    }

    .auth-page__aside {
        position: relative;
        isolation: isolate;
        padding-block: 8px 24px;
    }

    .auth-page__aside::before {
        position: absolute;
        z-index: -1;
        inset: -60px calc(50% - 50vw) -26px;
        background: rgba(10, 14, 25, .22);
        content: "";
    }
}

@media (max-width: 520px) {
    .auth-card {
        padding: 26px 20px;
    }

    .auth-page {
        gap: 34px;
        padding-block: 48px;
    }

    .page-login #main-content > .auth-page:last-child {
        padding-bottom: 48px;
    }
}

@media (max-width: 720px) {
    .page-login #main-content > .auth-page:last-child {
        padding-bottom: 36px;
    }
}
