/* Keep header translucency on its background only, not on dropdown children. */
header#site-header {
  opacity: 1;
  background-color: rgb(20 31 45 / 90%);
}

.tgit-primary-nav [data-tgit-mega-trigger] {
  gap: .3rem;
}

.tgit-primary-nav__chevron {
  width: .8rem;
  height: .8rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
  transition: transform 180ms ease;
}

.tgit-primary-nav [data-tgit-mega-trigger][aria-expanded="true"] .tgit-primary-nav__chevron {
  transform: rotate(180deg);
}

.tgit-destination-menu {
  --destination-bg: #fdfafa;
  --destination-text: #49373a;
  --destination-muted: #81777a;
  --destination-border: #ddd5d3;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  max-height: calc(100vh - 5rem);
  overflow: hidden;
  color: var(--destination-text);
  background: var(--destination-bg);
  border-top: 1px solid #e9e2e0;
  box-shadow: 0 22px 45px rgb(36 25 27 / 12%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.22, 1, .36, 1), visibility 180ms ease;
  pointer-events: none;
}

.tgit-destination-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.tgit-destination-menu__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.75rem;
  color: var(--destination-muted);
  border-bottom: 1px solid #e9e2e0;
  font-family: var(--tgit-font-sans, "Noto Sans", sans-serif);
  font-size: .72rem;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tgit-destination-menu__columns {
  display: grid;
  grid-template-columns: minmax(285px, 31%) minmax(300px, 31%) minmax(460px, 38%);
  height: min(42rem, calc(100vh - 8.75rem));
  max-width: 1800px;
  margin: 0 auto;
}

.tgit-destination-menu__favourites,
.tgit-destination-menu__regions,
.tgit-destination-menu__products {
  min-width: 0;
  overflow: auto;
  scrollbar-color: #918f8d transparent;
  scrollbar-width: thin;
}

.tgit-destination-menu__favourites,
.tgit-destination-menu__regions {
  padding: 2.6rem clamp(2rem, 4vw, 4.7rem);
  border-right: 1px solid #e3dcda;
}

.tgit-destination-menu__products {
  padding: 2.5rem clamp(1.5rem, 3vw, 3.5rem);
}

.tgit-destination-menu h2 {
  margin: 0 0 2.7rem;
  color: var(--destination-muted);
  font-family: var(--tgit-font-sans, "Noto Sans", sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  line-height: 1.5 !important;
  text-transform: uppercase;
}

.tgit-destination-menu__favourite-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem 1.25rem;
}

header#site-header .tgit-destination-menu__favourite-grid a {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: center;
  padding: .75rem;
  color: #161113 !important;
  background: transparent;
  border: 1px solid var(--destination-border);
  font-family: var(--tgit-font-sans, "Noto Sans", sans-serif);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

header#site-header .tgit-destination-menu__favourite-grid a:hover,
header#site-header .tgit-destination-menu__favourite-grid a:focus-visible {
  color: #fff !important;
  background: #374834;
  border-color: #374834;
}

.tgit-destination-menu__region-list {
  border-top: 1px solid var(--destination-border);
}

.tgit-destination-menu__region {
  display: flex;
  width: 100%;
  min-height: 5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: .9rem 0;
  color: #161113;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--destination-border);
  cursor: pointer;
  font-family: var(--tgit-font-serif, "Noto Serif", serif);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}

.tgit-destination-menu__region svg {
  width: 1.4rem;
  height: 1.4rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  transform: rotate(90deg);
  transition: transform 160ms ease, color 160ms ease;
}

.tgit-destination-menu__region:hover,
.tgit-destination-menu__region:focus-visible,
.tgit-destination-menu__region.is-active {
  color: #b18425;
}

.tgit-destination-menu__region.is-active svg {
  transform: rotate(0);
}

header#site-header .tgit-destination-menu__view-all {
  display: inline-flex;
  margin-top: 2.25rem;
  color: var(--destination-muted) !important;
  border-bottom: 1px solid currentColor;
  font-family: var(--tgit-font-sans, "Noto Sans", sans-serif);
  font-size: .72rem;
  letter-spacing: .14em;
  line-height: 1.65;
  text-decoration: none;
  text-transform: uppercase;
}

.tgit-destination-menu__product-panel[hidden] {
  display: none;
}

.tgit-destination-menu__product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

header#site-header .tgit-destination-card {
  position: relative;
  display: block;
  aspect-ratio: 1.48 / 1;
  min-height: 0;
  overflow: hidden;
  color: #fff !important;
  background: #dad3d1;
  text-decoration: none;
}

.tgit-destination-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgb(18 13 14 / 58%) 100%);
  transition: background-color 200ms ease;
}

.tgit-destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(.22, 1, .36, 1);
}

.tgit-destination-card span {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  font-family: var(--tgit-font-serif, "Noto Serif", serif);
  font-size: clamp(1rem, 1.45vw, 1.55rem);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-wrap: balance;
}

.tgit-destination-card:hover img,
.tgit-destination-card:focus-visible img {
  transform: scale(1.045);
}

.tgit-destination-card:focus-visible,
.tgit-destination-menu a:focus-visible,
.tgit-destination-menu button:focus-visible {
  outline: 2px solid #b18425;
  outline-offset: 3px;
}

.tgit-destination-menu__empty {
  display: grid;
  min-height: 16rem;
  place-content: center;
  gap: 1rem;
  color: var(--destination-muted);
  text-align: center;
}

header#site-header .tgit-destination-menu__empty a {
  color: #49373a !important;
  text-decoration: underline;
  text-underline-offset: .3rem;
}

@media (max-width: 1199px) {
  .tgit-destination-menu__columns {
    grid-template-columns: 28% 29% 43%;
  }

  .tgit-destination-menu__favourites,
  .tgit-destination-menu__regions {
    padding-inline: 2rem;
  }
}

@media (max-width: 1023px) {
  .tgit-destination-menu {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tgit-destination-menu,
  .tgit-destination-card img,
  .tgit-destination-menu__region svg {
    transition: none;
  }
}


.tgit-destination-menu__region {
    background: none !important;
}
