/**
 * Auth / login shell — colours from Interface → Login views.
 * Shell colours are injected inline via login_views_interface_render_style_block().
 */
html.auth-shell-page {
    min-height: 100vh;
    min-height: 100%;
    height: auto;
}

html.auth-shell-page body {
    background: transparent;
    min-height: 100vh;
    margin: 0;
    color: var(--auth-page-text, #212529);
}

html.auth-shell-page .auth-shell-card a:not(.btn) {
    color: var(--auth-link, #0d6efd);
    text-decoration: none;
}

html.auth-shell-page .auth-shell-card a:not(.btn):hover,
html.auth-shell-page .auth-shell-card a:not(.btn):focus-visible {
    color: var(--auth-link-hover, #0b5ed7);
}

.auth-shell-page .auth-shell-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.auth-shell-page .auth-shell-card {
    max-width: 400px;
    width: 100%;
    margin-inline: auto;
    box-shadow: none;
}

.auth-shell-page .auth-shell-card.auth-shell-card--wide {
    max-width: 520px;
}

.auth-shell-page .auth-shell-logo {
    max-width: 200px;
    max-height: 80px;
    margin: 0 auto 2rem;
    display: block;
    width: auto;
    height: auto;
}

/* Digital Passport disabled page branding */
.passport-public-footer-logo {
    max-height: 48px;
    max-width: 220px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.passport-disabled-logo {
    max-height: 56px;
    max-width: 220px;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0.9;
}

.passport-disabled-page {
    min-height: 100vh;
    background: #f4f6f8;
}

/* Tablet + mobile: keep the form card centred when the grid column is wider than the card */
@media (max-width: 991.98px) {
    .auth-shell-page .auth-shell-wrapper {
        width: 100%;
        box-sizing: border-box;
    }

    .auth-shell-page .auth-shell-wrapper > .container {
        display: flex;
        justify-content: center;
    }

    .auth-shell-page .auth-shell-wrapper .row {
        flex: 0 1 520px;
        width: 100%;
        max-width: 520px;
        margin-inline: auto;
        --bs-gutter-x: 0;
    }

    .auth-shell-page .auth-shell-wrapper .row > [class*='col-'] {
        flex: 0 0 100%;
        max-width: 100%;
        padding-inline: 0;
    }
}
