/* Services dropdown - stable hover */

.header.sticky-nav .navigation-bar:not(.nav-open) {
  overflow: hidden !important;
  width: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.header.sticky-nav .navigation-bar.nav-open {
  visibility: visible !important;
  pointer-events: auto !important;
}

.header:not(.sticky-nav) .navigation-bar-wrapper,
.header:not(.sticky-nav) .navigation-bar,
.header:not(.sticky-nav) .nav-menu,
.navigation-bar.nav-open,
.navigation-bar.nav-open .nav-menu {
  overflow: visible !important;
}

.nav-menu > li.menu-item-has-children {
  position: relative !important;
}

.nav-menu > li.menu-item-has-children > .sub-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% - 4px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  min-width: 280px !important;
  padding: 14px 0 8px !important;
  list-style: none !important;
  background: #FEFDFB !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
  z-index: 99999 !important;
}

/* Hover bridge (covers the tiny join so menu doesn't close) */
.nav-menu > li.menu-item-has-children > .sub-menu::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -12px !important;
  height: 16px !important;
}

.nav-menu > li.menu-item-has-children:hover > .sub-menu,
.nav-menu > li.menu-item-has-children.is-open > .sub-menu,
.nav-menu > li.menu-item-has-children > .sub-menu.is-open {
  display: block !important;
}

.nav-menu .sub-menu,
.nav-menu .sub-menu li {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.nav-menu .sub-menu li::before,
.nav-menu .sub-menu li::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
}

.nav-menu > li.menu-item-has-children > .sub-menu > li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nav-menu > li.menu-item-has-children > .sub-menu > li > a {
  display: block !important;
  padding: 10px 20px !important;
  white-space: nowrap !important;
  color: #313638 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

.nav-menu > li.menu-item-has-children > .sub-menu > li > a:hover {
  background: #EBEAE6 !important;
  color: #FA824C !important;
}

.nav-menu > li.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid currentColor !important;
}

@media (max-width: 991.98px) {
  .nav-menu > li.menu-item-has-children > .sub-menu {
    position: static !important;
    transform: none !important;
    top: auto !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 0 0 12px !important;
    min-width: 0 !important;
  }

  .nav-menu > li.menu-item-has-children > .sub-menu::before {
    display: none !important;
  }

  .nav-menu > li.menu-item-has-children:hover > .sub-menu {
    display: none !important;
  }

  .nav-menu > li.menu-item-has-children.is-open > .sub-menu,
  .nav-menu > li.menu-item-has-children > .sub-menu.is-open {
    display: block !important;
  }
}

/* Static Edge logo */
.logo .site-logo,
.logo img.site-logo {
  display: block;
  width: auto;
  height: 52px;
  max-width: 160px;
  object-fit: contain;
}
@media (min-width: 500px) {
  .logo .site-logo,
  .logo img.site-logo {
    height: 64px;
    max-width: 180px;
  }
}
.header.sticky-nav .logo .site-logo {
  height: 44px;
  max-width: 130px;
  opacity: 1;
}
footer .logo .site-logo {
  height: 72px;
  max-width: 200px;
}

/* Footer background watermark */
.footer {
  position: relative;
  background-image: none !important;
  overflow: hidden;
}
.footer::before {
  content: "HIBOOM MEDIA";
  position: absolute;
  left: 50%;
  bottom: -0.12em;
  transform: translateX(-48%);
  font-family: Anton, Impact, Haettenschweiler, sans-serif;
  font-size: clamp(3.5rem, 14vw, 11.5rem);
  font-weight: 400;
  line-height: 0.85;
  letter-spacing: 0.04em;
  color: var(--backgroundSecondary, #F7F5F1);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.footer > .container {
  position: relative;
  z-index: 1;
}
