/* Navbar/Dropdown Z-INDEX + Stacking Context FIX (v10.5 patch) */
:root{
  --z-navbar: 2147483000;
  /* Dropdowns should be above the fixed header, but BELOW modals */
  --z-dropdown: 2147483200;
  /* Bootstrap expects: backdrop < modal. If equal, backdrop may block clicks/scroll. */
  --z-backdrop: 2147483637;
  --z-modal: 2147483647;
}

/*
  TRUE fixed header (targeted)
  NOTE: Do NOT force ALL <header> tags to fixed.
  Some pages/components may use <header> inside content;
  forcing it fixed can cover the whole page (looks like "blank" content).
*/
.navbar, .navbar.sticky-top, .navbar.fixed-top, .doulab-nav, .site-header, .topbar{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: var(--z-navbar) !important;
}

/* Ensure dropdown menus and popovers are above content and header */
.dropdown-menu, .dropdown-menu.show,
.popover, .tooltip,
.offcanvas{
  z-index: var(--z-dropdown) !important;
}

/* Fix modal layering: backdrop must be under modal */
.modal-backdrop{ z-index: var(--z-backdrop) !important; }
.modal{ z-index: var(--z-modal) !important; }

/* Many “theme/hero” blocks accidentally sit above nav due to z-index */
.hero, .home-hero, .doulab-hero, .project-hero, .cover, .cover-hero{
  z-index: 0 !important;
  position: relative !important;
}

/* If an overlay pseudo-element is above, drop it behind */
.hero::before, .hero::after,
.home-hero::before, .home-hero::after,
.doulab-hero::before, .doulab-hero::after,
.project-hero::before, .project-hero::after,
.cover::before, .cover::after,
.cover-hero::before, .cover-hero::after{
  z-index: 0 !important;
}

/* Make sure hero content stays above its own overlay (but still below nav) */
.hero > *, .home-hero > *, .doulab-hero > *, .project-hero > *, .cover > *, .cover-hero > *{
  position: relative;
  z-index: 1;
}

/* Body spacing for fixed header (JS will set --nav-h dynamically) */
body{
  /* Safe fallback in case JS can't measure header height */
  padding-top: var(--nav-h, 120px) !important;
}
