/* Desktop range utilities (min-width: var(--keena-bp-desktop-min)) */
/* Responsive utilities moved to responsive-utilities.css */

/* ---- Migrated from navigation.css (min-width:1025px) ---- */
/* .mega-menu-label-icon and base mega-menu label typography moved to
   responsive-utilities.css so they apply globally across breakpoints. */

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
  display: none;
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container>li:nth-child(1)::after {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  right:24px;
  width: 1px;
  height: 242px;
  background: #e0e0e0;
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container {
  position: relative;
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container>li {
  position: relative;
}

.wp-block-navigation,
.wp-block-navigation .wp-block-navigation-item,
.wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  position: static !important;
}

.mega-menu .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child>.wp-block-navigation__submenu-container {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(12px) !important;
}

.mega-menu .wp-block-navigation__submenu-container.is-menu-open,
.wp-block-navigation .has-child>.wp-block-navigation__submenu-container.is-menu-open {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  animation: megaFadeIn 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.mega-menu .wp-block-navigation__submenu-container>li {
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  max-width: 445px;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.mega-menu .wp-block-navigation__submenu-container ul,
.mega-menu .wp-block-navigation__submenu-container ul ul {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
}

#modal-3-content>ul>li:nth-child(1)>ul>li .wp-block-navigation-item__content.mega-menu-label {
  color: var(--Brand-Black, #222);
  text-transform: none;
  font-family: Montserrat;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%;
  letter-spacing: -0.4px;
}

#modal-3-content>ul>li:nth-child(1)>ul>li .wp-block-navigation-item__content {
  color: var(--Brand-Gray-6, #4d4d4d);
  font-family: Montserrat;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 0.52px;
  text-transform: uppercase;
  cursor: default;
  padding: 0;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  top: 41px !important;
}

#modal-3-content>ul>li>ul>li>button {
  display: none;
}

#modal-3-content>ul>li:nth-child(1)>ul>li li .wp-block-navigation-item__content {
  text-transform: none;
  color: var(--Brand-Black, #222);
  font-family: Montserrat;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 156%;
  letter-spacing: -0.3px;
  margin-bottom: 12px;
  padding: 0;
}

.mega-menu .wp-block-navigation__submenu-container.is-menu-open>li:not(:last-child) {
  margin-right: 22px !important;
  margin-left: var(--keena-safe-gutter);
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container {
  position: absolute !important;
  left: var(--keena-safe-gutter) !important;
  top: 104px !important;
  /* Match header content width instead of full viewport */
  width: calc(100vw - (2 * var(--keena-safe-gutter))) !important;
  max-width: var(--keena-site-max, 1336px) !important;
  min-width: 660px !important;
  min-height: 370px !important;
  margin: 0 !important;
  /* Remove background - will be handled by pseudo-element */
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  padding: 44px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  z-index: 1000 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  animation: none !important;
  justify-content: center !important;
  visibility: visible !important;
}

/* Pseudo-element for full-width background */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: #fff;
  border-radius: 0 0 40px 40px;
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.12);
  z-index: -1;
}

.mega-menu .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child.is-menu-open>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  position: static !important;
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  animation: none !important;
  justify-content: flex-start !important;
  margin-top: 24px !important;
  width:100%;
}

/* One-column submenu: label (first li) + single stacked content column */
/* Handle class on UL */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu {
  display: grid !important;
  grid-template-columns: 432px minmax(360px, 908px) !important; /* was 432px minmax(360px, 432px) */
  gap: 44px !important;
  justify-content: center !important;
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu>li:first-child {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
}

.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu>li:not(:first-child) {
  grid-column: 2 !important;
}

/* Fallback: handle class on parent LI */
.mega-menu>.wp-block-navigation-item.one-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container {
  display: grid !important;
  grid-template-columns: 432px minmax(360px, 908px) !important; /* was 432px minmax(360px, 432px) */
  gap: 44px !important;
  justify-content: center !important;
}

.mega-menu>.wp-block-navigation-item.one-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container>li:first-child {
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
}

.mega-menu>.wp-block-navigation-item.one-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container>li:not(:first-child) {
  grid-column: 2 !important;
}

/* Allow the content column to exceed 432px in one-column variant */
.mega-menu > .wp-block-navigation-item.has-child.is-menu-open > .wp-block-navigation__submenu-container.one-column-menu > li:not(:first-child),
.mega-menu > .wp-block-navigation-item.one-column-menu.has-child.is-menu-open > .wp-block-navigation__submenu-container > li:not(:first-child) {
  max-width: none !important;
  min-width: 0 !important;
  width: auto !important;
}

/* Ensure divider still shows next to the label column in one-column variant */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu>li:nth-child(1)::after {
  display: block !important;
}

/* Collapse vertical spacing between submenu items in one- and two-column variants */
.mega-menu>.wp-block-navigation-item.one-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container li li .wp-block-navigation-item__content,
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu li li .wp-block-navigation-item__content,
.mega-menu>.wp-block-navigation-item.two-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container li li .wp-block-navigation-item__content {
  margin-bottom: 0 !important;
}

/* If any list items rely on spacing, use padding-top instead (optional hook) */
/* .mega-menu .wp-block-navigation__submenu-container li li .wp-block-navigation-item__content + .wp-block-navigation-item__content { padding-top:4px; } */

/* ---- Migrated from base.css (desktop columns & nav) ---- */
.wp-block-columns {
  flex-wrap: nowrap !important;
}

.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-navigation__responsive-container-open:not(.always-shown) {
  display: none !important;
}

.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  display: block !important;
  width: 100%;
  position: relative;
  z-index: auto;
  background-color: inherit;
}

.wp-block-navigation-item__content h6 {
  margin: 0;
}

/* Top-align items in one-/two-column mega variants (remove large empty vertical space) */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu,
.mega-menu>.wp-block-navigation-item.two-column-menu.has-child.is-menu-open>.wp-block-navigation__submenu-container {
  align-content: start !important;
  /* prevent grid distributing rows */
}

/* One-column mega grid: keep min-height, but prevent row stretching; extra space falls to bottom */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu {
  align-content: start !important;
  align-items: start !important;
  justify-items: start !important;
  grid-auto-rows: min-content !important;
}

/* Ensure item rows don’t stretch vertically */
.mega-menu>.wp-block-navigation-item.has-child.is-menu-open>.wp-block-navigation__submenu-container.one-column-menu>li {
  height: auto !important;
}

/* Site container max width (fallback). Adjust here if your theme uses a different content width. */
:root {
  --keena-site-max: 1336px;
}

/* Keep this final, deduplicated container rule (already present later) */
/* Full-width mega panel background; constrain inner content to site max via padding */
.mega-menu > .wp-block-navigation-item.has-child.is-menu-open
  > .wp-block-navigation__submenu-container {
  left: 50% !important;
  transform: translateX(-50%) !important;
}


/* Remove vertical row spacing in one-column mega grid (keep 44px horizontal column gap) */
.mega-menu > .wp-block-navigation-item.has-child.is-menu-open
  > .wp-block-navigation__submenu-container.one-column-menu,
.mega-menu > .wp-block-navigation-item.one-column-menu.has-child.is-menu-open
  > .wp-block-navigation__submenu-container {
  row-gap: 0 !important;            /* no vertical gaps between rows */
  column-gap: 0 !important;       /* preserve horizontal separation */
  gap: 0 !important;            /* explicit shorthand */
}

/* If a two-column menu is later converted to grid, ensure only horizontal gaps persist */
.mega-menu > .wp-block-navigation-item.two-column-menu.has-child.is-menu-open
  > .wp-block-navigation__submenu-container.grid-no-row-gap {
  row-gap: 0 !important;
  column-gap: 0 !important;
  gap: 0 !important;
}
