/* HostShop fixed header enforcement for all public HTML/PHP pages.
   This avoids template-level overflow/positioning rules that can break sticky. */
body:has(#hostshop-header) {
    padding-top: 112px !important;
}

body:has(#logoAndNav),
body:has(.main-header-menu-wrap) {
    padding-top: 78px !important;
}

#hostshop-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483000 !important;
}

#logoAndNav,
.main-header-menu-wrap {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483000 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 12px 35px rgba(20, 33, 61, 0.14) !important;
    -webkit-backdrop-filter: saturate(160%) blur(10px);
    backdrop-filter: saturate(160%) blur(10px);
}

#logoAndNav.bg-transparent,
.main-header-menu-wrap.bg-transparent {
    background: rgba(255, 255, 255, 0.98) !important;
}

#logoAndNav.fixed-top,
.main-header-menu-wrap.fixed-top {
    position: fixed !important;
}

#logoAndNav .navbar,
.main-header-menu-wrap .navbar,
.hostshop-nav .navbar {
    min-height: 72px;
}

@media (max-width: 991.98px) {
    body:has(#hostshop-header) {
        padding-top: 102px !important;
    }

    body:has(#logoAndNav),
    body:has(.main-header-menu-wrap) {
        padding-top: 74px !important;
    }

    #hostshop-header,
    #logoAndNav,
    .main-header-menu-wrap {
        top: 0 !important;
    }
}
