/* Public visual system: calm forest neutrals with one warm accent. */
:root {
  --eaj-forest: #1f4d39;
  --eaj-forest-dark: #163a2b;
  --eaj-forest-soft: #edf4ef;
  --eaj-gold: #b96b1d;
  --eaj-gold-dark: #945116;
  --eaj-ink: #1d2520;
  --eaj-muted: #66706a;
  --eaj-paper: #ffffff;
  --eaj-ivory: #fbfaf7;
  --eaj-sand: #f4eee4;
  --eaj-line: #dedfd8;
  --eaj-shadow: 0 10px 30px rgba(31, 40, 32, .07);
  --eaj-shadow-hover: 0 18px 42px rgba(31, 40, 32, .12);
  --eaj-radius: 18px;
  --eaj-wrap: 1240px;
}

html { background: var(--eaj-ivory); }
body {
  background: var(--eaj-ivory) !important;
  color: var(--eaj-ink) !important;
  line-height: 1.6;
}
.wrap { width: min(var(--eaj-wrap), calc(100% - 48px)); }
.main { background: var(--eaj-ivory) !important; }

body h1, body h2, body h3, body h4,
body .home-panel-title h2, body .results-top h2,
body .country-section-head h2, body .country-rich-section h2 {
  color: var(--eaj-forest) !important;
}
body h1 { line-height: 1.08 !important; }
body h2 { line-height: 1.16 !important; }
body p, body .summary, body .intro-copy, body .section-body,
body .home-panel-title p, body .why p { color: var(--eaj-muted); }
a { color: var(--eaj-forest); }
a:hover { color: var(--eaj-gold-dark); }

/* Header and primary actions use the same semantic colours everywhere. */
.site-head .nav, .site-header .nav, .site-header .header-inner {
  border-color: rgba(31, 77, 57, .16) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 8px 26px rgba(31, 40, 32, .08) !important;
}
.site-head .nav-links > a, .site-head .nav-item > a,
.site-header .nav-links > a, .site-header .nav-item > a {
  color: var(--eaj-ink) !important;
}
.site-head .nav-links > a:hover, .site-head .nav-item > a:hover,
.site-header .nav-links > a:hover, .site-header .nav-item > a:hover {
  color: var(--eaj-gold-dark) !important;
}
.nav-cta {
  border-color: var(--eaj-gold-dark) !important;
  background: var(--eaj-gold) !important;
  box-shadow: 0 8px 18px rgba(185, 107, 29, .2) !important;
}
.nav-cta:hover { background: var(--eaj-gold-dark) !important; }
.btn-primary, .search-actions .btn-primary {
  border-color: var(--eaj-forest) !important;
  background: var(--eaj-forest) !important;
  box-shadow: 0 8px 18px rgba(31, 77, 57, .18) !important;
}
.btn-primary:hover, .search-actions .btn-primary:hover {
  border-color: var(--eaj-forest-dark) !important;
  background: var(--eaj-forest-dark) !important;
}
.btn-secondary {
  border-color: rgba(31, 77, 57, .34) !important;
  color: var(--eaj-forest) !important;
  background: var(--eaj-paper) !important;
}

/* Shared page rhythm and surfaces. */
.panel, .search-panel, .filters, .country-safari-row,
.country-highlight-group, .why, .guide-note, .shortcut-box,
.country-sidebar-card, .guide-sidebar-card {
  border: 1px solid var(--eaj-line) !important;
  border-radius: var(--eaj-radius) !important;
  background: var(--eaj-paper) !important;
  box-shadow: var(--eaj-shadow) !important;
}
.panel, .search-panel, .filters { padding: clamp(20px, 3vw, 32px) !important; }
.tour-card, .home-discovery-card, .country-destination-card,
.country-type-link, .activity-card, .triptype-card, .destination-card {
  border: 1px solid var(--eaj-line) !important;
  border-radius: var(--eaj-radius) !important;
  box-shadow: var(--eaj-shadow) !important;
  background: var(--eaj-paper) !important;
  overflow: hidden;
}
.tour-card:hover, .home-discovery-card:hover, .country-destination-card:hover,
.activity-card:hover, .destination-card:hover {
  box-shadow: var(--eaj-shadow-hover) !important;
  transform: translateY(-2px);
}
.tour-grid, .home-discovery, .destination-grid, .activity-grid,
.why-grid, .country-tour-grid { gap: clamp(16px, 2vw, 24px) !important; }
.tour-card .card-body, .home-discovery-card .card-body { padding: clamp(18px, 2vw, 24px) !important; }
.tour-card h3, .home-discovery-card .home-card-title { color: var(--eaj-forest) !important; }
.tour-card .summary, .home-discovery-card p { color: var(--eaj-muted) !important; }

/* Warm neutrals are reserved for filters and supporting content, not primary actions. */
.tag, .chip, .card-count, .active-chips a, .shortcut-links a,
.intent-chips a, .intent-chips span {
  border-color: rgba(31, 77, 57, .18) !important;
  background: var(--eaj-forest-soft) !important;
  color: var(--eaj-forest) !important;
}
.field input, .field select, .sort select, .toolbar-search input,
.search-pill, .filter-more {
  min-height: 44px;
  border: 1px solid #cfd6cf !important;
  border-radius: 10px !important;
  background: var(--eaj-paper) !important;
  color: var(--eaj-ink) !important;
}
.field input:focus, .field select:focus, .sort select:focus,
.toolbar-search input:focus, .search-pill:focus {
  border-color: var(--eaj-forest) !important;
  box-shadow: 0 0 0 3px rgba(31, 77, 57, .13) !important;
  outline: none;
}

/* Keep section transitions generous and predictable on long pages. */
.home-panel-title, .country-section-head, .results-top { margin-bottom: clamp(18px, 3vw, 30px); }
.home-panel-title p { max-width: 680px; }
.trust { border-color: var(--eaj-line) !important; background: var(--eaj-paper) !important; }
.trust-card { border-right-color: var(--eaj-line) !important; }
.faq details, .country-faq details {
  border: 1px solid var(--eaj-line) !important;
  border-radius: 12px !important;
  background: var(--eaj-paper) !important;
}
.faq summary, .country-faq summary { color: var(--eaj-forest) !important; padding: 16px 18px !important; }
.faq details > div, .country-faq details > div { padding: 0 18px 18px !important; }

/* Footer is a deliberate dark anchor, using the same forest family as the CTAs. */
.site-footer, .foot, footer {
  border-color: var(--eaj-forest-dark) !important;
  background: var(--eaj-forest-dark) !important;
}
.site-footer a, .foot a, footer a { color: #f4d7a4 !important; }
.site-footer a:hover, .foot a:hover, footer a:hover { color: #fff !important; }
.footer-showcase { background: var(--eaj-sand) !important; border-top-color: var(--eaj-line) !important; }
.footer-showcase-card { border-color: var(--eaj-line) !important; border-radius: var(--eaj-radius) !important; box-shadow: var(--eaj-shadow) !important; }

@media (max-width: 1040px) {
  .wrap { width: min(var(--eaj-wrap), calc(100% - 32px)); }
  .site-head .nav, .site-header .nav, .site-header .header-inner { box-shadow: 0 6px 20px rgba(31, 40, 32, .08) !important; }
}
@media (max-width: 760px) {
  .wrap { width: min(var(--eaj-wrap), calc(100% - 24px)); }
  .panel, .search-panel, .filters { padding: 18px !important; }
  .tour-grid, .home-discovery, .destination-grid, .activity-grid,
  .why-grid, .country-tour-grid { gap: 14px !important; }
  .home-panel-title h2, .results-top h2, .country-section-head h2 { font-size: 32px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .tour-card:hover, .home-discovery-card:hover, .country-destination-card:hover,
  .activity-card:hover, .destination-card:hover { transform: none; }
}
