/* Home Screen apps keep one edge-to-edge status-bar configuration at install.
   Preserve contrast and keep regular page controls below the physical safe area. */
html.is-standalone-app body:not(.page-login):not(.page-booking-outbound)::before {
    content: "";
    position: fixed;
    z-index: 20001;
    top: 0;
    right: 0;
    left: 0;
    height: env(safe-area-inset-top, 0px);
    background: #111827;
    pointer-events: none;
}

/* Do not cover the listing photo with an app-owned status-bar underlay. */
html.is-standalone-app body.has-bazar-detail::before,
html.is-standalone-app body.page-bazar:has([data-bazar-detail-modal]:not([hidden]))::before {
    display: none;
}

html.is-standalone-app body:not(.page-login):not(.page-booking-outbound) .page-wrapper {
    padding-top: max(16px, calc(env(safe-area-inset-top, 0px) + 12px));
}

@media (max-width: 640px) {
    html.is-standalone-app body:not(.page-login):not(.page-booking-outbound) .page-wrapper {
        padding-top: calc(env(safe-area-inset-top, 0px) + 12px);
    }

    /* Shop & Scan formerly assumed the OS had already excluded the status bar. */
    html.is-standalone-app body.page-feed .page-wrapper,
    html.is-standalone-app body.page-feed.is-standalone-app.is-ios-device .page-wrapper {
        padding-top: max(14px, calc(env(safe-area-inset-top, 0px) + 8px + var(--visual-viewport-top, 0px))) !important;
    }
}

@media (max-width: 390px) {
    html.is-standalone-app body.page-feed .page-wrapper,
    html.is-standalone-app body.page-feed.is-standalone-app.is-ios-device .page-wrapper {
        padding-top: max(36px, calc(env(safe-area-inset-top, 0px) + 8px + var(--visual-viewport-top, 0px))) !important;
    }
}
