/*
 * Wildlens brochure palette — v4.9.1
 * Applies the approved brochure colours without changing content or layout.
 * Loaded last to harmonise legacy Tailwind and custom-theme colour rules.
 */
:root {
  --wl-primary: #0E6B50;
  --wl-primary-dark: #0B3028;
  --wl-gold: #D38B17;
  --wl-gold-light: #E6B45A;
  --wl-earth: #8B6A43;
  --wl-ivory: #F7F2E8;
  --wl-soft-white: #FCFBF8;
  --wl-charcoal: #262626;
  --wl-copy: #555555;
  --wl-muted-copy: #6F6A61;
  --wl-sand: #D9C7A5;
  --wl-stone: #B9A38C;
  --wl-border: #EFE6D8;
  --wl-deep-surface: #11252A;
}

/* Core surfaces and copy */
body { background-color: var(--wl-soft-white); color: var(--wl-copy); }
.wl-homepage,
.wl-destinations-page,
.wl-journal-page,
.wl-article-page,
.wl-about-page,
.wl-contact-page,
.wl-support-page,
.wl-sitemap-page { color: var(--wl-copy); }

/* Light editorial sections */
.wl-homepage .wl-home-premium-section--ivory,
.wl-homepage .wl-home-tours-showcase,
.wl-homepage .wl-home-intro,
.wl-destinations-page,
.wl-journal-page {
  background-color: var(--wl-ivory);
}

/* Brand headings and copy on light surfaces */
.wl-homepage .wl-home-premium-section:not(.wl-home-premium-section--night) h1,
.wl-homepage .wl-home-premium-section:not(.wl-home-premium-section--night) h2,
.wl-homepage .wl-home-premium-section:not(.wl-home-premium-section--night) h3,
.wl-homepage .wl-home-premium-section:not(.wl-home-premium-section--night) h4,
.wl-about-page h1, .wl-about-page h2, .wl-about-page h3,
.wl-contact-page h1, .wl-contact-page h2, .wl-contact-page h3,
.wl-support-page h1, .wl-support-page h2, .wl-support-page h3,
.wl-sitemap-page h1, .wl-sitemap-page h2, .wl-sitemap-page h3 {
  color: var(--wl-charcoal) !important;
}

.wl-homepage .wl-home-premium-section:not(.wl-home-premium-section--night) p,
.wl-about-page p,
.wl-contact-page p,
.wl-support-page p,
.wl-sitemap-page p {
  color: var(--wl-copy);
}

/* Eyebrows and dividers */
.wl-brand-eyebrow,
.wl-homepage [class*="eyebrow"],
.wl-about-page [class*="eyebrow"],
.wl-contact-page [class*="eyebrow"],
.wl-journal-page [class*="eyebrow"] {
  color: var(--wl-gold) !important;
}

/* White/light card contrast guard */
.wl-card-premium,
.wl-homepage .style-card,
.wl-homepage .wl-home-planning-card,
.wl-homepage .wl-home-purpose-card,
.wl-homepage .wl-home-resource-card,
.wl-homepage .wl-home-why-card,
.wl-homepage .wl-home-tour-card,
.wl-homepage .wl-home-journal-card,
.wl-homepage .wl-stay-card,
.wl-journal-card,
.wl-tour-card,
.wl-footer-card,
.wl-about-card,
.wl-contact-card,
.wl-support-card {
  background-color: var(--wl-soft-white) !important;
  border-color: var(--wl-border) !important;
}

.wl-card-premium h2, .wl-card-premium h3, .wl-card-premium h4,
.wl-homepage .style-card h2, .wl-homepage .style-card h3, .wl-homepage .style-card h4,
.wl-homepage .wl-home-planning-card h2, .wl-homepage .wl-home-planning-card h3,
.wl-homepage .wl-home-purpose-card h2, .wl-homepage .wl-home-purpose-card h3,
.wl-homepage .wl-home-resource-card h2, .wl-homepage .wl-home-resource-card h3,
.wl-homepage .wl-home-why-card h2, .wl-homepage .wl-home-why-card h3,
.wl-homepage .wl-home-tour-card h2, .wl-homepage .wl-home-tour-card h3,
.wl-homepage .wl-home-journal-card h2, .wl-homepage .wl-home-journal-card h3,
.wl-homepage .wl-stay-card h2, .wl-homepage .wl-stay-card h3,
.wl-journal-card h2, .wl-journal-card h3,
.wl-tour-card h2, .wl-tour-card h3,
.wl-footer-card h2, .wl-footer-card h3,
.wl-about-card h2, .wl-about-card h3,
.wl-contact-card h2, .wl-contact-card h3,
.wl-support-card h2, .wl-support-card h3 {
  color: var(--wl-charcoal) !important;
}

.wl-card-premium p,
.wl-homepage .style-card p,
.wl-homepage .wl-home-planning-card p,
.wl-homepage .wl-home-purpose-card p,
.wl-homepage .wl-home-resource-card p,
.wl-homepage .wl-home-why-card p,
.wl-homepage .wl-home-tour-card p,
.wl-homepage .wl-home-journal-card p,
.wl-homepage .wl-stay-card p,
.wl-journal-card p,
.wl-tour-card p,
.wl-footer-card p,
.wl-about-card p,
.wl-contact-card p,
.wl-support-card p {
  color: var(--wl-copy) !important;
}

/* Preserve white copy over photography and dark sections */
.wl-homepage .wl-home-hero,
.wl-homepage .wl-home-hero h1,
.wl-homepage .wl-home-hero h2,
.wl-homepage .wl-home-hero h3,
.wl-homepage .wl-home-hero p,
.wl-homepage .wl-home-premium-section--night,
.wl-homepage .wl-home-premium-section--night > div > h2,
.wl-homepage .wl-home-premium-section--night > div > p,
.wl-homepage .wl-home-final-cta,
.wl-homepage .wl-home-final-cta h2,
.wl-homepage .wl-home-final-cta p,
.wl-homepage .wl-home-destination-card__title,
.wl-homepage .wl-home-destination-card__text {
  color: #fff !important;
}

/* Dark brand surfaces */
.wl-homepage .wl-home-premium-section--night,
.wl-homepage .wl-home-final-cta,
.wl-site-footer,
.site-footer {
  background-color: var(--wl-primary-dark);
}

/* Buttons and links */
.wl-homepage a[class*="bg-emerald"],
.wl-homepage button[class*="bg-emerald"],
.wl-homepage .wl-home-tours-toggle,
.wl-homepage #safari-planner-form button,
.wl-about-page .wl-button-primary,
.wl-contact-page .wl-button-primary,
.wl-support-page .wl-button-primary,
.wl-site-footer .wl-button-primary {
  background: var(--wl-primary) !important;
  border-color: var(--wl-primary) !important;
  color: #fff !important;
}

.wl-homepage a[class*="bg-emerald"]:hover,
.wl-homepage button[class*="bg-emerald"]:hover,
.wl-homepage .wl-home-tours-toggle:hover,
.wl-homepage #safari-planner-form button:hover,
.wl-about-page .wl-button-primary:hover,
.wl-contact-page .wl-button-primary:hover,
.wl-support-page .wl-button-primary:hover,
.wl-site-footer .wl-button-primary:hover {
  background: var(--wl-primary-dark) !important;
  border-color: var(--wl-primary-dark) !important;
}

.wl-homepage .wl-home-final-cta a:first-of-type,
.wl-homepage #destinations .wl-home-destination-card__link:hover {
  background: var(--wl-gold) !important;
  border-color: var(--wl-gold) !important;
  color: var(--wl-charcoal) !important;
}

/* Form controls */
.wl-homepage input,
.wl-homepage select,
.wl-homepage textarea,
.wl-contact-page input,
.wl-contact-page select,
.wl-contact-page textarea,
.wl-site-footer input {
  background-color: var(--wl-soft-white);
  border-color: var(--wl-border);
  color: var(--wl-charcoal);
}
.wl-homepage input:focus,
.wl-homepage select:focus,
.wl-homepage textarea:focus,
.wl-contact-page input:focus,
.wl-contact-page select:focus,
.wl-contact-page textarea:focus,
.wl-site-footer input:focus {
  border-color: var(--wl-gold);
  box-shadow: 0 0 0 4px rgba(211,139,23,.15);
}

/* Footer contrast — preserve the footer's mixed light/dark architecture. */
.wl-site-footer {
  color: var(--wl-copy);
  background:
    radial-gradient(circle at 12% 10%, rgba(14,107,80,.08), transparent 25rem),
    radial-gradient(circle at 90% 6%, rgba(211,139,23,.13), transparent 28rem),
    linear-gradient(180deg, #fff 0%, var(--wl-soft-white) 48%, var(--wl-ivory) 100%) !important;
}

/* Dark footer panels */
.wl-site-footer .wl-footer-hero,
.wl-site-footer .wl-footer-planning-card {
  color: #fff;
}
.wl-site-footer .wl-footer-hero h2,
.wl-site-footer .wl-footer-hero h3,
.wl-site-footer .wl-footer-hero h4,
.wl-site-footer .wl-footer-hero strong,
.wl-site-footer .wl-footer-planning-card h2,
.wl-site-footer .wl-footer-planning-card h3,
.wl-site-footer .wl-footer-planning-card h4,
.wl-site-footer .wl-footer-planning-card strong {
  color: #fff !important;
}
.wl-site-footer .wl-footer-hero p,
.wl-site-footer .wl-footer-hero small,
.wl-site-footer .wl-footer-planning-card p,
.wl-site-footer .wl-footer-planning-card small {
  color: rgba(255,255,255,.78) !important;
}
.wl-site-footer .wl-footer-hero a:not(.wl-footer-button--gold),
.wl-site-footer .wl-footer-planning-card a {
  color: var(--wl-gold-light) !important;
}

/* Light footer cards */
.wl-site-footer .wl-footer-dispatch,
.wl-site-footer .wl-footer-card {
  color: var(--wl-copy) !important;
  background-color: var(--wl-soft-white) !important;
  border-color: var(--wl-border) !important;
}
.wl-site-footer .wl-footer-dispatch h2,
.wl-site-footer .wl-footer-dispatch h3,
.wl-site-footer .wl-footer-dispatch h4,
.wl-site-footer .wl-footer-card h2,
.wl-site-footer .wl-footer-card h3,
.wl-site-footer .wl-footer-card h4,
.wl-site-footer .wl-footer-card strong {
  color: var(--wl-charcoal) !important;
}
.wl-site-footer .wl-footer-dispatch p,
.wl-site-footer .wl-footer-dispatch li,
.wl-site-footer .wl-footer-dispatch small,
.wl-site-footer .wl-footer-card p,
.wl-site-footer .wl-footer-card li,
.wl-site-footer .wl-footer-card small,
.wl-site-footer .wl-footer-card address {
  color: var(--wl-copy) !important;
}
.wl-site-footer .wl-footer-links a,
.wl-site-footer .wl-footer-contact a,
.wl-site-footer .wl-footer-logo,
.wl-site-footer .wl-footer-contact-card {
  color: var(--wl-charcoal) !important;
}
.wl-site-footer .wl-footer-links a:hover,
.wl-site-footer .wl-footer-contact a:hover,
.wl-site-footer .wl-footer-contact-card:hover {
  color: var(--wl-primary) !important;
}
.wl-site-footer .wl-footer-links--destinations a small,
.wl-site-footer .wl-footer-contact li span,
.wl-site-footer .wl-footer-logo small,
.wl-site-footer .wl-footer-contact-card span,
.wl-site-footer .wl-footer-dispatch__consent {
  color: var(--wl-muted-copy) !important;
}

/* Footer base/legal strip */
.wl-site-footer .wl-footer-base,
.wl-site-footer .wl-footer-base p,
.wl-site-footer .wl-footer-base nav a,
.wl-site-footer .wl-cookie-settings-trigger {
  color: var(--wl-muted-copy) !important;
}
.wl-site-footer .wl-footer-base nav a:hover,
.wl-site-footer .wl-cookie-settings-trigger:hover {
  color: var(--wl-primary) !important;
}
.wl-site-footer .wl-back-to-top {
  color: var(--wl-charcoal) !important;
  background: var(--wl-soft-white) !important;
  border-color: var(--wl-border) !important;
}

/* Selection */
::selection { background: var(--wl-primary); color: #fff; }
