/* FOOD VIBES — Step 55: remove stray top strip from the Google-only
   CUSTOMER login/signup screens. Loaded LAST on those two pages only.
   Does not touch Google Identity Services widgets or other site pages. */

/* Old site-wide auth/layout rules sometimes create a fixed top decoration;
   disable it on this dedicated single-card screen. */
html:has(body.fv45-google-only)::before,
html:has(body.fv45-google-only)::after,
html body.fv45-google-only::before,
html body.fv45-google-only::after {
    content: none !important;
    display: none !important;
    height: 0 !important;
    background: none !important;
}

/* Customer login and signup have their navigation INSIDE the auth card.
   Any site-wide outer header/navbar injected by an older layout is redundant. */
html body.fv45-google-only > :is(
    header, nav, [role="banner"],
    .customer-top, .customer-nav, .site-header, .site-nav,
    .fv-cust-header, .fv-cust-topbar, .fv-admin-header,
    .auth-page-header, .header, .topbar, .navbar,
    .fv-announcement, .fv-notice-top, .fv-mobile-shortcuts
) {
    display: none !important;
}

/* Unstyled empty top-level wrappers should never reserve height on auth pages.
   Exclude named/id containers that Google Sign-In may add dynamically. */
html body.fv45-google-only > div:empty:not([id]):not([class]) {
    display: none !important;
}

/* Preserve professional spacing for the sign-in card and the page background.
   No changes to the content, Google button, links, or authentication scripts. */
html body.fv45-google-only {
    margin: 0 !important;
    padding: 0 16px 24px !important;
    min-height: 100vh;
}
html body.fv45-google-only > main.fv45-auth-card {
    display: block !important;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(100%, 490px) !important;
    margin: clamp(24px, 7vh, 76px) auto 24px !important;
}
@media (max-width: 560px) {
    html body.fv45-google-only { padding-inline: 12px !important; }
    html body.fv45-google-only > main.fv45-auth-card {
        width: 100% !important;
        margin: 22px auto !important;
    }
}

/* FOOD VIBES 2026-10-14: Prevent the first child card's top margin from
   collapsing outside body. The page background must cover the top gap. */
html body.fv45-google-only {
    display: flow-root !important;
}
