/* Managed navigation keeps the existing seven-language breakpoints and every link. */
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: var(--nav-available-height, 50dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
}
.site-header #main-nav.navigation-managed .nav-dropdown {
  display: flex;
  align-items: center;
}
.site-header #main-nav.navigation-managed .nav-dropdown > a > span {
  display: none;
}
.site-header #main-nav.navigation-managed .nav-dropdown-toggle {
  flex: 0 0 28px;
  width: 28px;
  min-height: 32px;
  padding: 4px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.site-header #main-nav.navigation-managed .nav-dropdown-toggle:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.site-header #main-nav.navigation-managed .nav-dropdown-toggle[aria-expanded="true"] > span {
  display: inline-block;
  transform: rotate(180deg);
}
.site-header #main-nav.navigation-managed .dropdown-panel {
  display: none;
  visibility: hidden;
  opacity: 0;
  transform: none;
  box-sizing: border-box;
  transition: opacity 0.15s ease;
}
.site-header #main-nav.navigation-managed .is-dropdown-open > .dropdown-panel {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: none;
}
.site-header #main-nav.navigation-managed[data-nav-mode="inline"] .dropdown-panel {
  top: 100%;
  left: var(--nav-panel-offset, -20px);
  right: auto;
  width: min(352px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: var(--nav-submenu-height, 60dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.site-header #main-nav.navigation-managed .dropdown-panel a,
.site-header #main-nav.navigation-managed .dropdown-panel a > span:last-child {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] .nav-dropdown {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  height: auto;
  min-width: 0;
  align-items: start;
}
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] .nav-inner > a {
  min-width: 0;
  height: auto;
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] .nav-dropdown > a {
  min-width: 0;
  height: auto;
  min-height: 44px;
  white-space: normal;
}
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] .nav-dropdown-toggle {
  width: 44px;
  min-height: 44px;
}
.site-header #main-nav.navigation-managed[data-nav-mode="drawer"] .dropdown-panel {
  position: static;
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  max-height: none;
}
.contact-ribbon .topline-map-menu {
  position: fixed;
  top: var(--map-panel-top, 12px);
  left: var(--map-panel-left, 12px);
  right: auto;
  bottom: auto;
  width: var(--map-panel-width, min(370px, calc(100vw - 24px)));
  max-height: var(--map-panel-height, calc(100dvh - 24px));
  margin-top: 0;
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* Keep an open menu above the floating contact rail, without removing the rail. */
body:has(#main-nav.is-open,.nav-dropdown.is-dropdown-open,.topline-locations[open]) .float-contact {
  z-index: 30;
}
