/* Haven Trails global button, review and image-card color lock | 2026-10-02 */
:root{
  --ht-button-green:#3d783e;
  --ht-accent:#c9bfa1;
  --ht-card-white:#fff;
  --ht-review-black:#000;
}

/* Exact tour-card requirements. */
.ht-tour-card-title,
.ht-tour-card-title a,
.ht-tour-from-price,
.ht-tour-from-price span,
.ht-tour-from-price strong,
.ht-tour-from-price small{
  color:#fff!important;
}
.ht-tour-btn,
a.ht-tour-btn,
button.ht-tour-btn{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
.ht-tour-btn :where(span,strong,small,i,svg){
  color:#fff!important;
  fill:currentColor;
}

/* Reviews must remain readable on light review cards. */
[itemprop="reviewBody"],
[itemprop="reviewBody"] *{
  color:#000!important;
}

/* Mobile Plan My Trip button. */
.hvnhdr-mobile-plan,
a.hvnhdr-mobile-plan,
button.hvnhdr-mobile-plan{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
.hvnhdr-mobile-plan *{color:#fff!important}

/* Any legacy inline button using the old brown or khaki becomes Haven green. */
button[style*="#593a03" i],
button[style*="#9c762c" i],
input[type="button"][style*="#593a03" i],
input[type="button"][style*="#9c762c" i],
input[type="submit"][style*="#593a03" i],
input[type="submit"][style*="#9c762c" i],
a[role="button"][style*="#593a03" i],
a[role="button"][style*="#9c762c" i],
[role="button"][style*="#593a03" i],
[role="button"][style*="#9c762c" i],
a[class*="btn"][style*="#593a03" i],
a[class*="btn"][style*="#9c762c" i],
a[class*="button"][style*="#593a03" i],
a[class*="button"][style*="#9c762c" i],
a[class*="cta"][style*="#593a03" i],
a[class*="cta"][style*="#9c762c" i]{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}

/* Common site CTA/button classes that previously used the old brown/khaki palette. */
:where(
  .btn-primary,.btn--primary,.ht-btn--primary,.ht-tour-btn,.gd-book-btn,
  .book-btn,.booking-btn,.quote-btn,.request-btn,.submit-btn,.search-btn,
  .cta-btn,.contact-btn,.plan-btn,.view-btn,.read-more-btn,.more-btn,
  .plan-my-trip-btn,.request-quote-btn,.booking-button,.quote-button,
  .hvnhdr-mobile-plan,.hvnhdr-mega__main-btn,
  .se-tourhero-btn,.tour-cta,.tour-btn,.book-now-btn,.request-quote,
  .enquire-btn,.inquire-btn,.reserve-btn,.send-btn
){
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
:where(
  .btn-primary,.btn--primary,.ht-btn--primary,.ht-tour-btn,.gd-book-btn,
  .book-btn,.booking-btn,.quote-btn,.request-btn,.submit-btn,.search-btn,
  .cta-btn,.contact-btn,.plan-btn,.view-btn,.read-more-btn,.more-btn,
  .plan-my-trip-btn,.request-quote-btn,.booking-button,.quote-button,
  .hvnhdr-mobile-plan,.hvnhdr-mega__main-btn,
  .se-tourhero-btn,.tour-cta,.tour-btn,.book-now-btn,.request-quote,
  .enquire-btn,.inquire-btn,.reserve-btn,.send-btn
) :where(span,strong,small,i,svg){
  color:#fff!important;
  fill:currentColor;
}

/* Active button/tab controls that use the Haven button treatment. */
:where(.ht-tab-btn.active,.showcase-tab.active,.filter-btn.active,.tab-btn.active){
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}
:where(.ht-tab-btn.active,.showcase-tab.active,.filter-btn.active,.tab-btn.active) *{
  color:#fff!important;
}

/* Image-led tour cards: text inside/on imagery remains white. */
:where(.ht-tour-card,.tour-card,.package-card,.trip-card,.route-card,.safari-card,.gd-card)
:where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i,em,[class*="title"],[class*="price"],[class*="from"],[class*="cat"],[class*="eyebrow"],[class*="label"]){
  color:#fff!important;
}
/* Keep the exact tour button green even though it sits inside a tour card. */
:where(.ht-tour-card,.tour-card,.package-card,.trip-card,.route-card,.safari-card,.gd-card)
.ht-tour-btn{
  background:#3d783e!important;
  background-color:#3d783e!important;
  border-color:#3d783e!important;
  color:#fff!important;
}

/* Destination/image-card text is white. */
:where(.dest-card,.destination-card,.park-card,.ht-dest-card,[class*="destination-card"],[class*="image-card"])
:where(h1,h2,h3,h4,h5,h6,p,li,span,a,strong,small,i,em,[class*="name"],[class*="title"],[class*="tag"],[class*="label"],[class*="link"]){
  color:#fff!important;
}

/* New accent replaces the former khaki family. */
:where(.ht-tour-card,.tour-card,.package-card,.trip-card,.route-card,.safari-card,.gd-card,
       .dest-card,.destination-card,.park-card,.ht-dest-card)
:where([class*="badge"],[class*="tag"]){
  border-color:#c9bfa1!important;
}
