/* Hide search toggle when mobile menu is open */
body.menu-overlay-open .search-toggle {
  display: none !important;
}

/* Mobile range utilities (max-width: var(--keena-bp-mobile-max))
   Keep selectors minimal; editor gets reversal outline via editor inline CSS. */
/* Responsive utilities moved to responsive-utilities.css */

/* ---- Migrated from header.css (original @media max-width:1024px & max-width:600px) ---- */
/* Shared header responsive styles (applied for mobile range) */
.main-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 91px;
  background: #fff;
  box-shadow: 0 4px 16px -4px rgba(0, 0, 0, .08);
  border-radius: 0;
  position: relative;
  z-index: 100
}

.main-navigation .wp-block-site-logo,
.main-navigation .site-logo,
.main-navigation .search-toggle {
  display: flex;
  align-items: center;
  height: 43px;
  position: absolute
}

.main-navigation nav {
  width: 100%
}

.main-navigation .wp-block-site-logo,
.main-navigation .site-logo {
  order: 1;
  margin-right: 12px;
  flex-shrink: 0
}

.main-navigation .search-toggle {
  order: 2;
  margin-right: 12px;
  flex-shrink: 0;
  z-index: 10000;
}

.main-navigation .keena-icon--dark_list,
.main-navigation .menu-toggle {
  order: 3;
  margin-left: auto;
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center
}

.main-navigation .wp-block-buttons {
  display: none !important
}

/* Narrow (<600/640 legacy) padding adjustments consolidated */
#main-navigation .main-navigation {
  padding-left: 24px;
  padding-right: 24px
}

/* ---- Migrated from utilities.css ellipse shape adjustments ---- */
.is-style-ellipse-top {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1920 1000" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 Q960,60 1920,0 V1000 H0 Z" fill="green"/></svg>') no-repeat 0 0 / 100% 100%;
  mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1920 1000" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path d="M0,0 Q960,60 1920,0 V1000 H0 Z" fill="green"/></svg>') no-repeat 0 0 / 100% 100%;
}

.is-style-ellipse-bottom {
  mask: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><path fill="green" d="M0 0 H100 V90 Q50 100 0 90 Z"/></svg>') no-repeat 0 0 / 100% 100%;
}

/* ---- Migrated from navigation.css (max-width:600px overrides) ---- */
body .search-toggle {
  right: 52px !important
}

/* Hide announcement bar on mobile */
#announcement-bar {
  display: none !important
}

/* Full-viewport mobile menu overlay and scrolling behavior */
body #header,
body .main-navigation,
body .wp-block-navigation__responsive-container,
body .wp-block-navigation__responsive-container.is-menu-open,
body .wp-block-navigation__responsive-dialog {
  box-shadow: none !important;
  border: none !important
}

.wp-block-navigation__responsive-container .wp-block-navigation__container>li>a {
  width: calc(100vw - 48px) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Header should never get auto inner gutters on mobile/tablet */
@media (max-width: 1024px) {

  #header.alignfull>.wp-block-group,
  #header .alignfull>.wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
  }
}

/* ---- Migrated from search.css (<=1024px unified for mobile) ---- */
.search-drawer {
  top: 95px
}

.search-toggle {
  pointer-events: auto;
  z-index: 2201
}

/* ---- Migrated from layout.css (<=1024px) ---- */
body.home main {
  margin-top: 46px !important
}

/* Footer mobile padding and layout */
.wp-block-navigation__responsive-container .wp-block-navigation__submenu-container li li .wp-block-navigation-item__content,
.wp-block-navigation ul li.mobile-menu-parent-link,
.wp-block-navigation__responsive-container .submenu-header,
#footer-copyright-row,
footer .wp-block-group.has-blue-2-background-color {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

footer #footer-company-column {
  margin-top: 40px
}

#footer-copyright-row .wp-block-group.has-blue-3-background-color {
  margin-bottom: 0px;
  align-items: flex-start;
  flex-direction: column
}

#footer-copyright-row .wp-block-group.has-blue-3-background-color :last-child {
  display: block;
  position: relative;
  bottom: 32px;
  left: 120px
}

/* ---- Migrated from base.css (columns mobile) ---- */
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex-basis: 100% !important
}

.wp-block-columns.is-style-reverse-mobile {
  flex-direction: column-reverse !important
}

.entry-content {
  margin-top: 45px !important;
  margin-bottom: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.submenu-active {
  padding: 0;
  position: fixed !important;
  top: 92px !important;
  width: 100vw !important;
  height: calc(100vh - 92px) !important;
  left: 0 !important;
}

/* Mobile-specific layout overrides for the injected mobile parent link */
.wp-block-navigation__responsive-container .mobile-menu-parent-link .wp-block-navigation-item__content.mega-menu-label {
  /* Typography and icon sizes are defined globally in navigation.css. */
  padding: 0px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Non-clickable subhead styling (restored original first item when duplicate) */
.wp-block-navigation__responsive-container .submenu-subhead {
  color: var(--Brand-Gray-6, #4d4d4d);
  font-family: Montserrat, sans-serif;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.52px !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
}

/* Stronger override for mobile layout specifics */
.wp-block-navigation__responsive-container .mobile-menu-parent-link>.wp-block-navigation-item__content.mega-menu-label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Ensure the icon container remains aligned on mobile; base sizing comes from navigation.css */
.wp-block-navigation__responsive-container .mobile-menu-parent-link>.wp-block-navigation-item__content.mega-menu-label .mega-menu-label-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Match the non-clickable header title (.submenu-title) to the mega-menu label visual spacing */
.wp-block-navigation__responsive-container .submenu-header .submenu-title {
  padding: 18px 24px !important;
  margin: 0 !important;
  cursor: default !important;
  /* clearly non-clickable */
}

:where(.wp-block-columns.has-background) {
  padding: 0;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .mobile-menu-parent-link .mega-menu-label,
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  width: calc(100vw - 24px);
  text-align: center;
}

.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .submenu-header .mega-menu-label,
:not(.mobile-menu-parent-link) .mega-menu-label {
  width: 60%
}

.wp-block-navigation-item__label h6 {
  margin: 0;
  padding: 32px 0 0 0 !important;
}

.gform_wrapper .gform_footer input[type="submit"] {
  margin-top: 32px !important;
  width: 100% !important;
}