.primary-nav .p114-routes-nav {
  position: relative;
  display: flex;
  align-items: center;
  min-inline-size: 0;
  gap: 2px;
  color: inherit;
}
.primary-nav .p114-routes-nav__link {
  display: flex;
  align-items: center;
  min-block-size: 44px;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.primary-nav .p114-routes-nav__link:hover { text-decoration: underline; }
.primary-nav .p114-routes-nav__disclosure > summary {
  display: grid;
  place-items: center;
  inline-size: 30px;
  min-block-size: 44px;
  list-style: none;
  color: inherit;
  cursor: pointer;
}
.p114-routes-nav__disclosure > summary::-webkit-details-marker { display: none; }
.p114-routes-nav__disclosure[open] > summary svg { transform: rotate(180deg); }
.primary-nav .p114-routes-nav__panel {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  z-index: 15;
  inline-size: min(19rem, calc(100vw - 2rem));
  box-sizing: border-box;
  padding: 12px 14px 8px;
  border: 1px solid #d4dfda;
  border-radius: 10px;
  background: #fffefa;
  color: #17332b;
  box-shadow: 0 10px 24px #14292228;
  text-align: start;
}
.p114-routes-nav__panel > strong { font-size: .85em; }
.primary-nav .p114-routes-nav__panel ul { padding: 0; margin: 4px 0 0; list-style: none; }
.primary-nav .p114-routes-nav__panel li { margin: 0; }
.primary-nav .p114-routes-nav__panel a {
  display: block;
  align-content: center;
  box-sizing: border-box;
  min-block-size: 44px;
  padding: 6px 4px;
  color: #17332b;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.primary-nav .p114-routes-nav__panel a:hover { text-decoration: underline; }
.primary-nav .p114-routes-nav__panel a.p114-routes-nav__all { border-block-start: 1px solid #d4dfda; font-weight: 750; text-decoration: underline; }
.primary-nav .p114-routes-nav :is(a, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.primary-nav.is-open .p114-routes-nav { display: block; inline-size: 100%; }
.primary-nav.is-open .p114-routes-nav__link {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 1;
  inline-size: calc(100% - 50px);
  min-block-size: 48px;
  padding-inline: 12px;
}
.primary-nav.is-open .p114-routes-nav__disclosure > summary {
  margin-inline-start: auto;
  inline-size: 48px;
  min-block-size: 48px;
  border-inline-start: 1px solid currentColor;
}
.primary-nav.is-open .p114-routes-nav__panel {
  position: static;
  inline-size: 100%;
  margin-block: 2px 8px;
  box-shadow: none;
}
