/* Final accessibility contrast guard for all public pages. */
:root {
  --contrast-dark-title: #f8fafc;
  --contrast-dark-copy: #cbd5e1;
  --contrast-dark-muted: #9fb0c6;
  --contrast-light-title: #111827;
  --contrast-light-copy: #475569;
  --contrast-light-muted: #64748b;
}

body.destination-page main,
body.gallery-page main,
body.contact-page main,
body.tour-page main,
body.invoice-page main,
body.legal-page main {
  color: var(--contrast-light-title) !important;
}

body.destination-page main h1,
body.destination-page main h2,
body.destination-page main h3,
body.destination-page main h4,
body.gallery-page main h1,
body.gallery-page main h2,
body.gallery-page main h3,
body.gallery-page main h4,
body.contact-page main h1,
body.contact-page main h2,
body.contact-page main h3,
body.contact-page main h4,
body.tour-page main h1,
body.tour-page main h2,
body.tour-page main h3,
body.tour-page main h4,
body.invoice-page main h1,
body.invoice-page main h2,
body.invoice-page main h3,
body.legal-page main h1,
body.legal-page main h2,
body.legal-page main h3 {
  color: var(--contrast-light-title) !important;
  -webkit-text-fill-color: var(--contrast-light-title) !important;
  opacity: 1 !important;
}

body.destination-page main p,
body.destination-page main li,
body.destination-page main small,
body.gallery-page main p,
body.gallery-page main li,
body.gallery-page main small,
body.contact-page main p,
body.contact-page main li,
body.contact-page main small,
body.tour-page main p,
body.tour-page main li,
body.tour-page main small,
body.invoice-page main p,
body.invoice-page main li,
body.invoice-page main small,
body.legal-page main p,
body.legal-page main li,
body.legal-page main small {
  color: var(--contrast-light-copy) !important;
  -webkit-text-fill-color: var(--contrast-light-copy) !important;
  opacity: 1 !important;
}

body.home #hero h1,
body.home #hero h2,
body.home #hero h3,
body.home .destination-stories h2,
body.home .destination-stories h3,
body.home #reviews h2,
body.home #reviews h3,
body.home #reviews h4,
body.home .site-footer .brand,
body.home .site-footer h4,
body.tour-page .compact-destination-picker h2,
body.tour-page .compact-destination-picker h3,
body.tour-page .compact-destination-picker strong {
  color: var(--contrast-dark-title) !important;
  -webkit-text-fill-color: var(--contrast-dark-title) !important;
  opacity: 1 !important;
}

body.home #hero p,
body.home #hero li,
body.home .destination-stories p,
body.home .destination-stories small,
body.home #reviews p,
body.home #reviews small,
body.home .site-footer p,
body.home .site-footer a,
body.tour-page .compact-destination-picker p,
body.tour-page .compact-destination-picker small {
  color: var(--contrast-dark-copy) !important;
  -webkit-text-fill-color: var(--contrast-dark-copy) !important;
  opacity: 1 !important;
}

.language-modal-panel,
.language-modal-panel h1,
.language-modal-panel h2,
.language-modal-panel h3,
.language-modal-panel strong,
.language-modal-panel label {
  color: var(--contrast-light-title) !important;
  -webkit-text-fill-color: var(--contrast-light-title) !important;
  opacity: 1 !important;
}

.language-modal-panel p,
.language-modal-panel small,
.language-option small,
.currency-option small {
  color: var(--contrast-light-muted) !important;
  -webkit-text-fill-color: var(--contrast-light-muted) !important;
  opacity: 1 !important;
}

body:not(.admin-shell-body) input,
body:not(.admin-shell-body) select,
body:not(.admin-shell-body) textarea {
  opacity: 1 !important;
}

body:not(.admin-shell-body) input::placeholder,
body:not(.admin-shell-body) textarea::placeholder {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  opacity: 1 !important;
}

.btn,
.button,
.nav-cta,
.language-trigger,
.menu-toggle {
  opacity: 1 !important;
}

.site-footer {
  opacity: 1 !important;
}

body.tour-page .tour-detail-hero-meta span {
  border: 1px solid #c7d2e2 !important;
  background: #eef4fb !important;
  color: #243b5a !important;
  -webkit-text-fill-color: #243b5a !important;
  opacity: 1 !important;
  font-weight: 750 !important;
}

body.home .hero-stats > div,
body.home .premium-trust-strip > div {
  border-color: rgba(255,255,255,.2) !important;
  background: rgba(7,18,38,.78) !important;
  opacity: 1 !important;
}

body.home .hero-stats strong,
body.home .premium-trust-strip strong {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  opacity: 1 !important;
}

body.home .hero-stats span,
body.home .premium-trust-strip span {
  color: #cbd5e1 !important;
  -webkit-text-fill-color: #cbd5e1 !important;
  opacity: 1 !important;
}

.whatsapp-float,
.tour-whatsapp-float {
  color: #052e1a !important;
  -webkit-text-fill-color: #052e1a !important;
  font-weight: 850 !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.home .destination-stories .destination-transition-heading h2,
  body.home #reviews .review-summary h2,
  body.home #reviews .review-summary h2 span {
    text-shadow: 0 3px 22px rgba(0,0,0,.38) !important;
  }
}
