/*
 * Single-source navigation.
 *
 * The anchor is one native <details> control at every viewport. The menu
 * markup is emitted once, so desktop and mobile cannot drift into duplicate
 * navigation trees.
 */

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.anchor-menu {
  position: relative;
  margin-left: auto;
}

.anchor-menu > summary.menu-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  cursor: pointer;
  list-style: none;
}

.anchor-menu > summary.menu-trigger::-webkit-details-marker {
  display: none;
}

.anchor-menu > summary.menu-trigger::marker {
  content: "";
}

.anchor-menu > summary.menu-trigger:hover {
  color: var(--link);
}

.site-header--overlay .anchor-menu > summary.menu-trigger {
  color: var(--ps-gold);
}

.site-header--overlay .anchor-menu > summary.menu-trigger:hover,
.site-header--overlay .anchor-menu > summary.menu-trigger:focus-visible {
  color: var(--parchment);
}

.anchor-menu .anchor-menu-panel {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.35rem);
}

.anchor-menu:not([open]) .anchor-menu-panel {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.35rem);
}

.anchor-menu[open] .anchor-menu-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@media (max-width: 64rem) {
  .header-inner {
    align-items: center;
  }

  .anchor-menu .anchor-menu-panel {
    display: block;
    top: calc(100% + 0.45rem);
    right: 0;
    min-width: min(18rem, calc(100vw - 1.5rem));
  }
}

@media (max-width: 25rem) {
  .anchor-menu .anchor-menu-panel {
    position: fixed;
    top: 4.8rem;
    right: 0.75rem;
    left: 0.75rem;
    min-width: 0;
  }
}
