/* Shared responsive shell; desktop content retains the centred September 15 layout. */
.onboarding-container {
    width: 100%;
    max-width: none;
    min-height: 100vh !important;
    min-height: 100svh !important;
}

@media (min-width: 600px) {
    .onboarding-step {
        max-width: 640px;
    }
}

@media (min-width: 900px) {
    .onboarding-container {
        display: flex;
        flex-direction: column;
        padding: 0 40px 24px;
        background: linear-gradient(135deg, #faf4ff, #eff5ff);
    }

    .progress-bar-container {
        position: relative;
        inset: auto;
        width: calc(100% + 80px);
        margin: 0 -40px 40px;
        padding: 0;
    }

    .progress-bar-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
        width: 100%;
        max-width: 680px;
        height: 72px !important;
        margin-inline: auto;
        padding: 0 40px !important;
    }

    .progress-header {
        flex: 0 0 auto;
        margin: 0;
    }

    .progress-bar {
        flex: 1 1 360px !important;
        width: auto !important;
        max-width: 360px;
        margin: 0;
    }

    /* Restore the 600px desktop column from the September 15 layout.
       Welcome card, portrait, bubble tail and centred 480px CTA use styles.css. */
    .onboarding-step {
        max-width: 600px;
        min-height: 0;
    }

    .compact-site-footer {
        margin-top: auto;
        padding-top: 24px !important;
    }
}
