/* Shared public navigation. Native details remains usable without JavaScript. */
html:has(.pr-navigation) { scroll-padding-top: 88px; }
.pr-navigation {
  --pr-ink: #293840;
  --pr-link: #1c3f4d;
  --pr-line: #d8cee4;
  --pr-soft: #f2eef9;
  display: block;
  position: sticky;
  top: 0;
  z-index: 40;
  padding: 0 clamp(20px, 5vw, 56px);
  border: 0;
  border-bottom: 1px solid var(--pr-line);
  background: #fff;
  color: var(--pr-ink);
  font: 400 15px/1.5 "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  text-align: left;
  isolation: isolate;
  container: praxis-navigation / inline-size;
}
.pr-navigation *,
.pr-navigation *::before,
.pr-navigation *::after { box-sizing: border-box; }
.pr-navigation .pr-nav-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1120px;
  min-height: 68px;
  margin: 0 auto;
  padding: 0;
  border: 0;
}
.pr-navigation a {
  color: inherit;
  text-decoration: none;
  background: none;
  border: 0;
  box-shadow: none;
}
.pr-navigation a:hover {
  color: var(--pr-link);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.pr-navigation :is(a, summary, button):focus-visible {
  outline: 2px solid var(--pr-link);
  outline-offset: 3px;
}
.pr-navigation .pr-menu {
  position: static;
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.pr-navigation .pr-menu > summary {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  min-width: 108px;
  min-height: 46px;
  padding: 10px 16px;
  margin: 0;
  border: 1px solid var(--pr-line);
  border-radius: 24px;
  list-style: none;
  cursor: pointer;
  background: #fff;
  color: var(--pr-link);
  font: inherit;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  user-select: none;
}
.pr-navigation .pr-menu > summary:hover,
.pr-navigation .pr-menu[open] > summary { background: var(--pr-soft); border-color: #bbb3d9; }
.pr-navigation .pr-menu > summary::-webkit-details-marker { display: none; }
.pr-navigation .pr-menu > summary::marker { content: ""; }
.pr-navigation .pr-menu > summary::after { display: none; content: none; }
.pr-navigation svg { display: block; flex: 0 0 auto; width: 20px; height: 20px; max-width: none; }
.pr-navigation .pr-menu-label-open,
.pr-navigation .pr-menu[open] .pr-menu-label { display: none; }
.pr-navigation .pr-menu[open] .pr-menu-label-open { display: inline; }
.pr-navigation .pr-page-label {
  display: block;
  min-width: 0;
  margin: 0;
  color: #596c75;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .04em;
  text-align: right;
  overflow-wrap: anywhere;
}
.pr-navigation .pr-page-label > span { display: block; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; color: #63737c; }
.pr-navigation .pr-menu-panel {
  display: block;
  position: absolute;
  inset: calc(100% + 1px) 0 auto;
  z-index: 45;
  width: auto;
  max-width: none;
  max-height: min(720px, var(--pr-menu-available-height, 60dvh));
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 24px 28px;
  border: 1px solid var(--pr-line);
  border-radius: 0 0 16px 16px;
  background: #fff;
  box-shadow: 0 18px 42px -24px #17333f66;
  color: var(--pr-ink);
  text-align: left;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.pr-navigation .pr-menu:not([open]) > .pr-menu-panel { display: none; }
.pr-navigation .pr-menu-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 20px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--pr-line);
}
.pr-navigation .pr-menu-heading > span { font-size: 19px; font-weight: 600; line-height: 1.35; }
.pr-navigation .pr-menu-close {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid var(--pr-line);
  border-radius: 24px;
  background: #fff;
  color: var(--pr-link);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  box-shadow: none;
}
.pr-navigation[data-navigation-enhanced] .pr-menu-close { display: inline-flex; }
.pr-navigation .pr-menu-close:hover { background: var(--pr-soft); }
.pr-navigation .pr-menu-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 26px;
}
.pr-navigation .pr-menu-services > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 54px;
  padding: 12px 15px;
  border: 1px solid #d2ded7;
  border-radius: 9px;
  background: var(--pr-soft);
  color: var(--pr-link);
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.pr-navigation .pr-menu-services > a:hover { background: #e6efe9; }
.pr-navigation .pr-menu-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
}
.pr-navigation .pr-menu-group {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.pr-navigation .pr-menu-group h2 {
  margin: 0 0 8px;
  padding: 0 10px;
  border: 0;
  background: none;
  color: #61726b;
  font: 600 11px/1.5 "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pr-navigation ul,
.pr-navigation li { list-style: none; margin: 0; padding: 0; border: 0; }
.pr-navigation .pr-menu-group a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px;
  border-radius: 7px;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.pr-navigation .pr-menu-group a:hover { background: #f6f8f7; }
.pr-navigation a[aria-current]:not([aria-current="false"]) {
  background: var(--pr-soft);
  color: var(--pr-link);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.pr-navigation .pr-menu-service {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  margin-top: 24px;
  padding-top: 10px;
  border-top: 1px solid var(--pr-line);
}
.pr-navigation .pr-menu-service a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: #596c75; }
.pr-navigation :is(.pr-primary, .pr-login),
body:has(.pr-navigation) .travel-section-navigation { display: none !important; }
@media (max-width: 900px) {
  .pr-navigation .pr-menu-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; }
}
@media (max-width: 520px) {
  .pr-navigation { padding-inline: 16px; }
  .pr-navigation .pr-nav-inner { min-height: 64px; gap: 14px; }
  .pr-navigation .pr-page-label { max-width: 55%; font-size: 12px; letter-spacing: 0; }
  .pr-navigation .pr-page-label > span { display: block; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 2px; color: #63737c; }
.pr-navigation .pr-menu-panel { padding: 18px 16px; }
  .pr-navigation .pr-menu-heading { align-items: flex-start; gap: 10px; }
  .pr-navigation .pr-menu-heading > span { padding-top: 10px; font-size: 17px; }
  .pr-navigation .pr-menu-close { padding-inline: 10px; font-size: 12px; }
  .pr-navigation .pr-menu-groups,
  .pr-navigation .pr-menu-services { grid-template-columns: 1fr; }
  .pr-navigation .pr-menu-services { gap: 8px; margin-bottom: 22px; }
  .pr-navigation .pr-menu-services > a { min-height: 48px; }
  .pr-navigation .pr-menu-groups { gap: 22px; }
}
@container praxis-navigation (max-width: 820px) {
  .pr-navigation .pr-menu-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container praxis-navigation (max-width: 480px) {
  .pr-navigation .pr-menu-groups,
  .pr-navigation .pr-menu-services { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.pr-navigation) { scroll-behavior: auto; }
  .pr-navigation * { transition: none; animation: none; scroll-behavior: auto; }
}
@media (forced-colors: active) {
  .pr-navigation :is(summary, .pr-menu-close, .pr-menu-panel, .pr-menu-services > a) { border-color: ButtonText; }
  .pr-navigation a[aria-current]:not([aria-current="false"]) { outline: 1px solid LinkText; outline-offset: -2px; }
}
@media print { .pr-navigation { display: none !important; } }

/* Matching entry buttons on the left and right of the shared navigation. */
.pr-navigation .pr-account-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 11px; flex: 0 0 auto; min-width: 108px; min-height: 46px; padding: 10px 16px; border: 1px solid var(--pr-line); border-radius: 24px; background: #fff; color: var(--pr-link); font: inherit; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.pr-navigation .pr-account-link:hover { background: var(--pr-soft); border-color: #bbb3d9; text-decoration: none; }
.pr-navigation .pr-account-link svg { width: 20px; height: 20px; }
