/* Wild Gaze – WCAG 2.1 AA contrast system (terminal override layer) */

:root {
  --wg-a11y-body: #1e293b;
  --wg-a11y-heading: #0f172a;
  --wg-a11y-meta: #334155;
  --wg-a11y-on-image: #ffffff;
  --wg-a11y-text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --wg-a11y-image-scrim: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
  --wg-a11y-text-pad: 12px 16px;
}

/* ── 1. Light-on-dark: text over photography ───────────────── */
.wg-page-header .wg-ph-inner,
.wg-page-header .wg-ph-inner a,
.wg-page-header .wg-ph-badge,
.wg-page-header .wg-ph-badge *,
.wg-home-hero .wg-home-hero-content,
.wg-home-hero .wg-home-hero-content *:not(.wg-gold),
.wg-home-hero-text-backdrop,
.wg-home-hero-text-backdrop *:not(.wg-gold),
.wg-tz-hero-inner,
.wg-tz-hero-inner *,
[class*="-hero-overlay"] h1,
[class*="-hero-overlay"] h2,
[class*="-hero-overlay"] p,
[class*="-hero-overlay"] span,
[class*="-hero-overlay"] a,
.wg-cj-parks,
.wg-tz-parks,
.wg-cj-img-wrap > .wg-tag,
.wg-tz-img-wrap > .wg-tag,
.wg-pop-itin-img .wg-pop-itin-dur,
.wg-pop-itin-img .wg-pop-itin-popular,
.wg-img-wrap > .wg-tag:not(.wg-chip) {
  color: var(--wg-a11y-on-image) !important;
  text-shadow: var(--wg-a11y-text-shadow);
}

.wg-home-hero .wg-home-hero-title .wg-gold {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
  background: linear-gradient(135deg, #f5d060 0%, #e8b020 50%, #b8941a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
}

.wg-page-header .wg-ph-inner svg,
.wg-home-hero .wg-home-hero-content svg,
.wg-cj-parks svg,
.wg-tz-parks svg {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: currentColor !important;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.55));
}

/* Localized scrims behind hero / carousel image copy */
.wg-page-header .wg-ph-bg::after,
.wg-home-hero-slide::after,
.wg-tz-hero-bg::after,
.wg-cj-img-wrap::before,
.wg-tz-img-wrap::before,
.wg-pop-itin-img::before,
.wg-tzh-img-wrap::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  height: 45%;
  z-index: 1;
  pointer-events: none;
  background: var(--wg-a11y-image-scrim) !important;
  mix-blend-mode: normal !important;
}

.wg-page-header .wg-ph-bg::after {
  height: 100%;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.35) 38%,
    rgba(0, 0, 0, 0.08) 62%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
}

/* Badges on images keep their pill backgrounds; ensure label contrast */
.wg-cj-badge,
.wg-tz-badge,
.wg-cj-dur,
.wg-tz-dur,
.wg-pop-itin-dur,
.wg-pop-itin-popular {
  text-shadow: none !important;
}

/* ── 2. Dark-on-light: card bodies & prose blocks ──────────── */
.wg-card .wg-body,
.wg-card .wg-desc,
.wg-cj-body,
.wg-cj-desc,
.wg-cj-features li,
.wg-pop-itin-body,
.wg-pop-itin-desc,
.wg-tz-body,
.wg-tz-desc,
.wg-tzh-body,
.wg-dest-prose,
.wg-dest-prose p,
.wg-dest-intro-text,
.wg-zan-intro-text,
.wg-zan-intro-points li,
.wg-zan-stone-lead,
.wg-zan-hi-text,
.wg-zan-section-sub,
.wg-zan-prac-card-text,
.wg-zan-exp-desc,
.wg-pemba-intro-text,
.wg-pemba-stone-lead,
.wg-pemba-hi-text,
.wg-pemba-section-sub,
.wg-pemba-prac-card-text,
.wg-pemba-exp-desc,
.wg-accom-intro,
.wg-accom-hero-desc,
.wg-region-table td,
.wg-tier-text,
.wg-faq-answer,
.wg-terms-body,
.wg-book-form-card label,
.wg-itin-day-text,
.wg-birding-park-text,
.wg-pop-detail-desc,
.wg-shortcut-text,
[class*="-subtitle"]:not(.wg-page-header *):not(.wg-home-hero *),
.wg-subtitle:not(.wg-page-header *):not(.wg-home-hero *) {
  color: var(--wg-a11y-body) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

.wg-card-nameplate .wg-card-title,
.wg-card-nameplate .wg-card-title a,
.wg-cj-title,
.wg-pop-itin-name,
.wg-tz-card-title,
.wg-accom-hero-title,
.wg-destinations .wg-title,
.wg-destinations .wg-card-title,
.wg-region-heading,
.wg-accom-heading,
.wg-faq-question,
.wg-terms-item h3,
.wg-itin-day-title,
.wg-birding-park-name,
/* Dark-surface headings excluded – never force slate-blue (#0f172a) on dark/photo bands */
h1:not(.wg-page-header *):not(.wg-home-hero *):not(.wg-search-overlay *):not(.mobile-drawer *):not(.wg-site-footer *):not(.wg-tz-hero *):not(.wg-tz-intro *):not(.wg-tz-cta-bar *):not(.wg-pemba-hero *):not(.wg-rental-book-side *):not(.wg-rental-cta *):not(.wg-about-promise *):not(.wg-about-cta *):not(.wg-about-slideshow *):not(.wg-about-stats *):not(.wg-about-team-overlay *):not(.wg-about-director *):not(.wg-dest-book *):not(.wg-kilipromo *):not(.wg-kili-hero *):not(.wg-kili-intro *):not(.wg-kili-routes *):not([class*="-hero-content"] *):not([class*="-hero-inner"] *),
h2:not(.wg-page-header *):not(.wg-home-hero *):not(.wg-search-overlay *):not(.mobile-drawer *):not(.wg-site-footer *):not(.wg-tz-hero *):not(.wg-tz-intro *):not(.wg-tz-cta-bar *):not(.wg-pemba-hero *):not(.wg-rental-book-side *):not(.wg-rental-cta *):not(.wg-about-promise *):not(.wg-about-cta *):not(.wg-about-slideshow *):not(.wg-about-stats *):not(.wg-about-team-overlay *):not(.wg-about-director *):not(.wg-dest-book *):not(.wg-kilipromo *):not(.wg-kili-hero *):not(.wg-kili-intro *):not(.wg-kili-routes *):not([class*="-hero-content"] *):not([class*="-hero-inner"] *),
h3:not(.wg-page-header *):not(.wg-home-hero *):not(.wg-search-overlay *):not(.mobile-drawer *):not(.wg-site-footer *):not(.wg-tz-hero *):not(.wg-tz-intro *):not(.wg-tz-cta-bar *):not(.wg-pemba-hero *):not(.wg-rental-book-side *):not(.wg-rental-cta *):not(.wg-about-promise *):not(.wg-about-cta *):not(.wg-about-slideshow *):not(.wg-about-stats *):not(.wg-about-team-overlay *):not(.wg-about-tab-panel *):not(.wg-about-director *):not(.wg-dest-book *):not(.wg-kilipromo *):not(.wg-kili-hero *):not(.wg-kili-intro *):not(.wg-kili-routes *):not([class*="-hero-content"] *):not([class*="-hero-inner"] *) {
  color: var(--wg-a11y-heading) !important;
  font-weight: 700 !important;
}

.wg-card-nameplate .wg-card-meta,
.wg-card-meta:not(.wg-page-header *):not(.wg-img-wrap *),
.wg-cj-highlight,
.wg-pop-itin-label,
.wg-tz-highlight,
.wg-accom-hero-meta,
.wg-accom-grid .wg-card-meta,
.wg-destinations .wg-card-meta,
.wg-dest-intro-label,
.wg-eyebrow:not(.wg-page-header *):not(.wg-home-hero *):not(.wg-search-overlay *) {
  color: var(--wg-a11y-meta) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
}

/* Dark UI chrome – light text on dark panels (search overlay, mobile nav) */
.wg-search-overlay .wg-search-title,
.wg-search-overlay h2 {
  color: #f5eed8 !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}

.wg-search-overlay .wg-search-eyebrow {
  color: var(--gold-lt, #e8b020) !important;
  text-shadow: none !important;
}

.wg-search-overlay .wg-search-hint,
.wg-search-overlay .wg-search-empty {
  color: rgba(255, 255, 255, 0.55) !important;
  text-shadow: none !important;
  font-weight: 400 !important;
}

/* Chips / tags on light surfaces */
.wg-chip,
.wg-tier-chip,
.wg-dest-tags .wg-tag {
  color: #5c4a2a !important;
  font-weight: 600 !important;
}

/* ── 3. Icon + label pairs ─────────────────────────────────── */
.wg-card-footer,
.wg-card-explore,
.wg-ph-cta,
.wg-dest-book-row,
.wg-itin-inc-item,
.wg-route-link,
.wg-book-trust-item {
  padding: var(--wg-a11y-text-pad);
}

.wg-card-footer svg,
.wg-card-explore svg,
.wg-ph-cta svg,
.wg-dest-book-row svg,
.wg-itin-inc-item svg,
.wg-book-trust-item svg,
.wg-cj-dur svg,
.wg-tz-dur svg,
[class*="-meta"] svg,
[class*="-meta"] i {
  color: currentColor !important;
  stroke: currentColor !important;
}

/* ── 4. Static chrome – never scroll-hidden ────────────────── */
.navbar-wrap,
.navbar-wrap *:not(.dropdown-panel):not(.dropdown-panel *):not(.mobile-drawer):not(.mobile-drawer *):not(.mobile-backdrop),
.wg-site-footer,
.wg-site-footer *,
.wg-search-overlay.open,
.wg-search-overlay.open *,
.mobile-drawer.open,
.mobile-drawer.open *,
.wg-book-form,
.wg-book-form *,
#booking,
#booking *,
.wg-wa-float,
.wg-floating-cta {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Dark panels / photo bands – force white text (never slate-blue #0f172a on dark) */
.wg-rental-cta,
.wg-rental-cta *,
.wg-rental-book-side,
.wg-rental-book-side *,
.wg-about-cta,
.wg-about-cta *:not(.wg-about-btn--light):not(.wg-about-btn--light *),
.wg-about-promise,
.wg-about-promise *,
.wg-about-stats,
.wg-about-stats *:not([class*="wg-reveal"]):not(.wg-sr),
.wg-about-team-overlay,
.wg-about-team-overlay *:not([class*="wg-reveal"]):not(.wg-sr),
.wg-about-mosaic-cap,
.wg-about-gallery-cap,
.wg-about-director-badge,
.wg-about-director-badge *,
.wg-about-bts-label,
.wg-about-bts-label *,
.wg-about-slideshow,
.wg-about-slideshow *,
.wg-tz-hero,
.wg-tz-hero *:not(.wg-gold),
.wg-tz-intro,
.wg-tz-intro *:not(.wg-gold),
.wg-tz-cta-bar,
.wg-tz-cta-bar *:not(.wg-gold),
.wg-tz-hero-title,
.wg-tz-intro-heading,
.wg-tz-cta-bar-title,
.wg-tz-sec-title,
.wg-pemba-hero,
.wg-pemba-hero *:not(.wg-gold),
.wg-site-footer,
.wg-site-footer *:not(a):not(button),
[class*="-cta-banner"],
[class*="-cta-banner"] *,
[class*="-hero-content"]:not(.wg-card *),
[class*="-hero-content"]:not(.wg-card *) *:not(.wg-gold),
.wg-home-hero .wg-home-btn-outline,
.wg-home-hero .wg-home-btn-outline * {
  color: #ffffff !important;
  text-shadow: var(--wg-a11y-text-shadow);
}

.wg-zan-cta .wg-zan-cta-btn,
.wg-zan-cta .wg-zan-cta-btn svg,
.wg-zan-cta .wg-zan-cta-btn-outline,
.wg-pemba-cta .wg-pemba-cta-btn,
.wg-pemba-cta .wg-pemba-cta-btn svg,
.wg-pemba-cta .wg-pemba-cta-btn-outline {
  text-shadow: none !important;
}

.wg-zan-cta .wg-zan-cta-btn,
.wg-zan-cta .wg-zan-cta-btn svg {
  color: var(--dark, #1a1408) !important;
}

.wg-zan-cta .wg-zan-cta-btn-outline {
  color: var(--gold, #b8941a) !important;
}

.wg-pemba-cta .wg-pemba-cta-btn,
.wg-pemba-cta .wg-pemba-cta-btn svg {
  color: var(--dark, #1a1408) !important;
}

.wg-pemba-cta .wg-pemba-cta-btn-outline {
  color: var(--gold, #b8941a) !important;
}

/* Destination book cards are light surfaces – no glow/shadow text */
.wg-dest-book,
.wg-dest-book * {
  text-shadow: none !important;
}

/* About leadership band – white text, no glow */
.wg-about-director,
.wg-about-director *:not(.wg-gold) {
  color: #ffffff !important;
  text-shadow: none !important;
}

.wg-about-director .wg-about-title em,
.wg-about-director .wg-about-director-role,
.wg-about-director .wg-about-director-badge,
.wg-about-director .wg-about-director-badge *,
.wg-about-director .wg-about-social-link,
.wg-about-director .wg-about-social-link *,
.wg-about-director .wg-about-leader-initials,
.wg-about-director .wg-about-eyebrow,
.wg-about-director .wg-about-eyebrow * {
  color: var(--gold-lt, #e8b020) !important;
  text-shadow: none !important;
}

.wg-about-director .wg-about-lead,
.wg-about-director .wg-about-director-bio {
  color: rgba(255, 255, 255, 0.78) !important;
}

.wg-rental-cta-text,
.wg-rental-book-side-text,
.wg-rental-book-perks li,
.wg-about-cta p,
.wg-about-promise .wg-about-lead,
.wg-about-tab-panel p,
.wg-about-tab-panel li,
.wg-about-stat-lbl,
.wg-tz-intro-body p,
.wg-tz-hero-sub,
.wg-tz-stat .lbl {
  color: rgba(255, 255, 255, 0.82) !important;
}

.wg-about-promise .wg-about-title,
.wg-about-promise .wg-about-title em,
.wg-rental-cta-title,
.wg-rental-book-side-title,
.wg-about-cta h2,
.wg-about-tab-panel h3,
.wg-about-team-overlay h3,
.wg-about-slide-caption h2,
.wg-about-stat-val,
.wg-tz-hero-title,
.wg-tz-intro-heading,
.wg-tz-cta-bar-title,
.wg-tz-sec-title,
h1.wg-tz-hero-title,
h2.wg-tz-intro-heading,
.wg-kilipromo-title,
.wg-kili-hero-title,
.wg-kili-intro-heading,
.wg-kili-sec-title,
h2.wg-kilipromo-title,
h1.wg-kili-hero-title,
h2.wg-kili-intro-heading,
h2.wg-kili-sec-title {
  color: #ffffff !important;
  text-shadow: none !important;
}

.wg-kilipromo-text,
.wg-kili-hero-sub,
.wg-kili-intro-body p,
.wg-kili-sec-sub {
  color: rgba(255, 255, 255, 0.82) !important;
  text-shadow: none !important;
}

/* Gold accents stay gold on dark surfaces */
.wg-tz-hero .wg-gold,
.wg-tz-intro .wg-gold,
.wg-tz-cta-bar .wg-gold,
.wg-tz-hero-title .wg-gold,
.wg-tz-intro-heading .wg-gold,
.wg-tz-cta-bar-title .wg-gold,
.wg-tz-sec-title .wg-gold,
.wg-tz-stat .val,
.wg-tz-intro-eyebrow,
.wg-tz-hero-eyebrow,
.wg-kilipromo-title .wg-gold,
.wg-kili-hero-title .wg-gold,
.wg-kili-intro-heading .wg-gold,
.wg-kili-sec-title .wg-gold,
.wg-kilipromo-eyebrow,
.wg-kili-hero-eyebrow,
.wg-kili-intro-eyebrow,
.wg-kili-sec-eyebrow {
  color: var(--gold-lt, #e8b020) !important;
  -webkit-text-fill-color: var(--gold-lt, #e8b020);
  text-shadow: none !important;
}

.wg-about-btn--glass,
.wg-about-btn--glass *,
.wg-about-btn--ghost,
.wg-about-btn--ghost *,
.wg-about-btn--light,
.wg-about-btn--light * {
  color: #ffffff !important;
  text-shadow: none !important;
}

.wg-about-tab:not(.is-active) {
  color: rgba(255, 255, 255, 0.6) !important;
  text-shadow: none !important;
}

.wg-about-tab.is-active,
.wg-about-tab.is-active * {
  color: #ffffff !important;
  text-shadow: none !important;
}
