/* Match index.html Advice secondary nav: 3 groups, fit viewport.
   IMPORTANT: overflow must stay visible so category mega-menu can show below. */
html body nav.main-nav,
html body #main-nav,
body nav.main-nav {
  width: 100% !important;
  max-width: 100vw !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html body nav.main-nav .main-nav-full-width,
html body nav.main-nav #main-nav-container,
html body #main-nav-container,
html body nav.main-nav #main-nav-container.container.main-nav-full-width,
body #main-nav-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(0.35rem, 1vw, 1rem) !important;
  width: min(100%, var(--dcsc-shell-width, calc(100vw - 48px))) !important;
  max-width: min(100vw - 24px, var(--dcsc-shell-max, 1877px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  overflow: visible !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

html body #main-nav-container .nav-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: clamp(0.3rem, 0.9vw, 0.9rem) !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html body #main-nav-container .nav-group--left {
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  position: relative !important;
  z-index: 1700 !important;
  overflow: visible !important;
}

html body #main-nav-container .nav-group--center {
  flex: 1 1 auto !important;
  justify-content: center !important;
}

html body #main-nav-container .nav-group--right {
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  margin-left: 0 !important;
}

/* Portaled mega menu — always viewport-fixed under the category button */
body > .header-nav-megamenu.header-nav-megamenu--portaled,
body > .header-nav-megamenu--portaled {
  position: fixed !important;
  display: none !important;
  margin: 0 !important;
  transform: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 10050 !important;
  border-radius: 0 0 16px 16px !important;
  background: #fff !important;
  border: 1px solid #dbe6f5 !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body > .header-nav-megamenu.header-nav-megamenu--portaled.is-mega-open,
body > .header-nav-megamenu--portaled.is-mega-open {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

html body #main-nav-container .nav-item-wrapper--category {
  position: relative !important;
  overflow: visible !important;
  z-index: 1701 !important;
}

/* Keep mega menu above page content when open — flush under nav bar */
html body #main-nav-container .nav-item-wrapper--category.is-open > .header-nav-dropdown--category.header-nav-megamenu,
html body #main-nav-container .nav-item-wrapper--category > .header-nav-dropdown--category.header-nav-megamenu {
  margin: 0 !important;
  transform: none !important;
}

html body #main-nav-container .nav-item-wrapper--category.is-open > .header-nav-dropdown--category.header-nav-megamenu {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  position: fixed !important;
  z-index: 10050 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  border-radius: 0 0 16px 16px !important;
}

@media (max-width: 991.98px) {
  html body nav.main-nav,
  html body #main-nav {
    overflow-x: auto !important;
    overflow-y: visible !important;
  }

  html body nav.main-nav .main-nav-full-width,
  html body #main-nav-container,
  html body nav.main-nav #main-nav-container.container.main-nav-full-width {
    justify-content: flex-start !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
  }

  html body #main-nav-container .nav-group--left,
  html body #main-nav-container .nav-group--center,
  html body #main-nav-container .nav-group--right {
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
  }
}
