/* =========================================================
   GWM Fixed Breadcrumbs
   Purpose:
   - Keep breadcrumbs visible while scrolling
   - Position below sticky header/topbar area
   - Add body padding so content is not hidden underneath
   ========================================================= */

/*
   Default desktop header estimate:
   Topbar ~38px + main header ~78px = 116px.
   Breadcrumb height ~44px.
*/

body:not(.home):not(.blog) .gwm-breadcrumbs {
    position: fixed !important;
    top: 116px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99950 !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 240, 0.98) 100%) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    border-bottom: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

/* Push page content down so the fixed breadcrumb does not cover it */
body:not(.home):not(.blog):has(.gwm-breadcrumbs) main,
body:not(.home):not(.blog):has(.gwm-breadcrumbs) .site-main,
body:not(.home):not(.blog):has(.gwm-breadcrumbs) #primary {
    padding-top: 50px !important;
}

/*
   Fallback for browsers with weaker :has() handling.
   This safely adds breathing room to common content wrappers.
*/
body:not(.home):not(.blog) .gwm-breadcrumbs + main,
body:not(.home):not(.blog) .gwm-breadcrumbs + .site-main,
body:not(.home):not(.blog) .gwm-breadcrumbs + #primary {
    margin-top: 50px !important;
}

/* Admin bar adjustment */
body.admin-bar:not(.home):not(.blog) .gwm-breadcrumbs {
    top: 148px !important;
}

/* Tablet/mobile: topbar is often hidden, header is shorter */
@media (max-width: 1023px) {
    body:not(.home):not(.blog) .gwm-breadcrumbs {
        top: 82px !important;
        z-index: 99940 !important;
    }

    body.admin-bar:not(.home):not(.blog) .gwm-breadcrumbs {
        top: 128px !important;
    }

    body:not(.home):not(.blog):has(.gwm-breadcrumbs) main,
    body:not(.home):not(.blog):has(.gwm-breadcrumbs) .site-main,
    body:not(.home):not(.blog):has(.gwm-breadcrumbs) #primary {
        padding-top: 46px !important;
    }
}

/* Small phones */
@media (max-width: 480px) {
    body:not(.home):not(.blog) .gwm-breadcrumbs {
        top: 78px !important;
    }

    body.admin-bar:not(.home):not(.blog) .gwm-breadcrumbs {
        top: 124px !important;
    }

    .gwm-breadcrumbs__inner {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .gwm-breadcrumbs__list {
        white-space: nowrap;
        overflow-x: auto;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
    }

    .gwm-breadcrumbs__list::-webkit-scrollbar {
        display: none;
    }
}
