/* GTGF v16.51 — site contrast closure and selective premium refinement. */
html body.gtgf-v14.gtgf-v1651 {
  --v1651-dark: #080a08;
  --v1651-dark-raised: #111512;
  --v1651-dark-raised-2: #171c18;
  --v1651-light: #f3f0ea;
  --v1651-light-raised: #fbfaf7;
  --v1651-line-dark: #465047;
  --v1651-line-light: #c6beb2;
  --v1651-text-light: #f8faf7;
  --v1651-copy-dark: #d4dad4;
  --v1651-muted-dark: #bdc6be;
  --v1651-ink: #141512;
  --v1651-copy: #3f423d;
  --v1651-orange-bright: #ff8a50;
  --v1651-orange-ink: #963100;
  --v1651-shadow-light: 0 24px 64px rgba(34, 27, 18, .12), 0 2px 8px rgba(34, 27, 18, .06);
  --v1651-shadow-dark: 0 28px 76px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .025);
}

/* Homepage: preserve the calm composition while keeping support copy readable. */
html body.gtgf-v14.gtgf-v1651.home .gtgf-home45__destinations .gtgf-home45__section-head.is-dark > span {
  color: var(--v1651-copy-dark) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651.home .gtgf-home45__resume {
  border-color: var(--v1651-line-light) !important;
  box-shadow: var(--v1651-shadow-light) !important;
}
html body.gtgf-v14.gtgf-v1651.home .gtgf-home45__resume p {
  color: #625d57 !important;
  opacity: 1 !important;
}

/* About: restore the four-step route as an intentional dark editorial chapter. */
html body.gtgf-v14.gtgf-v1651 .v142-about-route {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border-block: 1px solid var(--v1651-line-dark) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(255, 90, 0, .16), transparent 30%),
    linear-gradient(145deg, #080a08 0%, #0d110e 64%, #15100d 100%) !important;
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0 49.92%, rgba(255,255,255,.035) 50%, transparent 50.08%);
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route :is(h2, h3) {
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route .v14-eyebrow,
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article > span {
  color: var(--v1651-orange-bright) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow {
  gap: 12px !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article {
  position: relative !important;
  border: 1px solid var(--v1651-line-dark) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(22, 27, 23, .96), rgba(12, 15, 13, .98)) !important;
  box-shadow: var(--v1651-shadow-dark) !important;
  color: var(--v1651-text-light) !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 18px 0 0 18px;
  background: linear-gradient(180deg, var(--v1651-orange-bright), rgba(255, 90, 0, .2));
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article:hover {
  transform: translateY(-3px) !important;
  border-color: #68736a !important;
  background: linear-gradient(145deg, #1a201b, #101411) !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article p {
  color: var(--v1651-copy-dark) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-project .v14-btn.v14-btn--outline {
  border-color: #899188 !important;
  background: rgba(255, 255, 255, .045) !important;
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .v142-about-project .v14-btn.v14-btn--outline:hover,
html body.gtgf-v14.gtgf-v1651 .v142-about-project .v14-btn.v14-btn--outline:focus-visible {
  border-color: var(--v1651-orange-bright) !important;
  background: rgba(255, 90, 0, .12) !important;
  color: #ffffff !important;
}

/* Performance Week: make every calendar state legible and tactile. */
html body.gtgf-v14.gtgf-v1651 .booking-calendar-wrap {
  border: 1px solid var(--v1651-line-dark) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #111512, #0c0f0d) !important;
  box-shadow: var(--v1651-shadow-dark) !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar-wrap :is(.booking-calendar__step, .booking-calendar__weekdays span, .booking-date-status) {
  color: var(--v1651-muted-dark) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar__header h3 {
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar__header button {
  border-color: var(--v1651-line-dark) !important;
  background: var(--v1651-dark-raised) !important;
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar button {
  border: 1px solid #4d554f !important;
  border-radius: 8px !important;
  background: #303433 !important;
  color: #e2e7e2 !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar button:disabled,
html body.gtgf-v14.gtgf-v1651 .booking-calendar button[aria-disabled="true"] {
  border-color: #4d554f !important;
  background: #303433 !important;
  color: #e2e7e2 !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar button.is-season-closed {
  border-color: #3e4540 !important;
  background: repeating-linear-gradient(-45deg, #292d2b, #292d2b 5px, #242826 5px, #242826 10px) !important;
  color: #c7cec8 !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar button.is-requestable {
  border-color: #d85718 !important;
  background: #3a2116 !important;
  color: #fff4ed !important;
}
html body.gtgf-v14.gtgf-v1651 .booking-calendar button:is(.is-requestable:hover, .is-requestable:focus-visible, .is-selected) {
  border-color: #ff9a67 !important;
  background: #ff6a1a !important;
  color: #160a04 !important;
}

/* Events: stronger badges, active filters and card grouping on light surfaces. */
html body.gtgf-v14.gtgf-v1651 .v1588-major-group {
  border: 1px solid var(--v1651-line-light) !important;
  border-radius: 20px !important;
  background: var(--v1651-light-raised) !important;
  box-shadow: var(--v1651-shadow-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .v1588-major-item {
  border-color: #c8c0b4 !important;
  background: #ffffff !important;
}
html body.gtgf-v14.gtgf-v1651 .v1588-major-group .v1588-major-badge,
html body.gtgf-v14.gtgf-v1651 .event-card .v1588-major-badge {
  border: 1px solid #d8a17e !important;
  background: #fff0e6 !important;
  color: var(--v1651-orange-ink) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .v1587-filter-tabs button.is-active,
html body.gtgf-v14.gtgf-v1651 .v1587-filter-tabs button[aria-selected="true"] {
  border-color: #ff7a32 !important;
  background: #ff6a1a !important;
  color: #160a04 !important;
}
html body.gtgf-v14.gtgf-v1651 .v1587-filter-tabs button.is-active :is(span, small),
html body.gtgf-v14.gtgf-v1651 .v1587-filter-tabs button[aria-selected="true"] :is(span, small) {
  color: #160a04 !important;
  opacity: 1 !important;
}

/* Knowledge: active choices must remain visible inside the dark filter panel. */
html body.gtgf-v14.gtgf-v1651 .v156-filter-panel {
  border: 1px solid var(--v1651-line-dark) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #101411, #090b09) !important;
  box-shadow: var(--v1651-shadow-dark) !important;
}
html body.gtgf-v14.gtgf-v1651 .v156-filter-group > strong {
  color: var(--v1651-text-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .v156-filter-group a {
  border-color: #485149 !important;
  background: #151916 !important;
  color: #d8ded8 !important;
}
html body.gtgf-v14.gtgf-v1651 .v156-filter-group a:is(:hover, :focus-visible, .is-active),
html body.gtgf-v14.gtgf-v1651 .v156-filter-group a[aria-current="page"] {
  border-color: #ff7a32 !important;
  background: #25160f !important;
  color: var(--v1651-orange-bright) !important;
  opacity: 1 !important;
}

/* Nutrition and account surfaces: clarify support text and add restrained depth. */
html body.gtgf-v14.gtgf-v1651 .v154-fuel-check {
  border-color: var(--v1651-line-dark) !important;
  box-shadow: var(--v1651-shadow-dark) !important;
}
html body.gtgf-v14.gtgf-v1651 .v154-fuel-check p,
html body.gtgf-v14.gtgf-v1651 .v154-fuel-check label > span,
html body.gtgf-v14.gtgf-v1651 .v154-fuel-check__result span {
  color: var(--v1651-copy-dark) !important;
  opacity: 1 !important;
}
html body.gtgf-v14.gtgf-v1651 .login-account-card,
html body.gtgf-v14.gtgf-v1651 .login-section .planner-auth-card {
  border: 1px solid var(--v1651-line-light) !important;
  border-radius: 20px !important;
  box-shadow: var(--v1651-shadow-light) !important;
}
html body.gtgf-v14.gtgf-v1651 .login-section .planner-auth-card:not(.planner-auth-card--orange) {
  border-color: var(--v1651-line-dark) !important;
  box-shadow: var(--v1651-shadow-dark) !important;
}

/* Clear keyboard focus on every corrected surface. */
html body.gtgf-v14.gtgf-v1651 :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--v1651-orange-bright) !important;
  outline-offset: 3px !important;
}

@media (max-width: 760px) {
  html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow { gap: 10px !important; }
  html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article,
  html body.gtgf-v14.gtgf-v1651 .v1588-major-group,
  html body.gtgf-v14.gtgf-v1651 .booking-calendar-wrap,
  html body.gtgf-v14.gtgf-v1651 .login-account-card,
  html body.gtgf-v14.gtgf-v1651 .login-section .planner-auth-card { border-radius: 15px !important; }
  html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article:hover { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html body.gtgf-v14.gtgf-v1651 .v142-about-route__flow article { transition: none !important; }
}
