/* Locations disclosure follows the approved ink / paper / lime navigation. */
.nav-hd .locations-disclosure {
  position: relative;
  min-width: 0;
}

.nav-hd .locations-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  cursor: pointer;
}

.nav-hd .locations-trigger::-webkit-details-marker { display: none; }
.nav-hd .locations-trigger::marker { content: ""; }
.nav-hd .locations-trigger .chevron { transition: transform .18s ease; }
.nav-hd .locations-disclosure[open] > .locations-trigger .chevron { transform: rotate(180deg); }

.nav-hd .locations-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 12px);
  right: 0;
  width: min(440px, calc(100vw - 32px));
  max-height: min(70vh, 560px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 20px;
  border: 1px solid rgba(23, 24, 21, .2);
  border-radius: 5px;
  background: #f3f2ec;
  color: #171815;
  box-shadow: 5px 5px 0 rgba(23, 24, 21, .16);
}

.nav-hd .locations-group + .locations-group {
  padding-top: 17px;
  margin-top: 16px;
  border-top: 1px solid #d4d4ca;
}

.nav-hd .locations-group h2 {
  margin: 0 0 10px;
  color: #73746a;
  font: 500 9px/1.4 var(--mono, monospace);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nav-hd .locations-group > a {
  display: block;
  padding: 7px 9px;
  border-radius: 3px;
  color: #171815;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease;
}

.nav-hd .locations-group > a:hover,
.nav-hd .locations-group > a:focus-visible {
  background: #e6efcf;
  color: #171815;
}

.nav-hd .all-locations-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 10px;
  margin-top: 15px;
  border-top: 1px solid #d4d4ca;
  color: #171815;
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}

.nav-hd .all-locations-link:hover { background: #c8f25d; }
.nav-hd .locations-trigger:focus-visible,
.nav-hd .locations-menu a:focus-visible {
  outline: 2px solid #648717;
  outline-offset: 3px;
}

@media (max-width: 960px) {
  .nav-hd .locations-disclosure { width: 100%; }
  .nav-hd .locations-trigger { width: 100%; }
  .nav-hd .locations-menu {
    position: static;
    width: 100%;
    max-height: min(48vh, 390px);
    margin-top: 8px;
    padding: 14px;
    box-shadow: none;
  }
}
