/*
Theme Name:  Himalaya Trek
Theme URI:   https://himalayatrekking.com
Description: Premium Nepal trekking portal theme — Teal/Coral/Sand design system with Three.js hero, WP Travel Engine integration, and AI-powered chat.
Author:      Himalaya Trekking
Version:     1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License:     GPL-2.0-or-later
Text Domain: himalaya-trek
*/

/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════════ */
:root {
  /* Primary — Teal */
  --ht-teal:        #0F766E;
  --ht-teal-dark:   #0a5550;
  --ht-teal-light:  #14968c;
  --ht-teal-xlight: #e6f4f3;
  --ht-teal-mid:    #1a9e94;

  /* Accent — Coral */
  --ht-coral:       #FF7F50;
  --ht-coral-dark:  #e86a3a;
  --ht-coral-light: #fff1ec;

  /* Neutral — Sand */
  --ht-sand:        #F5E6CA;
  --ht-sand-dark:   #ecdbb0;
  --ht-sand-xdark:  #d6c49a;

  /* Text */
  --ht-text:        #1a1a2e;
  --ht-text-muted:  #555f6e;
  --ht-text-light:  #8a95a3;

  /* Backgrounds */
  --ht-white:       #ffffff;
  --ht-bg-soft:     #f8fafb;

  /* Shadows */
  --shadow-xs:  0 1px 4px rgba(15,118,110,.06);
  --shadow-sm:  0 2px 8px rgba(15,118,110,.08);
  --shadow-md:  0 8px 32px rgba(15,118,110,.14);
  --shadow-lg:  0 20px 60px rgba(15,118,110,.18);
  --shadow-xl:  0 32px 80px rgba(15,118,110,.22);

  /* Radii */
  --r-xs:  6px;
  --r:     12px;
  --r-lg:  20px;
  --r-xl:  32px;
  --r-full: 9999px;

  /* Transitions */
  --ease: cubic-bezier(.4,0,.2,1);
  --t-fast:   0.15s;
  --t-base:   0.25s;
  --t-slow:   0.4s;

  /* Spacing scale */
  --sp-1:  0.25rem;
  --sp-2:  0.5rem;
  --sp-3:  0.75rem;
  --sp-4:  1rem;
  --sp-5:  1.25rem;
  --sp-6:  1.5rem;
  --sp-8:  2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;

  /* Typography */
  --font-body:    'Roboto', sans-serif;
  --font-display: 'Roboto Condensed', sans-serif;

  /* Layout */
  --container:     1280px;
  --container-sm:  900px;
}

/* ═══════════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ht-text);
  background: var(--ht-white);
  -webkit-font-smoothing: antialiased;
}

/* Prevent body scroll only when mobile menu is open */
body.menu-open { overflow: hidden; }

img, video { max-width: 100%; height: auto; display: block; }

a { color: var(--ht-teal); text-decoration: none; transition: color var(--t-fast) var(--ease); }
a:hover { color: var(--ht-coral); }

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
}

ul, ol { list-style: none; }

/* ═══════════════════════════════════════════════════════════
   LAYOUT UTILITIES
═══════════════════════════════════════════════════════════ */
.ht-container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--sp-6);
}

.ht-container--sm {
  max-width: var(--container-sm);
}

.ht-section {
  padding-block: var(--sp-24);
}

.ht-section--sand { background: var(--ht-sand); }
.ht-section--teal { background: var(--ht-teal); color: var(--ht-white); }
.ht-section--dark { background: var(--ht-teal-dark); color: var(--ht-white); }

.ht-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); }
.ht-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
.ht-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); }

@media (max-width: 1024px) {
  .ht-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .ht-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ht-grid-4, .ht-grid-3, .ht-grid-2 { grid-template-columns: 1fr; }
  .ht-container { padding-inline: var(--sp-4); }
  .ht-section { padding-block: var(--sp-16); }
}

/* ═══════════════════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════════════════ */
.ht-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ht-coral);
}
.ht-eyebrow::before,
.ht-eyebrow::after {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--ht-coral);
  flex-shrink: 0;
}

.ht-heading {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 700; /* Roboto Condensed only ships 700 max — 800/900 synthesises fake bold */
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--ht-text);
}

.ht-heading--white { color: var(--ht-white); }

.ht-lead {
  font-size: 1.1rem;
  color: var(--ht-text-muted);
  max-width: 56ch;
}

.ht-section-header {
  text-align: center;
  margin-bottom: var(--sp-12);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ht-section-header .ht-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ht-coral);
}
.ht-eyebrow::before,
.ht-eyebrow::after {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--ht-coral);
  flex-shrink: 0;
}
/* ═══════════════════════════════════════════════════════════
   BUTTONS — Complete system (base + all variants)
   All buttons share the same base; variants override specifics.
═══════════════════════════════════════════════════════════ */
.ht-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  border-radius: var(--r-full);
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none !important;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease,
              transform .2s ease, box-shadow .2s ease;
  white-space: nowrap;
  line-height: 1;
  /* Default (ghost on dark): white text + white border */
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,.55);
}
.ht-btn:hover,
.ht-btn:focus-visible {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.9);
  color: #fff !important;
  transform: translateY(-2px);
  outline: none;
}

/* Primary — coral fill, for any background */
.ht-btn--primary {
  background: var(--ht-coral) !important;
  border-color: var(--ht-coral) !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(233,93,60,.3);
}
.ht-btn--primary:hover,
.ht-btn--primary:focus-visible {
  background: var(--ht-coral-dark) !important;
  border-color: var(--ht-coral-dark) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(233,93,60,.45);
}

/* Teal fill */
.ht-btn--teal {
  background: var(--ht-teal) !important;
  border-color: var(--ht-teal) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(15,118,110,.25);
}
.ht-btn--teal:hover,
.ht-btn--teal:focus-visible {
  background: var(--ht-teal-dark) !important;
  border-color: var(--ht-teal-dark) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* Outline on DARK backgrounds (white border/text, fills white on hover) */
.ht-btn--outline {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.65) !important;
}
.ht-btn--outline:hover,
.ht-btn--outline:focus-visible {
  background: #fff !important;
  color: var(--ht-teal) !important;
  border-color: #fff !important;
  transform: translateY(-2px);
}

/* Outline on LIGHT/white backgrounds (teal border + teal text) */
.ht-btn--outline-dark {
  background: transparent !important;
  color: var(--ht-teal) !important;
  border-color: var(--ht-teal) !important;
}
.ht-btn--outline-dark:hover,
.ht-btn--outline-dark:focus-visible {
  background: var(--ht-teal) !important;
  color: #fff !important;
  border-color: var(--ht-teal) !important;
  transform: translateY(-2px);
}

/* Ghost on light bg (teal text, no border fill) */
.ht-btn--ghost {
  background: transparent !important;
  color: var(--ht-teal) !important;
  border-color: transparent !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  padding-left: 0;
  padding-right: 0;
}
.ht-btn--ghost:hover {
  color: var(--ht-coral) !important;
  transform: none;
}

/* Sizes */
.ht-btn--sm  { padding: .5rem 1.2rem; font-size: .8rem; }
.ht-btn--lg  { padding: 1rem 2.5rem; font-size: 1rem; }
.ht-btn--xl  { padding: 1.15rem 2.75rem; font-size: 1.05rem; }

/* Icon-only round button */
.ht-btn--icon {
  width: 2.75rem; height: 2.75rem;
  padding: 0; border-radius: 50%;
}

/* ═══════════════════════════════════════════════════════════
   TOPBAR
═══════════════════════════════════════════════════════════ */
.ht-topbar {
  background: var(--ht-teal-dark);
  color: rgba(255,255,255,.85);
  font-size: .8rem;
  padding: .4rem 0;
  position: relative;
  z-index: 1001;
}

.ht-topbar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-4);
}

.ht-topbar__contact { display: flex; gap: var(--sp-6); align-items: center; }
.ht-topbar__contact a {
  color: rgba(255,255,255,.85);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  transition: color var(--t-fast) var(--ease);
}
.ht-topbar__contact a:hover { color: var(--ht-coral); }
.ht-topbar__since {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  color: var(--ht-coral);
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding-right: var(--sp-4);
  border-right: 1px solid rgba(255,255,255,.15);
}

/* ── Beta Version Badge ──────────────────────────────────────── */
.ht-beta-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  line-height: 1;
  animation: ht-beta-pulse 2.5s ease-in-out infinite;
  white-space: nowrap;
}

.ht-beta-badge__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  display: inline-block;
  flex-shrink: 0;
  animation: ht-beta-blink 1.2s ease-in-out infinite;
}

@keyframes ht-beta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,158,11,.4); }
  50%       { box-shadow: 0 0 0 6px rgba(245,158,11,0); }
}

@keyframes ht-beta-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .3; }
}

.ht-topbar__social { display: flex; gap: var(--sp-3); align-items: center; }
.ht-topbar__social a {
  color: rgba(255,255,255,.7);
  font-size: .95rem;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: all var(--t-fast) var(--ease);
}
.ht-topbar__social a:hover {
  color: var(--ht-white);
  background: rgba(255,255,255,.15);
}

/* ═══════════════════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════════════════ */
.ht-header {
  background: var(--ht-white);
  box-shadow: 0 2px 20px rgba(15,118,110,.08);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow var(--t-base) var(--ease);
}

.ht-header.scrolled {
  box-shadow: 0 4px 30px rgba(15,118,110,.14);
}

.ht-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  gap: var(--sp-6);
}

.ht-logo {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-shrink: 0;
}

.ht-logo img { /* sizing handled below with !important */ }

.ht-logo__text {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--ht-teal);
  line-height: 1.1;
}

.ht-logo__sub {
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ht-text-muted);
  display: block;
}

/* Primary menu */
.ht-primary-menu {
  display: flex;
  gap: var(--sp-1);
  align-items: center;
  flex: 1;
  justify-content: center;
}

.ht-primary-menu > li { position: relative; }

.ht-primary-menu > li > a {
  display: block;
  padding: .5rem .9rem;
  font-size: .88rem;
  font-weight: 500;
  color: var(--ht-text);
  border-radius: var(--r-xs);
  transition: all var(--t-fast) var(--ease);
}

.ht-primary-menu > li > a:hover,
.ht-primary-menu > li > a.current-menu-item,
.ht-primary-menu > li.current-menu-item > a,
.ht-primary-menu > li.current-menu-ancestor > a {
  color: var(--ht-coral);
  background: rgba(255, 127, 80, .06);
}
.ht-primary-menu > li > a:hover,
.ht-primary-menu > li.current-menu-item > a {
  color: var(--ht-teal);
  background: var(--ht-teal-xlight);
}

/* Dropdown */
.ht-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  background: var(--ht-white);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--t-base) var(--ease);
  z-index: 100;
  border-top: 3px solid var(--ht-teal);
}

.ht-primary-menu li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ht-primary-menu .sub-menu a {
  display: block;
  padding: .55rem 1.2rem;
  font-size: .85rem;
  color: var(--ht-text);
  transition: all var(--t-fast) var(--ease);
}
.ht-primary-menu .sub-menu a:hover {
  color: var(--ht-teal);
  background: var(--ht-teal-xlight);
  padding-left: 1.5rem;
}

/* Nav actions */
.ht-nav-actions { display: flex; align-items: center; gap: var(--sp-3); flex-shrink: 0; }

/* Logo — div.ht-logo wraps the_custom_logo() which provides its own <a> */
.ht-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.ht-logo .custom-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

/* Logo — portrait PNG 659×685, show at nav-filling height */
.ht-logo img,
.ht-logo .custom-logo {
  height: 62px !important;
  width: auto !important;
  max-height: 62px !important;
  max-width: 200px !important;
  object-fit: contain !important;
  display: block !important;
  /* blend out any white/light background on the logo PNG */
  mix-blend-mode: multiply;
}
/* Override nav height to fit bigger logo */
.ht-nav { height: 80px; }
.ht-header { min-height: 80px; }
/* Also make logo link fill the height so click area is full */
.ht-logo a, .ht-logo .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}

.ht-logo__text-link { text-decoration: none; }

/* Mobile toggle */
.ht-mobile-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: var(--sp-2);
  cursor: pointer;
  background: none;
  border: none;
}

.ht-mobile-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--ht-text);
  border-radius: 2px;
  transition: all var(--t-base) var(--ease);
}

/* Mobile overlay — hidden by default at ALL viewport widths */
.ht-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--ht-teal-dark);
  z-index: 1002;
  padding: var(--sp-8);
  flex-direction: column;
  gap: var(--sp-4);
  overflow-y: auto;
}

.ht-mobile-menu.open { display: flex; }

.ht-mobile-menu a {
  color: var(--ht-white);
  font-size: 1.2rem;
  font-weight: 600;
  padding: var(--sp-3) 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  display: block;
}

.ht-mobile-menu__close {
  align-self: flex-end;
  background: none;
  border: none;
  color: var(--ht-white);
  font-size: 1.5rem;
  cursor: pointer;
  margin-bottom: var(--sp-4);
}

@media (max-width: 1024px) {
  .ht-primary-menu { display: none; }
  .ht-mobile-toggle { display: flex; }
  .ht-nav-actions .ht-btn--sm span { display: none; } /* hide text, keep icon on small nav */
}

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.ht-hero {
  position: relative;
  height: 94vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ht-teal-dark);
}

.ht-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.ht-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,40,35,.2) 0%,
    rgba(10,40,35,.45) 60%,
    rgba(10,40,35,.75) 100%
  );
  z-index: 2;
  pointer-events: none; /* decorative — don't block clicks or scroll */
}

.ht-hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-top: var(--sp-12);
}

.ht-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--r-full);
  padding: .4rem 1rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ht-white);
  text-transform: uppercase;
  margin-bottom: var(--sp-5);
  animation: fadeUp .8s var(--ease) both;
}

.ht-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 6vw, 4.5rem);
  font-weight: 900;
  line-height: 1.05;
  color: var(--ht-white);
  text-shadow: 0 4px 30px rgba(0,0,0,.4);
  margin-bottom: var(--sp-5);
  animation: fadeUp .9s .15s var(--ease) both;
}

.ht-hero__title em {
  font-style: normal;
  color: var(--ht-coral);
}

.ht-hero__subtitle {
  font-size: 1.15rem;
  font-weight: 300;
  color: rgba(255,255,255,.88);
  max-width: 54ch;
  margin-bottom: var(--sp-8);
  animation: fadeUp .9s .3s var(--ease) both;
}

.ht-hero__actions {
  display: flex;
  gap: var(--sp-4);
  flex-wrap: wrap;
  margin-bottom: var(--sp-8);
  animation: fadeUp .9s .45s var(--ease) both;
}
.ht-hero__actions .ht-btn--primary {
  background: var(--ht-coral);
  border-color: var(--ht-coral);
  font-size: 1rem;
  padding: 1rem 2.25rem;
  box-shadow: 0 8px 32px rgba(255,127,80,.45), 0 2px 8px rgba(0,0,0,.2);
  letter-spacing: .02em;
}
.ht-hero__actions .ht-btn--primary:hover {
  background: var(--ht-coral-dark);
  border-color: var(--ht-coral-dark);
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(255,127,80,.55), 0 4px 12px rgba(0,0,0,.25);
}
.ht-hero__actions .ht-btn--outline {
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  border-color: rgba(255,255,255,.5);
  color: white;
  font-size: 1rem;
  padding: 1rem 2.25rem;
}
.ht-hero__actions .ht-btn--outline:hover {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.8);
  color: white;
  transform: translateY(-2px);
}

/* Hero Search Box */
.ht-hero__search {
  background: var(--ht-white);
  border-radius: var(--r-lg);
  padding: var(--sp-3) var(--sp-4);
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 860px;
  animation: fadeUp .9s .55s var(--ease) both;
  position: relative;
  z-index: 20;
}

.ht-search-field {
  flex: 1;
  padding: var(--sp-3) var(--sp-4);
  border: none;
  outline: none;
  background: transparent;
  min-width: 0;
}

.ht-search-field label {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ht-text-muted);
  margin-bottom: var(--sp-1);
}

.ht-search-field select,
.ht-search-field input[type="text"] {
  width: 100%;
  border: none;
  outline: none;
  font-size: .92rem;
  font-weight: 500;
  color: var(--ht-text);
  background: transparent;
  cursor: pointer;
  appearance: none;
}

.ht-search-divider {
  width: 1px;
  height: 40px;
  background: rgba(15,118,110,.15);
  flex-shrink: 0;
}

.ht-search-submit {
  background: var(--ht-coral);
  color: var(--ht-white);
  border: none;
  border-radius: var(--r);
  padding: .85rem 1.75rem;
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  transition: all var(--t-base) var(--ease);
  flex-shrink: 0;
  margin-left: var(--sp-2);
}
.ht-search-submit:hover {
  background: var(--ht-coral-dark);
  transform: translateY(-1px);
}

/* Hero Custom Select Dropdown */
.hs-dropdown { position: relative; cursor: pointer; user-select: none; }
.hs-dropdown__trigger {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .92rem;
  font-weight: 500;
  color: var(--ht-text);
}
.hs-dropdown__arrow {
  font-size: .65rem;
  color: var(--ht-teal);
  transition: transform var(--t-fast) var(--ease);
  flex-shrink: 0;
}
.hs-dropdown.open .hs-dropdown__arrow { transform: rotate(180deg); }
.hs-dropdown__panel {
  position: absolute;
  top: calc(100% + 14px);
  left: -1.25rem;
  min-width: 190px;
  background: var(--ht-white);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  padding: .4rem 0;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--t-base) var(--ease);
  border-top: 3px solid var(--ht-teal);
}
.hs-dropdown.open .hs-dropdown__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.hs-dropdown__opt {
  padding: .55rem 1.1rem;
  font-size: .85rem;
  color: var(--ht-text);
  transition: background var(--t-fast) var(--ease), padding-left var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
  white-space: nowrap;
  cursor: pointer;
}
.hs-dropdown__opt:hover { background: var(--ht-teal-xlight); color: var(--ht-teal); padding-left: 1.5rem; }
.hs-dropdown__opt.selected { color: var(--ht-teal); font-weight: 600; }

/* Hero Stats */
.ht-hero__stats {
  display: flex;
  gap: var(--sp-10);
  padding-top: var(--sp-8);
  animation: fadeUp .9s .7s var(--ease) both;
  flex-wrap: wrap;
}
.ht-hero__stats .ht-hero-stat:not(:last-child) {
  padding-right: var(--sp-10);
  border-right: 1px solid rgba(255,255,255,.2);
}

.ht-hero-stat__number {
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--ht-coral);
  line-height: 1;
}

.ht-hero-stat__label {
  font-size: .78rem;
  color: rgba(255,255,255,.75);
  margin-top: .25rem;
}

@media (max-width: 768px) {
  .ht-hero { height: auto; min-height: 100svh; padding-block: var(--sp-16); }
  .ht-hero__search { flex-direction: column; border-radius: var(--r); }
  .ht-search-divider { width: 100%; height: 1px; }
  .ht-search-submit { width: 100%; justify-content: center; }
  .ht-hero__stats {
  display: flex;
  gap: var(--sp-10);
  padding-top: var(--sp-8);
  animation: fadeUp .9s .7s var(--ease) both;
  flex-wrap: wrap;
}
.ht-hero__stats .ht-hero-stat:not(:last-child) {
  padding-right: var(--sp-10);
  border-right: 1px solid rgba(255,255,255,.2);
}
}

/* ═══════════════════════════════════════════════════════════
   TRIP CARDS  — ht-tc (new design matching screenshot)
   Legacy .ht-trip-card aliases kept for back-compat.
═══════════════════════════════════════════════════════════ */

/* ── Card shell ─────────────────────────────────────────── */
.ht-tc {
  background: var(--ht-white);
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  overflow: hidden;
  transition: transform .28s var(--ease), box-shadow .28s var(--ease);
  position: relative;
  display: flex;
  flex-direction: column;
}
.ht-tc:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0,0,0,.14);
}

/* ── Image wrap ─────────────────────────────────────────── */
.ht-tc__img-wrap {
  position: relative;
  display: block;
  height: 220px;
  overflow: hidden;
  text-decoration: none !important;
}
.ht-tc__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s var(--ease);
  display: block;
}
.ht-tc:hover .ht-tc__img-wrap img {
  transform: scale(1.07);
}

/* ── Badge (top-left pill) ──────────────────────────────── */
.ht-tc__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--ht-coral);
  color: #fff;
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .3rem .85rem;
  border-radius: 20px;
  z-index: 2;
  pointer-events: none;
  white-space: nowrap;
}

/* ── Heart / wishlist (top-right) ──────────────────────── */
.ht-tc__fav {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #94a3b8;
  font-size: .95rem;
  transition: color .2s, transform .2s;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.ht-tc__fav:hover,
.ht-tc__fav.is-saved { color: var(--ht-coral); transform: scale(1.12); }
.ht-tc__fav.is-saved i { font-weight: 900; }

/* ── Location overlay (bottom of image) ────────────────── */
.ht-tc__loc {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--ht-text);
  font-size: .75rem;
  font-weight: 600;
  padding: .3rem .75rem;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: .35rem;
  z-index: 2;
  pointer-events: none;
  max-width: calc(100% - 24px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ht-tc__loc i { color: var(--ht-coral); font-size: .8rem; flex-shrink: 0; }

/* ── Card body ──────────────────────────────────────────── */
.ht-tc__body {
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* ── Rating + difficulty row ────────────────────────────── */
.ht-tc__top-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  flex-wrap: wrap;
  min-height: 18px;
}
.ht-tc__stars {
  display: flex;
  gap: 2px;
  color: #f59e0b;
  font-size: .78rem;
  line-height: 1;
}
.ht-tc__rating-val {
  font-size: .82rem;
  font-weight: 700;
  color: var(--ht-text);
  line-height: 1;
}
.ht-tc__review-ct {
  font-size: .78rem;
  color: var(--ht-text-muted);
  line-height: 1;
}
/* separator dot between rating and difficulty */
.ht-tc__sep {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #cbd5e1;
  flex-shrink: 0;
}
.ht-tc__diff {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .78rem;
  color: var(--ht-text-muted);
  font-weight: 500;
  line-height: 1;
}
.ht-tc__diff-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ── Title ──────────────────────────────────────────────── */
.ht-tc__title {
  font-family: var(--font-display);
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--ht-text);
  line-height: 1.3;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ht-tc__title a {
  color: inherit !important;
  text-decoration: none !important;
}
.ht-tc__title a:hover { color: var(--ht-teal) !important; }

/* ── Description ────────────────────────────────────────── */
.ht-tc__desc {
  font-size: .84rem;
  color: var(--ht-text-muted);
  line-height: 1.55;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Meta pills row ─────────────────────────────────────── */
.ht-tc__meta {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.ht-tc__meta li {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .78rem;
  color: var(--ht-text-muted);
  font-weight: 500;
  white-space: nowrap;
}
.ht-tc__meta li i {
  color: var(--ht-teal);
  font-size: .82rem;
  width: 14px;
  text-align: center;
  flex-shrink: 0;
}

/* ── Footer ─────────────────────────────────────────────── */
.ht-tc__footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 14px;
  border-top: 1px solid rgba(15,118,110,.08);
  margin-top: auto;
}

/* ── Price ──────────────────────────────────────────────── */
.ht-tc__price { display: flex; flex-direction: column; gap: 2px; }
.ht-tc__from {
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ht-text-light);
  line-height: 1;
}
.ht-tc__price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.ht-tc__orig-price {
  font-size: .82rem;
  color: var(--ht-text-light);
  text-decoration: line-through;
}
.ht-tc__price-val {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ht-text);
  line-height: 1;
}
.ht-tc__price-val--contact {
  font-size: .85rem;
  font-weight: 600;
  color: var(--ht-text-muted);
}

/* ── CTA button ─────────────────────────────────────────── */
.ht-tc__cta {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--ht-teal) !important;
  color: #fff !important;
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 700;
  padding: .6rem 1.25rem;
  border-radius: 50px;
  text-decoration: none !important;
  transition: background .2s, transform .2s, box-shadow .2s;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(15,118,110,.25);
  flex-shrink: 0;
}
.ht-tc__cta:hover {
  background: var(--ht-teal-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(15,118,110,.35);
  color: #fff !important;
}

/* ── Legacy aliases + blog card subcomponents ───────────── */
.ht-trip-card {
  background: var(--ht-white);
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  overflow: hidden;
  transition: transform .28s, box-shadow .28s;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(15,118,110,.07);
}
.ht-trip-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,.14); }
.ht-trip-card__price-amount { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; color: var(--ht-teal); }

/* Image wrapper */
.ht-trip-card__image {
  display: block;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  background: var(--ht-teal-xlight);
}
.ht-trip-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.ht-trip-card:hover .ht-trip-card__image img { transform: scale(1.06); }

/* Body — flex:1 pushes footer to bottom */
.ht-trip-card__body {
  padding: 1.1rem 1.25rem .75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

/* Category / meta row */
.ht-trip-card__region {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ht-teal);
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
}

/* Title */
.ht-trip-card__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ht-text);
  margin: 0;
}
.ht-trip-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color .18s;
}
.ht-trip-card__title a:hover { color: var(--ht-teal); }

/* Footer */
.ht-trip-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 1.25rem;
  border-top: 1px solid rgba(15,118,110,.08);
  margin-top: auto;
  gap: .5rem;
}

/* Section headings */
.ht-section__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--ht-teal-dark);
  margin-bottom: 2rem;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════
   CULTURAL TOURS SECTION
═══════════════════════════════════════════════════════════ */
.ht-cultural-section { background: var(--ht-teal-dark) !important; }

.ht-cultural-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 2.5rem;
}
@media (max-width: 1024px) { .ht-cultural-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .ht-cultural-grid { grid-template-columns: 1fr; } }

.ht-cult-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none !important;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s;
  cursor: pointer;
}
.ht-cult-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  border-color: rgba(255,255,255,.22);
}

.ht-cult-card__img {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: var(--ht-teal);
}
.ht-cult-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s var(--ease);
}
.ht-cult-card:hover .ht-cult-card__img img { transform: scale(1.07); }

.ht-cult-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, transparent 55%);
}

.ht-cult-card__img--icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ht-cult-card__icon-wrap {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.ht-cult-card__body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.ht-cult-card__days {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ht-coral);
}

.ht-cult-card__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin: 0;
}

.ht-cult-card__excerpt {
  font-size: .82rem;
  color: rgba(255,255,255,.65);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.ht-cult-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  font-weight: 700;
  color: var(--ht-coral) !important;
  margin-top: 6px;
  transition: gap .2s;
}
.ht-cult-card:hover .ht-cult-card__cta { gap: 10px; }

/* ═══════════════════════════════════════════════════════════
   FIXED DEPARTURES BLOCK
═══════════════════════════════════════════════════════════ */
.ht-departure-card {
  background: var(--ht-white);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  transition: all var(--t-base) var(--ease);
  border-left: 4px solid var(--ht-teal);
}

.ht-departure-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

.ht-departure-card.filling-fast { border-left-color: var(--ht-coral); }
.ht-departure-card.sold-out    { border-left-color: #9ca3af; opacity: .65; }

.ht-departure-card__image {
  width: 120px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.ht-departure-card__image img { width: 100%; height: 100%; object-fit: cover; }

.ht-departure-card__body {
  padding: var(--sp-4) var(--sp-5);
  flex: 1;
  min-width: 0;
}

.ht-departure-card__date {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .78rem;
  font-weight: 700;
  color: var(--ht-teal);
  background: var(--ht-teal-xlight);
  padding: .25rem .75rem;
  border-radius: var(--r-full);
  margin-bottom: var(--sp-3);
}

.ht-departure-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  color: var(--ht-text);
  margin-bottom: var(--sp-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ht-departure-card__meta {
  font-size: .8rem;
  color: var(--ht-text-muted);
  display: flex;
  gap: var(--sp-4);
  flex-wrap: wrap;
  margin-bottom: var(--sp-3);
}

/* Seats urgency bar */
.ht-seats-bar {
  height: 4px;
  background: rgba(15,118,110,.12);
  border-radius: var(--r-full);
  overflow: hidden;
  margin-bottom: var(--sp-1);
}
.ht-seats-bar__fill {
  height: 100%;
  background: var(--ht-teal);
  border-radius: var(--r-full);
  transition: width .6s var(--ease);
}
.ht-seats-bar__fill.urgent { background: var(--ht-coral); }

.ht-seats-label { font-size: .72rem; color: var(--ht-text-muted); }
.ht-seats-label strong { color: var(--ht-coral); }

.ht-departure-card__actions {
  display: flex;
  gap: var(--sp-3);
  align-items: center;
  padding: var(--sp-4) var(--sp-5);
  border-top: 1px solid rgba(15,118,110,.08);
  flex-wrap: wrap;
}

.ht-departure-card__price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--ht-teal);
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════
   DESTINATIONS GRID
═══════════════════════════════════════════════════════════ */
.ht-destination-card {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
}

.ht-destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow) var(--ease);
}

.ht-destination-card:hover img { transform: scale(1.08); }

.ht-destination-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,40,35,.85) 0%, rgba(10,40,35,.1) 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--sp-5);
  transition: background var(--t-base) var(--ease);
}

.ht-destination-card__name {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ht-white);
}

.ht-destination-card__count {
  font-size: .8rem;
  color: rgba(255,255,255,.75);
}

/* ═══════════════════════════════════════════════════════════
   WHY CHOOSE US CARDS
═══════════════════════════════════════════════════════════ */
.ht-feature-card {
  background: var(--ht-white);
  border-radius: var(--r-lg);
  padding: var(--sp-8);
  position: relative;
  overflow: hidden;
  transition: all var(--t-base) var(--ease);
  border: 1px solid rgba(15,118,110,.08);
  box-shadow: 0 2px 12px rgba(15,118,110,.06);
}

.ht-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ht-teal), var(--ht-coral));
  transform: scaleX(0);
  transition: transform var(--t-base) var(--ease);
  transform-origin: left;
}

.ht-feature-card:hover::before { transform: scaleX(1); }
.ht-feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.ht-feature-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ht-teal) 0%, var(--ht-teal-light) 100%);
  color: var(--ht-white);
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  margin-bottom: var(--sp-5);
  transition: all var(--t-base) var(--ease);
  box-shadow: 0 8px 24px rgba(15,118,110,.25);
}

.ht-feature-card:hover .ht-feature-card__icon {
  background: linear-gradient(135deg, var(--ht-coral) 0%, var(--ht-coral-dark) 100%);
  box-shadow: 0 8px 24px rgba(255,127,80,.35);
  transform: scale(1.08) rotate(-3deg);
}

.ht-feature-card__title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ht-text);
  margin-bottom: var(--sp-3);
}

.ht-feature-card__text { font-size: .9rem; color: var(--ht-text-muted); line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════ */
.ht-testimonials-section {
  background: linear-gradient(135deg, var(--ht-teal-dark) 0%, var(--ht-teal) 100%);
}

.ht-testimonials-track {
  display: flex;
  gap: var(--sp-5);
  overflow-x: hidden;
  overflow-y: visible;
  padding-bottom: var(--sp-4);
  cursor: grab;
  scrollbar-width: none;
}
.ht-testimonials-track::-webkit-scrollbar { display: none; }

.ht-testimonial-card {
  flex: 0 0 340px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  scroll-snap-align: start;
}

.ht-testimonial-card__stars {
  color: var(--ht-coral);
  font-size: .9rem;
  margin-bottom: var(--sp-4);
  letter-spacing: 2px;
}

.ht-testimonial-card__text {
  font-size: .92rem;
  color: rgba(255,255,255,.9);
  font-style: italic;
  line-height: 1.7;
  margin-bottom: var(--sp-5);
}

.ht-testimonial-card__author { display: flex; align-items: center; gap: var(--sp-3); }

.ht-testimonial-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ht-coral);
  display: grid;
  place-items: center;
  font-weight: 700;
  color: var(--ht-white);
  font-size: 1.1rem;
  flex-shrink: 0;
  overflow: hidden;
}

.ht-testimonial-card__avatar img { width: 100%; height: 100%; object-fit: cover; }

.ht-testimonial-card__name { font-weight: 700; color: var(--ht-white); font-size: .92rem; }
.ht-testimonial-card__loc  { font-size: .78rem; color: rgba(255,255,255,.65); }

/* ═══════════════════════════════════════════════════════════
   STATS COUNTER
═══════════════════════════════════════════════════════════ */
.ht-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-8);
  text-align: center;
}

.ht-stat-item__number {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 700;
  color: var(--ht-teal);
  line-height: 1;
  margin-bottom: var(--sp-2);
}

.ht-stat-item__label {
  font-size: .88rem;
  color: var(--ht-text-muted);
  font-weight: 500;
}

@media (max-width: 768px) {
  .ht-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.ht-footer {
  background: var(--ht-teal-dark);
  color: rgba(255,255,255,.8);
  padding-top: var(--sp-20);
}

.ht-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--sp-10);
  padding-bottom: var(--sp-12);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.ht-footer__brand { }

.ht-footer__logo-img-wrap { display: inline-block; margin-bottom: var(--sp-4); }
.ht-footer__logo-img {
  height: 56px;
  width: auto;
  object-fit: contain;
  border-radius: 6px;
  filter: brightness(0) invert(1);
  opacity: .9;
}

.ht-tripadvisor-badge:hover img { opacity: 1 !important; }

.ht-footer__desc {
  font-size: .88rem;
  line-height: 1.75;
  color: rgba(255,255,255,.65);
  margin-bottom: var(--sp-6);
}

.ht-footer__socials { display: flex; gap: var(--sp-3); }

.ht-footer__social-link {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.7);
  transition: all var(--t-fast) var(--ease);
  font-size: .9rem;
}
.ht-footer__social-link:hover {
  background: var(--ht-coral);
  color: var(--ht-white);
  transform: translateY(-2px);
}

.ht-footer__col-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .88rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ht-white);
  margin-bottom: var(--sp-5);
}

.ht-footer__links { display: flex; flex-direction: column; gap: var(--sp-3); }

.ht-footer__links a {
  font-size: .88rem;
  color: rgba(255,255,255,.65);
  transition: color var(--t-fast) var(--ease);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.ht-footer__links a:hover { color: var(--ht-coral); }

/* Arrow icon for WP-generated nav menu items (no inline <i> tag) */
.ht-footer__links .menu-item a {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.ht-footer__links .menu-item a::before {
  content: '\f061';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: .7em;
  color: var(--ht-teal-light, #5eead4);
  flex-shrink: 0;
  transition: color var(--t-fast) var(--ease);
}
.ht-footer__links .menu-item a:hover::before { color: var(--ht-coral); }

.ht-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: .88rem;
  color: rgba(255,255,255,.65);
  margin-bottom: var(--sp-4);
}

.ht-footer__contact-item i { color: var(--ht-coral); margin-top: 3px; flex-shrink: 0; }

.ht-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--sp-5) 0;
  font-size: .82rem;
  color: rgba(255,255,255,.5);
  flex-wrap: wrap;
  gap: var(--sp-3);
}

@media (max-width: 1024px) {
  .ht-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .ht-footer__grid { grid-template-columns: 1fr; }
  .ht-footer__bottom { flex-direction: column; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TRIP PAGE — legacy rules removed; see premium block below
═══════════════════════════════════════════════════════════ */

.ht-trip-content-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--sp-10);
  padding-top: var(--sp-10);
}

.ht-trip-sidebar {
  position: sticky;
  top: 90px;
  height: fit-content;
}

@media (max-width: 1024px) {
  .ht-trip-content-grid { grid-template-columns: 1fr; }
  .ht-trip-sidebar { position: static; }
}

/* ═══════════════════════════════════════════════════════════
   DEPARTURE WIDGET (single trip)
═══════════════════════════════════════════════════════════ */
.ht-departure-widget {
  background: var(--ht-white);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.ht-departure-widget__header {
  background: var(--ht-teal);
  color: var(--ht-white);
  padding: var(--sp-5) var(--sp-6);
}

.ht-departure-widget__header h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
}

.ht-departure-widget__list { padding: var(--sp-4); }

.ht-departure-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-4);
  border-radius: var(--r);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--t-fast) var(--ease);
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}

.ht-departure-row:hover { border-color: var(--ht-teal); background: var(--ht-teal-xlight); }
.ht-departure-row.selected { border-color: var(--ht-coral); background: var(--ht-coral-light); }

.ht-departure-row__date {
  font-weight: 700;
  font-size: .9rem;
  color: var(--ht-text);
  white-space: nowrap;
}

.ht-departure-row__duration { font-size: .78rem; color: var(--ht-text-muted); }

.ht-departure-row__seats {
  font-size: .75rem;
  padding: .2rem .6rem;
  border-radius: var(--r-full);
  font-weight: 600;
}
.seats-open      { background: var(--ht-teal-xlight); color: var(--ht-teal); }
.seats-filling   { background: #fff3e0; color: #e65100; }
.seats-sold-out  { background: #f5f5f5; color: #9ca3af; }

.ht-departure-row__price {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ht-teal);
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   ARCHIVE TRIPS
═══════════════════════════════════════════════════════════ */
.ht-archive-hero {
  background: linear-gradient(135deg, var(--ht-teal-dark), var(--ht-teal));
  padding: var(--sp-16) 0;
  text-align: center;
  color: var(--ht-white);
}

.ht-filter-bar {
  background: var(--ht-white);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg);
  padding: var(--sp-5) var(--sp-6);
  margin-top: -40px;
  position: relative;
  z-index: 10;
  display: flex;
  gap: var(--sp-4);
  flex-wrap: wrap;
  align-items: center;
}

.ht-filter-select {
  flex: 1;
  min-width: 160px;
  border: 1px solid rgba(15,118,110,.2);
  border-radius: var(--r);
  padding: .6rem 1rem;
  font-size: .88rem;
  color: var(--ht-text);
  background: var(--ht-bg-soft);
  outline: none;
  cursor: pointer;
  transition: border-color var(--t-fast) var(--ease);
}
.ht-filter-select:focus { border-color: var(--ht-teal); }

.ht-active-filters { display: flex; gap: var(--sp-2); flex-wrap: wrap; }

.ht-filter-chip {
  background: var(--ht-teal-xlight);
  color: var(--ht-teal);
  font-size: .75rem;
  font-weight: 600;
  padding: .3rem .75rem;
  border-radius: var(--r-full);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  cursor: pointer;
}
.ht-filter-chip button { background: none; border: none; cursor: pointer; color: inherit; font-size: .8rem; }

/* AJAX loading state */
.ht-trips-grid.loading { opacity: .4; pointer-events: none; }

/* ═══════════════════════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════════════════════ */
.ht-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .8rem;
  color: var(--ht-text-muted);
  padding: var(--sp-4) 0;
  flex-wrap: wrap;
}

.ht-breadcrumb a { color: var(--ht-teal); }
.ht-breadcrumb a:hover { color: var(--ht-coral); }
.ht-breadcrumb .sep { color: var(--ht-text-light); }
.ht-breadcrumb .current { color: var(--ht-text); font-weight: 500; }

/* ═══════════════════════════════════════════════════════════
   BLOG CARDS — From the Trail Journal
═══════════════════════════════════════════════════════════ */
.ht-blog-card {
  background: var(--ht-white);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  border: 1px solid rgba(15,118,110,.07);
  display: flex;
  flex-direction: column;
  transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.ht-blog-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.ht-blog-card__img {
  position: relative;
  height: 220px;
  overflow: hidden;
  display: block;
  flex-shrink: 0;
  background: var(--ht-teal-xlight);
}
.ht-blog-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--t-slow) var(--ease);
}
.ht-blog-card:hover .ht-blog-card__img img { transform: scale(1.06); }

.ht-blog-card__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--ht-teal-xlight) 0%, rgba(15,118,110,.08) 100%);
}
.ht-blog-card__placeholder i {
  font-size: 2.5rem;
  color: var(--ht-teal);
  opacity: .35;
}

.ht-blog-card__date {
  position: absolute;
  top: var(--sp-4);
  left: var(--sp-4);
  background: var(--ht-teal);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: .3rem .85rem;
  border-radius: 100px;
  pointer-events: none;
}

.ht-blog-card__body {
  padding: var(--sp-6);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.ht-blog-card__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ht-text);
  line-height: 1.4;
  margin-bottom: var(--sp-3);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ht-blog-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--t-base) var(--ease);
}
.ht-blog-card__title a:hover { color: var(--ht-teal); }

.ht-blog-card__excerpt {
  font-size: .875rem;
  color: var(--ht-text-muted);
  line-height: 1.7;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: var(--sp-5);
}
.ht-blog-card__excerpt p { margin: 0; }

.ht-blog-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid rgba(15,118,110,.1);
  margin-top: auto;
}

.ht-blog-card__author {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .8rem;
  color: var(--ht-text-muted);
  min-width: 0;
}
.ht-blog-card__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ht-teal-xlight) 0%, rgba(15,118,110,.15) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  font-weight: 700;
  color: var(--ht-teal);
  flex-shrink: 0;
}

.ht-blog-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .8rem;
  font-weight: 600;
  color: var(--ht-teal);
  text-decoration: none;
  border: 1.5px solid var(--ht-teal);
  padding: .42rem 1rem;
  border-radius: 100px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background var(--t-base) var(--ease), color var(--t-base) var(--ease);
}
.ht-blog-card__cta i { font-size: .7rem; transition: transform var(--t-base) var(--ease); }
.ht-blog-card__cta:hover {
  background: var(--ht-teal);
  color: #fff;
}
.ht-blog-card__cta:hover i { transform: translateX(3px); }

/* ═══════════════════════════════════════════════════════════
   BLOG ARCHIVE HERO
═══════════════════════════════════════════════════════════ */
.ht-blog-archive-hero {
  height: 420px;
  align-items: flex-end;
}
.ht-blog-archive-hero .ht-page-hero__content {
  padding-bottom: 3rem;
}
.ht-blog-archive-hero .ht-page-hero__title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  margin: 0 0 .5rem;
}
.ht-blog-archive-hero .ht-page-hero__overlay {
  background: linear-gradient(
    to top,
    rgba(4,30,28,.82) 0%,
    rgba(10,60,55,.45) 55%,
    transparent 100%
  );
}
@media (max-width: 768px) { .ht-blog-archive-hero { height: 300px; } }

/* ═══════════════════════════════════════════════════════════
   SINGLE BLOG POST
═══════════════════════════════════════════════════════════ */
.ht-blog-hero { height: 480px; }
@media (max-width: 768px) { .ht-blog-hero { height: 360px; } }

.ht-blog-hero__cats { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.ht-blog-pill {
  display: inline-block;
  background: var(--ht-teal);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .3rem .8rem;
  border-radius: 100px;
  text-decoration: none;
}
.ht-blog-hero__meta {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-top: .75rem;
  font-size: .82rem;
  color: rgba(255,255,255,.75);
}
.ht-blog-hero__meta i { margin-right: .3rem; }

/* Two-column layout: content + sidebar */
.ht-blog-single__layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3.5rem;
  align-items: start;
}
@media (max-width: 900px) {
  .ht-blog-single__layout { grid-template-columns: 1fr; }
}

/* Prose content */
.ht-blog-single__content.ht-prose {
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--ht-text);
}
.ht-blog-single__content.ht-prose h2 {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--ht-teal-dark);
  margin: 2.5rem 0 .75rem;
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--ht-teal-xlight);
}
.ht-blog-single__content.ht-prose h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ht-text);
  margin: 1.75rem 0 .5rem;
}
.ht-blog-single__content.ht-prose p { margin-bottom: 1.35rem; }
.ht-blog-single__content.ht-prose ul,
.ht-blog-single__content.ht-prose ol {
  padding-left: 1.5rem;
  margin-bottom: 1.35rem;
}
.ht-blog-single__content.ht-prose li { margin-bottom: .45rem; }
.ht-blog-single__content.ht-prose figure {
  margin: 2rem 0;
  border-radius: 12px;
  overflow: hidden;
}
.ht-blog-single__content.ht-prose figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.ht-blog-single__content.ht-prose figcaption {
  font-size: .8rem;
  color: var(--ht-text-light);
  text-align: center;
  padding: .5rem 0 0;
  font-style: italic;
}
.ht-blog-single__content.ht-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .9rem;
}
.ht-blog-single__content.ht-prose th,
.ht-blog-single__content.ht-prose td {
  padding: .65rem 1rem;
  border: 1px solid rgba(15,118,110,.15);
  text-align: left;
}
.ht-blog-single__content.ht-prose th { background: var(--ht-teal-xlight); font-weight: 700; }
.ht-blog-single__content.ht-prose tr:nth-child(even) td { background: #f8fffe; }
.ht-blog-single__content.ht-prose blockquote {
  border-left: 4px solid var(--ht-teal);
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  background: var(--ht-teal-xlight);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--ht-teal-dark);
}

/* Tip/callout box */
.ht-blog-single__content.ht-prose .wp-block-group {
  border-radius: 12px;
  padding: 1.5rem;
  margin: 2rem 0;
}

/* Tags */
.ht-blog-single__tags {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(15,118,110,.12);
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.ht-tag-pill {
  display: inline-block;
  background: var(--ht-teal-xlight);
  color: var(--ht-teal);
  font-size: .75rem;
  font-weight: 600;
  padding: .3rem .8rem;
  border-radius: 100px;
  text-decoration: none;
  transition: background .18s;
}
.ht-tag-pill:hover { background: var(--ht-teal); color: #fff; }

/* Author card */
.ht-blog-author {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  margin-top: 2.5rem;
  padding: 1.5rem;
  background: var(--ht-teal-xlight);
  border-radius: 12px;
}
.ht-blog-author__avatar img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.ht-blog-author__info strong { display: block; font-size: 1rem; margin-bottom: .3rem; }
.ht-blog-author__info p { font-size: .875rem; color: var(--ht-text-light); margin: 0; }

/* Sidebar */
.ht-blog-single__sidebar { position: sticky; top: 5.5rem; }

.ht-blog-sidebar-cta {
  background: var(--ht-white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  border: 1px solid rgba(15,118,110,.1);
  margin-bottom: 1.5rem;
}
.ht-blog-sidebar-cta__body {
  padding: 1.25rem;
}
.ht-blog-sidebar-cta__body strong { display: block; font-size: 1rem; margin-bottom: .4rem; color: var(--ht-teal-dark); }
.ht-blog-sidebar-cta__body p { font-size: .875rem; color: var(--ht-text-light); margin-bottom: 1rem; }

.ht-blog-sidebar-facts {
  background: var(--ht-white);
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  border: 1px solid rgba(15,118,110,.1);
}
.ht-blog-sidebar-facts h3 { font-size: .95rem; margin-bottom: .875rem; color: var(--ht-teal-dark); }
.ht-blog-sidebar-facts ul { list-style: none; padding: 0; margin: 0; }
.ht-blog-sidebar-facts li {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(15,118,110,.08);
  font-size: .85rem;
}
.ht-blog-sidebar-facts li:last-child { border-bottom: none; }
.ht-blog-sidebar-facts i { color: var(--ht-teal); width: 14px; }
.ht-blog-sidebar-facts a { color: var(--ht-text); text-decoration: none; }
.ht-blog-sidebar-facts a:hover { color: var(--ht-teal); }

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER STRIP
═══════════════════════════════════════════════════════════ */
.ht-newsletter {
  background: linear-gradient(135deg, var(--ht-coral) 0%, var(--ht-coral-dark) 100%);
  padding: var(--sp-16) 0;
  text-align: center;
  color: var(--ht-white);
}

.ht-newsletter__title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  margin-bottom: var(--sp-4);
}

.ht-newsletter__form {
  display: flex;
  max-width: 520px;
  margin: var(--sp-6) auto 0;
  gap: var(--sp-2);
}

.ht-newsletter__input {
  flex: 1;
  border: none;
  border-radius: var(--r-full);
  padding: .85rem 1.5rem;
  font-size: .92rem;
  outline: none;
}

/* ═══════════════════════════════════════════════════════════
   SCROLL-TO-TOP
═══════════════════════════════════════════════════════════ */
.ht-scroll-top {
  position: fixed;
  bottom: var(--sp-8);
  right: var(--sp-6);
  width: 44px;
  height: 44px;
  background: var(--ht-coral);
  color: var(--ht-white);
  border: none;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  opacity: 0;
  transform: translateY(10px);
  transition: all var(--t-base) var(--ease);
  z-index: 900;
  font-size: 1rem;
}
.ht-scroll-top.visible { opacity: 1; transform: translateY(0); }
.ht-scroll-top:hover { background: var(--ht-coral-dark); transform: translateY(-3px); }

/* ═══════════════════════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes countUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}

.animate-on-scroll.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.animate-stagger > * { transition-delay: calc(var(--i, 0) * 0.1s); }

/* ═══════════════════════════════════════════════════════════
   WP TRAVEL ENGINE OVERRIDES
═══════════════════════════════════════════════════════════ */
.wte-trip-search-wrap { display: none; } /* use our own search */

.wte-trip-price { color: var(--ht-teal) !important; font-family: var(--font-display) !important; }

/* ═══════════════════════════════════════════════════════════
   ACCESSIBILITY
═══════════════════════════════════════════════════════════ */
:focus-visible {
  outline: 3px solid var(--ht-coral);
  outline-offset: 3px;
  border-radius: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ═══════════════════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════════════════ */
@media print {
  .ht-topbar, .ht-header, .ht-footer, .ht-scroll-top { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   ARCHIVE HERO (improved)
═══════════════════════════════════════════════════════════ */
.ht-archive-hero {
  position: relative;
  padding: var(--sp-20) 0 var(--sp-16);
  overflow: hidden;
  min-height: 380px;
  display: flex;
  align-items: center;
}

.ht-archive-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
}

.ht-archive-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(4, 74, 69, 0.82) 0%,
    rgba(15, 118, 110, 0.65) 100%
  );
}

.ht-archive-hero__content {
  position: relative;
  z-index: 2;
}

.ht-filter-bar-wrap {
  background: var(--ht-white);
  border-bottom: 1px solid var(--ht-border);
  padding: 1rem 0;
  position: sticky;
  top: 70px;
  z-index: 50;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.ht-filter-bar {
  display: flex;
  gap: .75rem;
  align-items: center;
  flex-wrap: wrap;
  background: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin-top: 0;
}

.ht-filter-bar__label {
  font-weight: 600;
  font-size: .85rem;
  color: var(--ht-text-muted);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: .4rem;
}

.ht-no-results-block {
  text-align: center;
  padding: 5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TRIP — HERO PILLS
═══════════════════════════════════════════════════════════ */
.ht-trip-hero__pills {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.ht-trip-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(255, 255, 255, .18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 99px;
  padding: .3rem 1rem;
  font-size: .82rem;
  color: #fff;
  font-weight: 500;
}

.ht-trip-hero__pill--price {
  background: rgba(233, 93, 60, .85);
  border-color: rgba(233, 93, 60, .4);
  font-weight: 700;
}

.ht-trip-hero__pill--difficulty.ht-difficulty--easy     { background: rgba(34,197,94,.8); }
.ht-trip-hero__pill--difficulty.ht-difficulty--moderate { background: rgba(234,179,8,.8); }
.ht-trip-hero__pill--difficulty.ht-difficulty--strenuous { background: rgba(239,68,68,.8); }
.ht-trip-hero__pill--difficulty.ht-difficulty--extreme  { background: rgba(88,28,135,.8); }

.ht-trip-layout {
  padding-top: var(--sp-10);
  padding-bottom: var(--sp-16);
}

/* ═══════════════════════════════════════════════════════════
   BOOKING CARD (sidebar)
═══════════════════════════════════════════════════════════ */
.ht-booking-card {
  background: var(--ht-white);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 1px solid var(--ht-border);
}

.ht-booking-card__header {
  background: linear-gradient(135deg, var(--ht-teal-dark), var(--ht-teal));
  color: #fff;
  padding: 1.25rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.ht-booking-card__label {
  font-size: .78rem;
  opacity: .85;
  font-weight: 500;
  margin-bottom: .25rem;
}

.ht-booking-card__price {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  flex-wrap: wrap;
  margin: 0;
}

.ht-booking-card__price strong {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 800;
}

.ht-booking-card__price-from,
.ht-booking-card__price-per {
  font-size: .78rem;
  opacity: .8;
}

.ht-booking-card__badge {
  background: rgba(255,255,255,.2);
  border-radius: 99px;
  padding: .25rem .75rem;
  font-size: .72rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
}

.ht-booking-card__trust {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--ht-border);
  background: var(--ht-teal-xlight);
}

.ht-booking-card__trust span {
  font-size: .78rem;
  color: var(--ht-text-muted);
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* ═══════════════════════════════════════════════════════════
   QUICK FACTS
═══════════════════════════════════════════════════════════ */
.ht-quick-facts {
  background: var(--ht-white);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--ht-border);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.ht-quick-facts__heading {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ht-border);
  color: var(--ht-text);
  margin: 0;
}

.ht-quick-facts__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ht-quick-facts__list li {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem 1.25rem;
  font-size: .87rem;
  border-bottom: 1px solid rgba(15,118,110,.07);
}

.ht-quick-facts__list li:last-child { border-bottom: none; }

.ht-quick-facts__list li i {
  color: var(--ht-teal);
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

.ht-quick-facts__label {
  color: var(--ht-text-muted);
  flex: 1;
}

.ht-quick-facts__value {
  font-weight: 600;
  color: var(--ht-text);
  text-align: right;
}

/* ═══════════════════════════════════════════════════════════
   SIDEBAR HELP
═══════════════════════════════════════════════════════════ */
.ht-sidebar-help {
  background: linear-gradient(135deg, var(--ht-teal-xlight), rgba(233,93,60,.06));
  border-radius: var(--r-xl);
  padding: 1.75rem 1.5rem;
  text-align: center;
  border: 1px solid rgba(15,118,110,.12);
}

.ht-sidebar-help__icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, var(--ht-teal-dark), var(--ht-teal));
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 1rem;
  color: #fff;
  font-size: 1.4rem;
}

.ht-sidebar-help h4 {
  font-family: var(--font-display);
  font-weight: 700;
  margin-bottom: .5rem;
  font-size: 1.1rem;
}

.ht-sidebar-help p {
  font-size: .85rem;
  color: var(--ht-text-muted);
  margin-bottom: 1.25rem;
  line-height: 1.6;
}

.ht-sidebar-help__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: #25D366;
  color: #fff;
  border-radius: 99px;
  padding: .65rem 1.5rem;
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
  margin-bottom: .75rem;
}
.ht-sidebar-help__btn:hover { background: #1ebe5d; transform: translateY(-1px); }

.ht-sidebar-help__phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  color: var(--ht-teal);
  font-size: .88rem;
  font-weight: 500;
  text-decoration: none;
}
.ht-sidebar-help__phone:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════
   TRIP HIGHLIGHTS
═══════════════════════════════════════════════════════════ */
.ht-highlights {
  margin-top: 2.5rem;
  padding: 2rem;
  background: var(--ht-teal-xlight);
  border-radius: var(--r-xl);
  border-left: 4px solid var(--ht-teal);
}

.ht-highlights__heading {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}

.ht-highlights__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: .65rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ht-highlights__list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .92rem;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════
   TRIP MAP EMBED
═══════════════════════════════════════════════════════════ */
.ht-trip-map { margin-top: 2.5rem; }
.ht-trip-section-title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.ht-map-embed {
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: var(--shadow-md);
}
.ht-map-embed iframe { display: block; }

/* ═══════════════════════════════════════════════════════════
   TRIP SHARE
═══════════════════════════════════════════════════════════ */
.ht-trip-share {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(15,118,110,.12);
}

/* ═══════════════════════════════════════════════════════════
   404 PAGE
═══════════════════════════════════════════════════════════ */
.ht-404-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.ht-404-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.ht-404-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(4,74,69,.85), rgba(15,118,110,.7));
}

.ht-404-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: var(--sp-20) 1rem;
}

.ht-404-badge {
  font-family: var(--font-display);
  font-size: clamp(5rem, 15vw, 10rem);
  font-weight: 900;
  line-height: 1;
  color: rgba(255,255,255,.15);
  margin-bottom: -1rem;
}

.ht-404-hero__content h1 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  color: #fff;
  margin-bottom: 1rem;
}

.ht-404-hero__content p {
  font-size: 1.1rem;
  color: rgba(255,255,255,.8);
  max-width: 48ch;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.ht-404-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════
   GENERIC PAGE HERO
═══════════════════════════════════════════════════════════ */
.ht-page-hero {
  position: relative;
  height: 340px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

.ht-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(4,74,69,.8) 0%,
    rgba(15,118,110,.4) 60%,
    transparent 100%
  );
}

.ht-page-hero__content {
  position: relative;
  z-index: 2;
  padding-bottom: 2.5rem;
}

.ht-page-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 2.75rem);
  font-weight: 800;
  color: #fff;
  margin: .5rem 0 0;
}

/* ═══════════════════════════════════════════════════════════
   PROSE / RICH TEXT
═══════════════════════════════════════════════════════════ */
.ht-prose {
  line-height: 1.8;
  font-size: 1rem;
  color: var(--ht-text);
}
.ht-prose h2, .ht-prose h3 {
  font-family: var(--font-display);
  color: var(--ht-teal-dark);
  margin-top: 2rem;
  margin-bottom: .75rem;
}
.ht-prose h2 { font-size: 1.6rem; }
.ht-prose h3 { font-size: 1.25rem; }
.ht-prose p { margin-bottom: 1.25rem; }
.ht-prose ul, .ht-prose ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.ht-prose li { margin-bottom: .4rem; }
.ht-prose a { color: var(--ht-teal); text-decoration: underline; }
.ht-prose a:hover { color: var(--ht-teal-dark); }
.ht-prose img { border-radius: var(--r-lg); max-width: 100%; height: auto; }
.ht-prose blockquote {
  border-left: 4px solid var(--ht-teal);
  background: var(--ht-teal-xlight);
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  border-radius: 0 var(--r-lg) var(--r-lg) 0;
  font-style: italic;
  color: var(--ht-teal-dark);
}



/* ═══════════════════════════════════════════════════════════
   GLOBAL TYPOGRAPHY — ALL PAGES (override WTE & plugins)
═══════════════════════════════════════════════════════════ */

/* Ensure display font on ALL headings site-wide */
h1, h2, h3, h4, h5, h6,
.wte-tabs__title,
.wpte-field-label,
.wte-tab-content h2,
.wte-tab-content h3,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--font-display), 'Roboto Condensed', sans-serif !important;
  letter-spacing: -.01em;
  line-height: 1.2;
}

/* Roboto body font everywhere */
body,
.entry-content,
.wte-tab-content,
.wte-tabs,
.wpte-meta-wrapper,
.wte-trip-meta,
p, li, td, th, input, select, textarea, button {
  font-family: var(--font-body), 'Roboto', sans-serif;
}

/* Heading hierarchy for internal pages */
.entry-content h1 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800; color: var(--ht-teal-dark); margin: 2rem 0 1rem; }
.entry-content h2 { font-size: clamp(1.4rem, 2.5vw, 2rem);   font-weight: 700; color: var(--ht-text); margin: 1.75rem 0 .875rem; }
.entry-content h3 { font-size: 1.25rem; font-weight: 700; color: var(--ht-text); margin: 1.5rem 0 .75rem; }
.entry-content h4 { font-size: 1.05rem; font-weight: 700; color: var(--ht-teal); margin: 1.25rem 0 .625rem; }
.entry-content p  { margin-bottom: 1.125rem; line-height: 1.75; font-size: .97rem; color: var(--ht-text); }
.entry-content ul, .entry-content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.entry-content li { margin-bottom: .4rem; line-height: 1.7; }
.entry-content strong { font-weight: 700; color: var(--ht-text); }
.entry-content a { color: var(--ht-teal); text-decoration: underline; }
.entry-content a:hover { color: var(--ht-coral); }

/* ── WP Travel Engine content styling ── */
.wte-tab-content { font-size: .95rem; line-height: 1.75; color: var(--ht-text); }
.wte-tab-content h2 { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--ht-teal-dark) !important; margin-bottom: .75rem !important; }
.wte-tab-content h3 { font-size: 1.2rem !important; font-weight: 700 !important; }
.wte-tab-content p  { margin-bottom: 1rem; }

.wte-tabs__nav {
  border-bottom: 2px solid rgba(15,118,110,.12) !important;
  gap: .25rem !important;
}
.wte-tabs__nav-item.active .wte-tabs__title,
.wte-tabs__nav-item:hover .wte-tabs__title {
  color: var(--ht-teal) !important;
  border-bottom-color: var(--ht-teal) !important;
}

/* ═══════════════════════════════════════════════════════════
   TRIP CARD DESCRIPTION (caption)
═══════════════════════════════════════════════════════════ */
.ht-trip-card__desc {
  font-size: .84rem;
  color: var(--ht-text-muted);
  line-height: 1.55;
  margin-bottom: var(--sp-4);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Price amount now teal (matching mockup) ── */
.ht-trip-card__price-amount {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--ht-teal);
  line-height: 1;
}

/* ═══════════════════════════════════════════════════════════
   NAV — ACTIVE / HOVER coral highlight (match mockup)
═══════════════════════════════════════════════════════════ */
.ht-primary-menu > li > a:hover,
.ht-primary-menu > li.current-menu-item > a,
.ht-primary-menu > li.current-menu-ancestor > a,
.ht-primary-menu > li.current_page_item > a {
  color: var(--ht-coral) !important;
  background: rgba(255, 127, 80, .07) !important;
}

/* "Find a Trek" button in nav — keep coral pill look from mockup */
.ht-nav-actions .ht-btn--primary {
  background: var(--ht-coral);
  border-color: var(--ht-coral);
  box-shadow: 0 4px 14px rgba(255,127,80,.3);
}
.ht-nav-actions .ht-btn--primary:hover {
  background: var(--ht-coral-dark);
  border-color: var(--ht-coral-dark);
  box-shadow: 0 6px 20px rgba(255,127,80,.45);
  transform: translateY(-2px);
}

/* ═══════════════════════════════════════════════════════════
   BREADCRUMB — Internal page refinement
═══════════════════════════════════════════════════════════ */
.ht-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .02em;
  color: rgba(255,255,255,.75);
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 100px;
  padding: .35rem .9rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.ht-breadcrumb a {
  color: rgba(255,255,255,.8);
  text-decoration: none;
  transition: color .18s;
}
.ht-breadcrumb a:hover { color: #fff; }
.ht-breadcrumb .current {
  color: rgba(255,255,255,.55);
  font-weight: 400;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ht-breadcrumb .sep {
  color: rgba(255,255,255,.3);
  font-size: .55rem;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   FILTER BAR — sticky filter improvements
═══════════════════════════════════════════════════════════ */
.ht-filter-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230F766E' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 2rem !important;
  cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════
   HERO SEARCH BOX — match mockup exactly
═══════════════════════════════════════════════════════════ */
.ht-hero__search .ht-search-field label {
  font-size: .68rem;
  font-weight: 700;
  color: var(--ht-teal);
  text-transform: uppercase;
  letter-spacing: .08em;
}



/* ═══════════════════════════════════════════════════════════
   MOUNTAIN RIDGE SVG DIVIDER (Organic anchor differentiator)
═══════════════════════════════════════════════════════════ */
.ht-mountain-divider {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin-bottom: -2px;
}
.ht-mountain-divider svg {
  display: block;
  width: 100%;
  height: 72px;
}
.ht-mountain-divider--flip svg { transform: scaleX(-1); }
.ht-mountain-divider--teal  svg path { fill: var(--ht-teal); }
.ht-mountain-divider--sand  svg path { fill: var(--ht-sand); }
.ht-mountain-divider--white svg path { fill: #fff; }
.ht-mountain-divider--soft  svg path { fill: var(--ht-bg-soft); }

/* ═══════════════════════════════════════════════════════════
   DESTINATION CARDS — improved with real images
═══════════════════════════════════════════════════════════ */
.ht-destination-card {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  display: block;
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}
.ht-destination-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: var(--shadow-lg);
}
.ht-destination-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s var(--ease);
}
.ht-destination-card:hover img { transform: scale(1.08); }

.ht-destination-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ht-destination-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4,50,44,.85) 0%, rgba(4,50,44,.2) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem 1.25rem;
  z-index: 2;
}
.ht-destination-card__name {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--ht-white);
  line-height: 1.2;
  margin-bottom: .25rem;
}
.ht-destination-card__count {
  font-size: .78rem;
  color: rgba(255,255,255,.75);
  font-weight: 500;
  letter-spacing: .04em;
}
.ht-destination-card__arrow {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(6px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: .75rem;
  opacity: 0;
  transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.ht-destination-card:hover .ht-destination-card__arrow {
  opacity: 1;
  transform: translate(2px, -2px);
}

/* ═══════════════════════════════════════════════════════════
   DEPARTURE CARDS — pro design with proper image
═══════════════════════════════════════════════════════════ */
.ht-departure-card {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 0;
  background: var(--ht-white);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(15,118,110,.08);
  transition: all var(--t-base) var(--ease);
}
.ht-departure-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(15,118,110,.18);
}
.ht-departure-card__image {
  height: 100%;
  min-height: 130px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.ht-departure-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ease);
}
.ht-departure-card:hover .ht-departure-card__image img {
  transform: scale(1.08);
}
.ht-departure-card__body {
  padding: 1.25rem 1.25rem 1rem;
  min-width: 0;
}
.ht-departure-card__date {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .75rem;
  font-weight: 700;
  color: var(--ht-teal);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .4rem;
  background: var(--ht-teal-xlight);
  padding: .2rem .6rem;
  border-radius: 4px;
}
.ht-departure-card__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: .5rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ht-departure-card__title a { color: var(--ht-text); text-decoration: none; }
.ht-departure-card__title a:hover { color: var(--ht-teal); }
.ht-departure-card__meta {
  display: flex;
  gap: 1rem;
  font-size: .78rem;
  color: var(--ht-text-muted);
  margin-bottom: .75rem;
}
.ht-departure-card__meta span { display: flex; align-items: center; gap: .3rem; }
.ht-departure-card__meta i { color: var(--ht-teal); }
.ht-departure-card__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .6rem;
  padding: 1.25rem;
  border-left: 1px solid rgba(15,118,110,.07);
  flex-shrink: 0;
}
.ht-departure-card__price {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--ht-teal);
  line-height: 1;
}
.ht-departure-card__price span { font-size: .68rem; font-weight: 400; color: var(--ht-text-muted); display: block; margin-bottom: 2px; }

/* "View All Fixed Departures" — styled more boldly */
.ht-departures-cta {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: linear-gradient(135deg, var(--ht-teal-dark), var(--ht-teal));
  color: white !important;
  padding: .875rem 2.25rem;
  border-radius: var(--r-full);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  box-shadow: 0 6px 24px rgba(15,118,110,.3);
  transition: all var(--t-base) var(--ease);
  letter-spacing: .02em;
}
.ht-departures-cta:hover {
  box-shadow: 0 10px 32px rgba(15,118,110,.4);
  transform: translateY(-3px);
  background: linear-gradient(135deg, var(--ht-teal), var(--ht-teal-light));
}

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════════════════════════════ */
.ht-about-hero {
  position: relative;
  height: 480px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.ht-about-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ht-about-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4,50,44,.85) 0%, rgba(15,118,110,.3) 60%, transparent 100%);
}
.ht-about-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3rem 0;
}
.ht-about-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  color: white;
  letter-spacing: -.02em;
  line-height: 1.1;
  text-shadow: 0 4px 20px rgba(0,0,0,.3);
}

.ht-about-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  padding: var(--sp-24) 0;
}
@media (max-width: 768px) { .ht-about-story { grid-template-columns: 1fr; gap: 2.5rem; } }

.ht-about-story__img {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
}
.ht-about-story__img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--r-xl);
}
.ht-about-story__img::after {
  content: '';
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 60%;
  height: 60%;
  background: linear-gradient(135deg, var(--ht-coral), var(--ht-teal));
  border-radius: var(--r-xl);
  z-index: -1;
  opacity: .25;
}

.ht-about-story__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ht-teal-xlight);
  color: var(--ht-teal);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .4rem 1rem;
  border-radius: var(--r-full);
  margin-bottom: 1.25rem;
}
.ht-about-story__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--ht-text);
  margin-bottom: 1.25rem;
}
.ht-about-story__body {
  font-size: 1rem;
  color: var(--ht-text-muted);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.ht-about-values {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
  margin-top: 1.75rem;
}
@media (max-width: 640px) { .ht-about-values { grid-template-columns: 1fr; } }

.ht-about-value {
  background: var(--ht-teal-xlight);
  border-radius: var(--r-lg);
  padding: 1.25rem;
  border-left: 3px solid var(--ht-teal);
}
.ht-about-value__icon { font-size: 1.25rem; color: var(--ht-teal); margin-bottom: .5rem; }
.ht-about-value__title { font-family: var(--font-display); font-size: .95rem; font-weight: 700; margin-bottom: .25rem; }
.ht-about-value__text { font-size: .82rem; color: var(--ht-text-muted); line-height: 1.55; }

.ht-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}
.ht-team-card {
  text-align: center;
  background: white;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(15,118,110,.08);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.ht-team-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.ht-team-card__img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.ht-team-card__img-placeholder {
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--ht-teal-xlight), var(--ht-sand));
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--ht-teal);
}
.ht-team-card__body { padding: 1.25rem 1rem 1.5rem; }
.ht-team-card__name { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; margin-bottom: .25rem; }
.ht-team-card__role { font-size: .8rem; color: var(--ht-coral); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.ht-team-card__bio  { font-size: .82rem; color: var(--ht-text-muted); margin-top: .5rem; line-height: 1.55; }

/* testimonials manual drag override */
.ht-testimonials-track.is-dragging { cursor: grabbing; animation-play-state: paused; }

/* duplicate testimonials set for seamless loop */
.ht-testimonials-track .ht-testimonial-card { flex: 0 0 340px; }

/* ═══════════════════════════════════════════════════════════
   ABOUT PAGE — full template styles
═══════════════════════════════════════════════════════════ */
.ht-about-hero__sub { color:rgba(255,255,255,.8); font-size:1.05rem; max-width:52ch; line-height:1.7; margin-top:.75rem; }
.ht-about-story__image { position:relative; border-radius:var(--r-xl); overflow:visible; }
.ht-about-story__image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-xl); box-shadow:0 24px 64px rgba(15,118,110,.2); }
.ht-about-story__badge { position:absolute; bottom:-1.5rem; right:-1.5rem; background:linear-gradient(135deg,var(--ht-teal-dark),var(--ht-teal)); color:#fff; border-radius:var(--r-lg); padding:1rem 1.25rem; text-align:center; box-shadow:0 12px 32px rgba(15,118,110,.35); }
.ht-about-story__badge-number { display:block; font-family:var(--font-display); font-size:2rem; font-weight:900; line-height:1; }
.ht-about-story__badge-text { font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; opacity:.85; line-height:1.3; }
.ht-about-story__pillars { display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:1.75rem; padding-top:1.75rem; border-top:1px solid var(--ht-border); }
.ht-about-story__pillar { display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:600; color:var(--ht-text); }
.ht-about-story__pillar i { font-size:1.1rem; }
.ht-about-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; margin-top:3rem; }
@media (max-width:900px) { .ht-about-values { grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px) { .ht-about-values { grid-template-columns:1fr; } }
.ht-about-value-card { background:#fff; border-radius:var(--r-xl); padding:1.75rem; box-shadow:var(--shadow-sm); border:1px solid var(--ht-border); transition:transform .3s var(--ease),box-shadow .3s var(--ease); }
.ht-about-value-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ht-about-value-card__icon { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; font-size:1.35rem; margin-bottom:1rem; }
.ht-about-value-card__title { font-family:var(--font-display); font-size:1.05rem; font-weight:700; margin-bottom:.6rem; color:var(--ht-text); }
.ht-about-value-card__text { font-size:.875rem; color:var(--ht-text-muted); line-height:1.7; }
.ht-team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:2rem; margin-top:3rem; }
.ht-team-card { background:#fff; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--ht-border); transition:transform .3s var(--ease),box-shadow .3s var(--ease); }
.ht-team-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.ht-team-card__image-wrap { position:relative; overflow:hidden; }
.ht-team-card__image { width:100%; aspect-ratio:1; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.ht-team-card:hover .ht-team-card__image { transform:scale(1.05); }
.ht-team-card__body { padding:1.25rem 1.25rem 1.5rem; }
.ht-team-card__name { font-family:var(--font-display); font-size:1.05rem; font-weight:700; margin-bottom:.2rem; }
.ht-team-card__role { font-size:.78rem; color:var(--ht-coral); font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.75rem; }
.ht-team-card__quote { font-size:.85rem; color:var(--ht-text-muted); font-style:italic; line-height:1.65; border-left:3px solid var(--ht-teal-xlight); padding-left:.75rem; margin:0 0 1rem; }
.ht-team-card__meta { display:flex; flex-direction:column; gap:.35rem; font-size:.78rem; color:var(--ht-text-muted); }
.ht-team-card__meta i { color:var(--ht-teal); margin-right:.35rem; width:14px; }
.ht-certs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.5rem; margin-top:2.5rem; }
.ht-cert-item { background:#fff; border-radius:var(--r-xl); padding:1.75rem 1.25rem; text-align:center; border:1px solid var(--ht-border); box-shadow:var(--shadow-sm); }
.ht-cert-item__icon { font-size:2rem; color:var(--ht-teal); margin-bottom:.75rem; }
.ht-cert-item__name { font-family:var(--font-display); font-size:.95rem; font-weight:700; margin-bottom:.4rem; }
.ht-cert-item__detail { font-size:.8rem; color:var(--ht-text-muted); line-height:1.5; }

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════════════════ */
.ht-contact-layout { display:grid; grid-template-columns:380px 1fr; gap:3.5rem; align-items:start; }
@media (max-width:900px) { .ht-contact-layout { grid-template-columns:1fr; } }
.ht-contact-info { display:flex; flex-direction:column; gap:1rem; }
.ht-contact-info-card { display:flex; align-items:flex-start; gap:1rem; background:#fff; border-radius:var(--r-lg); padding:1.1rem 1.25rem; border:1px solid var(--ht-border); }
.ht-contact-info-card__icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:1.1rem; flex-shrink:0; }
.ht-contact-info-card__label { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--ht-text-muted); margin-bottom:.25rem; }
.ht-contact-info-card__value { font-size:.95rem; font-weight:600; color:var(--ht-text); text-decoration:none; }
.ht-contact-info-card__value:hover { color:var(--ht-teal); }
.ht-contact-hours { background:#fff; border-radius:var(--r-lg); padding:1.25rem; border:1px solid var(--ht-border); }
.ht-contact-social { display:flex; gap:.75rem; padding-top:.5rem; }
.ht-contact-social a { width:40px; height:40px; border-radius:50%; background:var(--ht-teal-xlight); color:var(--ht-teal); display:grid; place-items:center; font-size:1rem; text-decoration:none; transition:background .2s,color .2s; }
.ht-contact-social a:hover { background:var(--ht-teal); color:#fff; }
.ht-contact-form-card { background:#fff; border-radius:var(--r-xl); padding:2.5rem; box-shadow:var(--shadow-md); border:1px solid var(--ht-border); }
.ht-raw-contact-form { display:flex; flex-direction:column; gap:1.1rem; }
.ht-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:600px) { .ht-form-row { grid-template-columns:1fr; } }
.ht-form-group { display:flex; flex-direction:column; gap:.4rem; }
.ht-form-group label { font-size:.85rem; font-weight:600; color:var(--ht-text); }
.ht-form-group label span { color:var(--ht-coral); }
.ht-form-group input,.ht-form-group select,.ht-form-group textarea { border:1.5px solid var(--ht-border); border-radius:var(--r-md); padding:.7rem 1rem; font-size:.92rem; font-family:var(--font-body); color:var(--ht-text); background:#faf9f7; transition:border-color .2s,box-shadow .2s; outline:none; }
.ht-form-group input:focus,.ht-form-group select:focus,.ht-form-group textarea:focus { border-color:var(--ht-teal); box-shadow:0 0 0 3px rgba(15,118,110,.1); }
.ht-form-group textarea { resize:vertical; }
.ht-contact-map-wrap { width:100%; overflow:hidden; }

/* Destination card arrow overlay */
.ht-destination-card__arrow {
  position:absolute;
  top:1rem;
  right:1rem;
  width:36px; height:36px;
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(8px);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:.85rem;
  opacity:0;
  transform:translate(6px,-6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.ht-destination-card:hover .ht-destination-card__arrow {
  opacity:1;
  transform:translate(0,0);
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TRIP — PREMIUM LAYOUT
═══════════════════════════════════════════════════════════ */
.ht-trip-hero { position:relative; height:88vh; min-height:560px; max-height:800px; overflow:hidden; display:flex; align-items:flex-end; }
.ht-trip-hero__img { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.04); transition:transform 8s ease-out; }
.ht-trip-hero:hover .ht-trip-hero__img { transform:scale(1); }
.ht-trip-hero__gradient { position:absolute; inset:0; background:linear-gradient(to top, rgba(4,30,24,.92) 0%, rgba(4,30,24,.55) 40%, rgba(0,0,0,.1) 100%); }
.ht-trip-hero__inner { position:relative; z-index:2; width:100%; padding-bottom:3rem; }
.ht-trip-hero__meta-row { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.ht-trip-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .85rem; border-radius:var(--r-full); font-size:.78rem; font-weight:600; background:rgba(255,255,255,.15); color:#fff; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.2); }
.ht-trip-pill--diff.ht-difficulty--easy      { background:rgba(22,163,74,.3); }
.ht-trip-pill--diff.ht-difficulty--moderate  { background:rgba(234,179,8,.3); }
.ht-trip-pill--diff.ht-difficulty--strenuous { background:rgba(234,88,12,.3); }
.ht-trip-pill--diff.ht-difficulty--extreme   { background:rgba(220,38,38,.3); }
.ht-trip-hero__title { font-family:var(--font-display); font-size:clamp(2rem,5vw,3.75rem); font-weight:900; color:#fff; letter-spacing:-.02em; line-height:1.1; text-shadow:0 4px 24px rgba(0,0,0,.4); margin-bottom:1.25rem; }
.ht-trip-hero__stats { display:flex; gap:1.5rem; flex-wrap:wrap; }
.ht-trip-hero__stat { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.85); font-size:.9rem; font-weight:500; }
.ht-trip-hero__stat i { color:var(--ht-coral); }
.ht-trip-hero__stat--price { background:rgba(255,127,80,.2); padding:.35rem 1rem; border-radius:var(--r-full); border:1px solid rgba(255,127,80,.4); font-weight:700; color:#fff; }

/* Quick nav */
.ht-trip-quicknav { background:#fff; border-bottom:1px solid var(--ht-border); position:sticky; top:80px; z-index:100; box-shadow:0 2px 12px rgba(0,0,0,.05); }
.ht-trip-quicknav__inner { display:flex; gap:0; align-items:center; overflow-x:auto; scrollbar-width:none; }
.ht-trip-quicknav__inner::-webkit-scrollbar { display:none; }
.ht-trip-quicknav__link { padding:.85rem 1.25rem; font-size:.88rem; font-weight:600; color:var(--ht-text-muted); text-decoration:none; border-bottom:3px solid transparent; transition:all .2s; white-space:nowrap; }
.ht-trip-quicknav__link:hover, .ht-trip-quicknav__link.active { color:var(--ht-teal); border-bottom-color:var(--ht-teal); }
.ht-trip-quicknav__link--cta { margin-left:auto; background:var(--ht-coral); color:#fff; border-radius:var(--r-md); margin:auto .75rem auto auto; padding:.55rem 1.25rem; border-bottom:none; }
.ht-trip-quicknav__link--cta:hover { background:var(--ht-coral-dark); color:#fff; border-bottom-color:transparent; transform:none; }

/* Body layout */
.ht-trip-body-wrap { padding-top:2.5rem; padding-bottom:4rem; }
.ht-trip-content-cols { display:grid; grid-template-columns:1fr 360px; gap:3rem; align-items:start; }
@media (max-width:1024px) { .ht-trip-content-cols { grid-template-columns:1fr; } }

/* Section headings */
.ht-trip-section { margin-bottom:3rem; }
.ht-trip-section__heading { display:flex; align-items:center; gap:.75rem; font-family:var(--font-display); font-size:1.4rem; font-weight:800; margin-bottom:1.5rem; padding-bottom:.75rem; border-bottom:2px solid var(--ht-border); }
.ht-trip-section__heading-icon { width:38px; height:38px; border-radius:10px; background:var(--ht-teal-xlight); color:var(--ht-teal); display:grid; place-items:center; font-size:1rem; flex-shrink:0; }

/* Highlights grid */
.ht-highlights-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (max-width:640px) { .ht-highlights-grid { grid-template-columns:1fr; } }
.ht-highlight-item { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.25rem; background:#fff; border-radius:var(--r-lg); border:1px solid var(--ht-border); font-size:.92rem; line-height:1.5; }
.ht-highlight-item i { color:var(--ht-teal); font-size:1.1rem; margin-top:.1rem; flex-shrink:0; }

/* Departure table */
.ht-dep-table-wrap { overflow-x:auto; border-radius:var(--r-xl); border:1px solid var(--ht-border); box-shadow:var(--shadow-sm); }
.ht-dep-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.ht-dep-table thead th { background:var(--ht-teal-dark); color:#fff; padding:.85rem 1rem; text-align:left; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ht-dep-table thead th:first-child { border-radius:var(--r-xl) 0 0 0; }
.ht-dep-table thead th:last-child  { border-radius:0 var(--r-xl) 0 0; }
.ht-dep-row { border-bottom:1px solid var(--ht-border); transition:background .15s; }
.ht-dep-row:last-child { border-bottom:none; }
.ht-dep-row:hover { background:var(--ht-teal-xlight); }
.ht-dep-row--sold-out { opacity:.55; }
.ht-dep-row td { padding:.9rem 1rem; vertical-align:middle; }
.ht-dep-date-badge { display:flex; flex-direction:column; align-items:center; width:52px; background:var(--ht-teal-xlight); border-radius:var(--r-md); padding:.4rem; line-height:1; border:1px solid rgba(15,118,110,.15); }
.ht-dep-date-badge__month { font-size:.62rem; font-weight:700; text-transform:uppercase; color:var(--ht-teal); letter-spacing:.08em; }
.ht-dep-date-badge__day   { font-size:1.5rem; font-weight:900; font-family:var(--font-display); color:var(--ht-text); line-height:1.1; }
.ht-dep-date-badge__year  { font-size:.6rem; color:var(--ht-text-muted); }
.ht-dep-status { display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:600; padding:.3rem .75rem; border-radius:var(--r-full); }
.ht-dep-status--open     { background:rgba(22,163,74,.1); color:#15803d; }
.ht-dep-status--filling  { background:rgba(234,88,12,.1); color:#c2410c; }
.ht-dep-status--sold-out { background:rgba(156,163,175,.15); color:#6b7280; }
.ht-dep-row__price { font-weight:700; color:var(--ht-text); }
.ht-dep-row__price-orig { text-decoration:line-through; color:var(--ht-text-muted); font-weight:400; font-size:.8rem; display:block; }
.ht-dep-row__price-eb { color:var(--ht-teal); font-size:1.05rem; font-weight:800; }
.ht-dep-row__price-badge { background:var(--ht-coral); color:#fff; font-size:.65rem; font-weight:700; padding:.15rem .5rem; border-radius:var(--r-full); text-transform:uppercase; letter-spacing:.06em; }
.ht-dep-note { margin-top:.75rem; font-size:.85rem; color:var(--ht-text-muted); display:flex; align-items:center; gap:.5rem; }
.ht-dep-note i { color:var(--ht-teal); }

/* Sidebar sticky */
.ht-trip-sidebar { position:sticky; top:calc(80px + 3.5rem); display:flex; flex-direction:column; gap:1.25rem; }
@media (max-width:1024px) { .ht-trip-sidebar { position:static; } }

/* Next departure card */
.ht-next-departure { background:#fff; border-radius:var(--r-xl); padding:1.5rem; border:1px solid var(--ht-border); box-shadow:var(--shadow-sm); }
.ht-next-departure__label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--ht-teal); margin-bottom:.5rem; display:flex; align-items:center; gap:.4rem; }
.ht-next-departure__date { font-family:var(--font-display); font-size:1.2rem; font-weight:800; color:var(--ht-text); margin-bottom:.5rem; }
.ht-next-departure__meta { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-bottom:.5rem; }
.ht-next-departure__badge { background:var(--ht-coral); color:#fff; font-size:.72rem; font-weight:700; padding:.25rem .65rem; border-radius:var(--r-full); }
.ht-seats-chip { background:var(--ht-teal-xlight); color:var(--ht-teal); font-size:.75rem; font-weight:600; padding:.25rem .65rem; border-radius:var(--r-full); display:inline-flex; align-items:center; gap:.3rem; }
.ht-next-departure__price { font-size:1.5rem; font-weight:900; font-family:var(--font-display); color:var(--ht-teal); }
.ht-next-departure__price span { font-size:.8rem; font-weight:400; color:var(--ht-text-muted); }

/* Mobile book bar */
.ht-mobile-book-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:200; background:#fff; border-top:1px solid var(--ht-border); padding:.75rem 1rem; box-shadow:0 -4px 20px rgba(0,0,0,.1); flex-direction:row; align-items:center; gap:.75rem; }
@media (max-width:768px) { .ht-mobile-book-bar { display:flex; } }
.ht-mobile-book-bar__price span { font-size:.75rem; color:var(--ht-text-muted); display:block; }
.ht-mobile-book-bar__price strong { font-size:1.1rem; font-weight:800; font-family:var(--font-display); }

/* ═══════════════════════════════════════════════════════════
   CONTACT / ITINERARY PLANNER PAGE
═══════════════════════════════════════════════════════════ */
.ht-contact-hero { background:linear-gradient(135deg, var(--ht-teal-dark) 0%, var(--ht-teal) 100%); padding:4.5rem 0 3.5rem; position:relative; overflow:hidden; }
.ht-contact-hero::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.ht-contact-hero__content { position:relative; z-index:1; }
.ht-contact-hero__title { font-family:var(--font-display); font-size:clamp(2rem,4.5vw,3.25rem); font-weight:900; color:#fff; letter-spacing:-.02em; line-height:1.1; margin-bottom:.5rem; }
.ht-contact-hero__badges { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; }
.ht-contact-hero__badges span { display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.12); color:rgba(255,255,255,.9); font-size:.82rem; font-weight:600; padding:.4rem 1rem; border-radius:var(--r-full); backdrop-filter:blur(8px); }

/* Main layout */
.ht-contact-main { display:grid; grid-template-columns:1fr 340px; gap:2.5rem; align-items:start; padding-top:2.5rem; }
@media (max-width:1024px) { .ht-contact-main { grid-template-columns:1fr; } }

/* Planner wrap */
.ht-planner-wrap { background:#fff; border-radius:var(--r-xl); box-shadow:var(--shadow-md); overflow:hidden; }

/* Progress steps */
.ht-planner-steps { display:flex; align-items:center; padding:1.5rem 2rem; background:var(--ht-teal-dark); gap:0; }
.ht-planner-step { display:flex; align-items:center; gap:.5rem; }
.ht-planner-step__num { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.2); color:rgba(255,255,255,.6); font-size:.8rem; font-weight:700; display:grid; place-items:center; flex-shrink:0; transition:all .3s; }
.ht-planner-step__label { font-size:.78rem; font-weight:600; color:rgba(255,255,255,.6); white-space:nowrap; transition:color .3s; }
.ht-planner-step.active .ht-planner-step__num { background:var(--ht-coral); color:#fff; box-shadow:0 0 0 4px rgba(233,93,60,.3); }
.ht-planner-step.active .ht-planner-step__label { color:#fff; }
.ht-planner-step.completed .ht-planner-step__num { background:rgba(255,255,255,.9); color:var(--ht-teal-dark); }
.ht-planner-step.completed .ht-planner-step__label { color:rgba(255,255,255,.8); }
.ht-planner-step-line { flex:1; height:2px; background:rgba(255,255,255,.2); min-width:1.5rem; }
@media (max-width:540px) { .ht-planner-step__label { display:none; } }

/* Fieldsets */
.ht-planner-fieldset { display:none; padding:2rem 2rem 1.5rem; border:none; }
.ht-planner-fieldset.active { display:block; }
.ht-planner-fieldset__title { display:flex; align-items:center; gap:.75rem; font-family:var(--font-display); font-size:1.15rem; font-weight:800; color:var(--ht-text); margin-bottom:1.75rem; padding-bottom:.75rem; border-bottom:2px solid var(--ht-border); }
.ht-planner-fieldset__title i { color:var(--ht-teal); }
.ht-planner-fieldset__nav { display:flex; gap:.75rem; margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid var(--ht-border); }

/* Trek option grid */
.ht-planner-trek-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:.75rem; }
.ht-trek-option { display:flex; flex-direction:column; border:2px solid var(--ht-border); border-radius:var(--r-lg); overflow:hidden; cursor:pointer; transition:border-color .2s, box-shadow .2s; position:relative; }
.ht-trek-option input { position:absolute; opacity:0; pointer-events:none; }
.ht-trek-option img { width:100%; height:80px; object-fit:cover; display:block; }
.ht-trek-option__label { padding:.6rem .75rem; }
.ht-trek-option__name { font-size:.8rem; font-weight:700; color:var(--ht-text); display:block; line-height:1.3; }
.ht-trek-option__days { font-size:.72rem; color:var(--ht-text-muted); display:block; margin-top:.15rem; }
.ht-trek-option__check { position:absolute; top:.5rem; right:.5rem; color:var(--ht-teal); font-size:1.15rem; opacity:0; transition:opacity .2s; }
.ht-trek-option.selected { border-color:var(--ht-teal); box-shadow:0 0 0 3px rgba(15,118,110,.15); }
.ht-trek-option.selected .ht-trek-option__check { opacity:1; }
.ht-trek-option:hover { border-color:var(--ht-teal); }

/* Form fields */
.ht-planner-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
@media (max-width:600px) { .ht-planner-row { grid-template-columns:1fr; } }
.ht-planner-field { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.ht-planner-label { font-size:.85rem; font-weight:600; color:var(--ht-text); }
.ht-planner-label span { color:var(--ht-coral); }
.ht-planner-hint { font-size:.75rem; color:var(--ht-text-muted); margin-top:.25rem; }
.ht-planner-input { border:1.5px solid var(--ht-border); border-radius:var(--r-md); padding:.7rem 1rem; font-size:.92rem; font-family:var(--font-body); color:var(--ht-text); background:#fafafa; transition:border-color .2s, box-shadow .2s; outline:none; width:100%; }
.ht-planner-input:focus { border-color:var(--ht-teal); box-shadow:0 0 0 3px rgba(15,118,110,.1); background:#fff; }
.ht-planner-input.ht-input-error { border-color:var(--ht-coral); }

/* Counter */
.ht-counter-input { display:flex; align-items:center; gap:0; border:1.5px solid var(--ht-border); border-radius:var(--r-md); overflow:hidden; }
.ht-counter-btn { width:42px; height:42px; background:var(--ht-sand); border:none; font-size:1.2rem; font-weight:700; color:var(--ht-teal); cursor:pointer; flex-shrink:0; transition:background .15s; }
.ht-counter-btn:hover { background:var(--ht-teal-xlight); }
.ht-counter-val { border:none; border-left:1.5px solid var(--ht-border); border-right:1.5px solid var(--ht-border); text-align:center; width:60px; border-radius:0; background:#fff; }

/* Chips */
.ht-chip-select { display:flex; gap:.5rem; flex-wrap:wrap; }
.ht-chip { display:inline-flex; align-items:center; gap:.35rem; border:1.5px solid var(--ht-border); border-radius:var(--r-full); padding:.4rem 1rem; font-size:.82rem; font-weight:600; cursor:pointer; transition:all .2s; color:var(--ht-text-muted); }
.ht-chip input { display:none; }
.ht-chip.selected, .ht-chip:has(input:checked) { background:var(--ht-teal-xlight); border-color:var(--ht-teal); color:var(--ht-teal); }
.ht-chip:hover { border-color:var(--ht-teal); color:var(--ht-teal); }

/* Difficulty cards */
.ht-difficulty-picker { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
@media (max-width:640px) { .ht-difficulty-picker { grid-template-columns:repeat(2,1fr); } }
.ht-diff-card { display:flex; flex-direction:column; align-items:center; gap:.4rem; text-align:center; padding:1.25rem .75rem; border:2px solid var(--ht-border); border-radius:var(--r-lg); cursor:pointer; transition:all .2s; }
.ht-diff-card input { display:none; }
.ht-diff-card i { font-size:1.5rem; color:var(--ht-text-muted); transition:color .2s; }
.ht-diff-card strong { font-size:.85rem; font-weight:700; color:var(--ht-text); }
.ht-diff-card span { font-size:.72rem; color:var(--ht-text-muted); line-height:1.4; }
.ht-diff-card.selected, .ht-diff-card:has(input:checked) { border-color:var(--ht-teal); background:var(--ht-teal-xlight); }
.ht-diff-card.selected i { color:var(--ht-teal); }
.ht-diff-card:hover { border-color:var(--ht-teal); }

/* Summary */
.ht-planner-summary { background:var(--ht-teal-xlight); border-radius:var(--r-lg); padding:1.25rem; margin-top:1.25rem; border:1px solid rgba(15,118,110,.15); }
.ht-planner-summary h4 { font-size:.9rem; font-weight:700; color:var(--ht-teal); margin-bottom:.75rem; display:flex; align-items:center; gap:.4rem; }
.ht-summary-row { display:flex; justify-content:space-between; align-items:center; font-size:.82rem; padding:.35rem 0; border-bottom:1px solid rgba(15,118,110,.1); }
.ht-summary-row:last-child { border-bottom:none; }
.ht-summary-row span { color:var(--ht-text-muted); }
.ht-summary-row strong { color:var(--ht-text); text-transform:capitalize; }

/* Pre-fill notice */
.ht-planner-prefill-notice { background:rgba(15,118,110,.08); border:1px solid rgba(15,118,110,.2); border-radius:var(--r-lg); padding:.85rem 1rem; font-size:.875rem; color:var(--ht-teal); display:flex; align-items:center; gap:.5rem; margin-bottom:1rem; font-weight:500; }

/* Privacy note */
.ht-planner-privacy { font-size:.75rem; color:var(--ht-text-muted); text-align:center; margin-top:.75rem; display:flex; align-items:center; justify-content:center; gap:.35rem; }

/* Success screen */
.ht-planner-success { flex-direction:column; align-items:center; text-align:center; padding:4rem 2rem; gap:1rem; }
.ht-planner-success__icon { font-size:4rem; color:var(--ht-teal); }
.ht-planner-success h2 { font-family:var(--font-display); font-size:1.75rem; font-weight:800; }

/* Contact aside */
.ht-contact-aside { display:flex; flex-direction:column; gap:1.25rem; position:sticky; top:calc(80px + 2.5rem); }
@media (max-width:1024px) { .ht-contact-aside { position:static; } }
.ht-contact-aside__card { background:#fff; border-radius:var(--r-xl); padding:1.5rem; box-shadow:var(--shadow-sm); border:1px solid var(--ht-border); }
.ht-contact-aside__title { font-family:var(--font-display); font-size:1rem; font-weight:800; margin-bottom:1rem; display:flex; align-items:center; gap:.5rem; color:var(--ht-text); }
.ht-contact-aside__title i { color:var(--ht-teal); }
.ht-contact-aside__btn { display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; border-radius:var(--r-lg); text-decoration:none; transition:transform .2s, box-shadow .2s; margin-bottom:.6rem; }
.ht-contact-aside__btn:last-child { margin-bottom:0; }
.ht-contact-aside__btn:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.ht-contact-aside__btn i { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; font-size:1.1rem; flex-shrink:0; }
.ht-contact-aside__btn div { display:flex; flex-direction:column; }
.ht-contact-aside__btn strong { font-size:.875rem; font-weight:700; }
.ht-contact-aside__btn span { font-size:.75rem; opacity:.7; }
.ht-contact-aside__btn--wa { background:#e9f9f0; } .ht-contact-aside__btn--wa i { background:#25D366; color:#fff; } .ht-contact-aside__btn--wa strong { color:#15803d; }
.ht-contact-aside__btn--phone { background:var(--ht-teal-xlight); } .ht-contact-aside__btn--phone i { background:var(--ht-teal); color:#fff; } .ht-contact-aside__btn--phone strong { color:var(--ht-teal-dark); }
.ht-contact-aside__btn--email { background:#fff5f5; } .ht-contact-aside__btn--email i { background:var(--ht-coral); color:#fff; } .ht-contact-aside__btn--email strong { color:var(--ht-coral-dark); }
.ht-contact-hours-table { width:100%; font-size:.83rem; border-collapse:collapse; margin-top:.5rem; }
.ht-contact-hours-table td { padding:.35rem 0; color:var(--ht-text-muted); }
.ht-contact-hours-table td:last-child { text-align:right; font-weight:600; color:var(--ht-text); }

/* ─── Professional Pagination ──────────────────────────────────────────── */
#ht-pagination { text-align:center; padding:2.5rem 0 1.5rem; }
#ht-pagination .page-numbers {
  display:inline-flex; align-items:center; gap:.4rem;
  list-style:none; margin:0; padding:0; flex-wrap:wrap; justify-content:center;
}
#ht-pagination .page-numbers li { list-style:none; margin:0; }
#ht-pagination .page-numbers a,
#ht-pagination .page-numbers span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:44px; padding:0 .8rem;
  border-radius:10px; font-size:.9rem; font-weight:600; line-height:1;
  text-decoration:none; transition:background .18s, color .18s, box-shadow .18s, transform .12s;
}
#ht-pagination .page-numbers a {
  background:#fff; color:var(--ht-text);
  border:1.5px solid var(--ht-border);
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
#ht-pagination .page-numbers a:hover {
  background:var(--ht-teal); color:#fff;
  border-color:var(--ht-teal);
  box-shadow:0 4px 14px rgba(15,118,110,.28);
  transform:translateY(-1px);
}
#ht-pagination .page-numbers span.current {
  background:var(--ht-teal); color:#fff;
  border:1.5px solid var(--ht-teal);
  box-shadow:0 4px 14px rgba(15,118,110,.28);
}
#ht-pagination .page-numbers .dots {
  background:transparent; border:none; color:var(--ht-text-muted);
  cursor:default; box-shadow:none; min-width:32px;
}
#ht-pagination .page-numbers .prev,
#ht-pagination .page-numbers .next {
  background:var(--ht-teal-xlight); color:var(--ht-teal-dark);
  border:1.5px solid rgba(15,118,110,.2); gap:.4rem;
  padding:0 1rem;
}
#ht-pagination .page-numbers .prev:hover,
#ht-pagination .page-numbers .next:hover {
  background:var(--ht-teal); color:#fff;
  border-color:var(--ht-teal);
}
@media (max-width:480px) {
  #ht-pagination .page-numbers a,
  #ht-pagination .page-numbers span { min-width:38px; height:38px; font-size:.82rem; padding:0 .6rem; }
  #ht-pagination .page-numbers .prev,
  #ht-pagination .page-numbers .next { padding:0 .8rem; }
}

/* ─── FAQ Accordion ────────────────────────────────────────────────────── */
.ht-trip-faq-section { margin-top: 2.5rem; }
.ht-faq-accordion { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.5rem; }

.ht-faq-item {
  border: 1px solid var(--ht-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .2s;
}
.ht-faq-item:has(.ht-faq-question[aria-expanded="true"]) {
  box-shadow: 0 4px 16px rgba(13,148,136,.10);
  border-color: var(--ht-teal);
}

.ht-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.4rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ht-navy);
  line-height: 1.4;
  transition: background .15s;
}
.ht-faq-question:hover { background: #f8fafc; }
.ht-faq-question[aria-expanded="true"] {
  color: var(--ht-teal);
  background: #f0fdf9;
}

.ht-faq-question__text { flex: 1; }

.ht-faq-chevron {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s;
  margin-top: -4px;
}
.ht-faq-question[aria-expanded="true"] .ht-faq-chevron {
  transform: rotate(-135deg);
  margin-top: 4px;
}

.ht-faq-answer {
  overflow: hidden;
  transition: max-height .3s ease;
}
.ht-faq-answer[hidden] { display: none; }
.ht-faq-answer__inner {
  padding: 0 1.4rem 1.25rem 1.4rem;
  font-size: .93rem;
  line-height: 1.75;
  color: #475569;
  border-top: 1px solid var(--ht-border);
}

@media (max-width: 640px) {
  .ht-faq-question { font-size: .9rem; padding: 1rem 1rem; }
  .ht-faq-answer__inner { padding: 0 1rem 1rem 1rem; }
}

/* ─── Admin Branding (site logo in WP admin bar) ──────────────────────── */
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon { overflow:visible; }
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon::before {
  content:'' !important;
  display:block; width:20px; height:20px;
  background-image:var(--iate-admin-logo-url);
  background-size:contain; background-repeat:no-repeat; background-position:center;
}


/* ═══════════════════════════════════════════════════════════
   DESTINATIONS PAGE
   ═══════════════════════════════════════════════════════════ */

/* Breadcrumb */
.ht-breadcrumb { margin-bottom:1.5rem; }
.ht-breadcrumb__list { list-style:none; padding:0; margin:0; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.ht-breadcrumb__list li { display:inline-flex; align-items:center; gap:.4rem; }
.ht-breadcrumb__list li:not(:last-child)::after { content:'/'; color:rgba(255,255,255,.28); font-size:.72rem; }
.ht-breadcrumb__list a { color:rgba(255,255,255,.55); font-size:.8rem; text-decoration:none; transition:color .2s; }
.ht-breadcrumb__list a:hover { color:#fff; }
.ht-breadcrumb__current { font-size:.8rem; color:rgba(255,255,255,.38); }

/* Hero */
.ht-dest-hero { position:relative; min-height:640px; display:flex; align-items:center; overflow:hidden; }
.ht-dest-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center 30%; transform:scale(1.04); transition:transform 9s ease; }
.ht-dest-hero:hover .ht-dest-hero__bg { transform:scale(1); }
.ht-dest-hero__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(4,14,28,.93) 0%,rgba(0,55,55,.72) 100%); }
.ht-dest-hero__inner { position:relative; z-index:1; padding:7rem 0 5rem; }
.ht-eyebrow--coral { color:var(--ht-coral) !important; }
.ht-dest-hero__title { font-family:var(--font-display); font-size:clamp(2.6rem,5.5vw,4.6rem); color:#fff; font-weight:800; line-height:1.05; margin:.5rem 0 1.25rem; letter-spacing:-.025em; }
.ht-dest-hero__sub { color:rgba(255,255,255,.78); font-size:1.1rem; max-width:56ch; line-height:1.75; margin-bottom:2.5rem; }

.ht-dest-stats { display:inline-flex; align-items:center; background:rgba(255,255,255,.08); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.18); border-radius:1rem; padding:1.25rem 0; flex-wrap:wrap; }
.ht-dest-stat { text-align:center; padding:0 2rem; }
.ht-dest-stat__num { display:block; font-family:var(--font-display); font-size:2rem; font-weight:800; color:#fff; line-height:1; }
.ht-dest-stat__label { display:block; font-size:.7rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.1em; margin-top:.3rem; }
.ht-dest-stat__div { width:1px; height:48px; background:rgba(255,255,255,.18); flex-shrink:0; }

.ht-dest-hero__scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:1; }
.ht-dest-hero__scroll span { display:block; width:24px; height:38px; border:2px solid rgba(255,255,255,.4); border-radius:12px; position:relative; }
.ht-dest-hero__scroll span::after { content:''; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:4px; height:8px; background:rgba(255,255,255,.7); border-radius:2px; animation:ht-scroll-bounce 1.6s ease-in-out infinite; }
@keyframes ht-scroll-bounce { 0%,100%{top:6px;opacity:1} 50%{top:16px;opacity:.3} }

/* Section head */
.ht-dest-section-head { text-align:center; margin-bottom:3rem; }
.ht-dest-section-title { font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:700; color:var(--ht-heading,#1a1a2e); margin:.35rem 0 .75rem; }
.ht-dest-section-sub { color:var(--ht-text-muted,#555f6e); font-size:1rem; max-width:56ch; margin:0 auto; line-height:1.65; }

/* International Feature Cards — horizontal alternating */
.ht-dest-intl-section { background:#f0f4f8; }
.ht-intl-features { display:flex; flex-direction:column; gap:1.5rem; }

.ht-intl-feature { display:grid; grid-template-columns:1fr 1fr; border-radius:1.25rem; overflow:hidden; min-height:420px; text-decoration:none; box-shadow:0 12px 40px rgba(0,0,0,.14); transition:box-shadow .35s ease,transform .35s ease; }
.ht-intl-feature:hover { box-shadow:0 24px 64px rgba(0,0,0,.24); transform:translateY(-3px); }
.ht-intl-feature--reverse { direction:rtl; }
.ht-intl-feature--reverse > * { direction:ltr; }

.ht-intl-feature__img { position:relative; overflow:hidden; min-height:300px; }
.ht-intl-feature__img-inner { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .75s ease; }
.ht-intl-feature:hover .ht-intl-feature__img-inner { transform:scale(1.06); }
.ht-intl-feature__img-shade { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.04) 100%); }

.ht-intl-feature__body { background:#07192c; display:flex; flex-direction:column; justify-content:center; padding:3rem 3.5rem; }
.ht-intl-feature__badge { align-self:flex-start; font-size:.7rem; font-weight:700; color:#fff; padding:.3rem .9rem; border-radius:20px; margin-bottom:1.25rem; letter-spacing:.1em; text-transform:uppercase; }
.ht-intl-feature__sub { font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.48); margin:0 0 .5rem; }
.ht-intl-feature__name { font-family:var(--font-display); font-size:clamp(2rem,3vw,2.9rem); color:#fff; font-weight:800; margin:0 0 1rem; line-height:1.05; }
.ht-intl-feature__desc { font-size:.95rem; color:rgba(255,255,255,.68); line-height:1.78; margin:0 0 1.8rem; max-width:40ch; }
.ht-intl-feature__cta { display:inline-flex; align-items:center; gap:.6rem; font-size:.88rem; font-weight:600; color:#fff !important; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); padding:.7rem 1.5rem; border-radius:30px; transition:background .25s,gap .25s,border-color .25s; align-self:flex-start; text-decoration:none; }
.ht-intl-feature:hover .ht-intl-feature__cta { background:var(--ht-coral,#FF7F50); border-color:var(--ht-coral,#FF7F50); gap:.9rem; }

/* Separator */
.ht-dest-sep { padding:4rem 0 0; background:#f0f4f8; }
.ht-dest-sep__inner { display:flex; align-items:center; gap:1.25rem; }
.ht-dest-sep__line { flex:1; height:1px; background:rgba(0,0,0,.1); }
.ht-dest-sep__label { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:rgba(0,0,0,.32); white-space:nowrap; display:flex; align-items:center; gap:.5rem; }
.ht-dest-sep__label i { color:var(--ht-teal,#0f766e); }

/* Country Banner */
.ht-dest-country-banner { background:linear-gradient(135deg,#07192c 0%,#0b3b3b 100%); padding:4rem 0; }
.ht-dest-country-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap; }
.ht-dest-country-banner__text { flex:1; min-width:280px; }
.ht-dest-country-tag { display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#38bdf8; border:1px solid rgba(56,189,248,.3); padding:.35rem 1rem; border-radius:20px; margin-bottom:1rem; }
.ht-dest-country-title { font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.5rem); color:#fff; font-weight:700; margin:0 0 .75rem; line-height:1.15; }
.ht-dest-country-desc { color:rgba(255,255,255,.72); max-width:60ch; line-height:1.75; font-size:1rem; margin-bottom:1.5rem; }
.ht-dest-country-features { display:flex; flex-wrap:wrap; gap:.6rem; }
.ht-dest-feature-chip { display:inline-flex; align-items:center; gap:.45rem; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.8); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); padding:.4rem .9rem; border-radius:20px; }
.ht-dest-feature-chip i { color:var(--ht-teal,#0f766e); font-size:.75rem; }
.ht-dest-country-banner__right { display:flex; flex-direction:column; align-items:center; gap:1.25rem; flex-shrink:0; }
.ht-dest-country-pill { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:1rem; padding:1.2rem 2.5rem; text-align:center; }
.ht-dest-country-pill__num { display:block; font-family:var(--font-display); font-size:3rem; font-weight:800; color:var(--ht-coral,#FF7F50); line-height:1; margin-bottom:.25rem; }
.ht-dest-country-pill__label { text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; color:rgba(255,255,255,.6); }

/* Regions Grid */
.ht-dest-regions-section { background:#f0f4f8; }
.ht-dest-regions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.ht-dest-region-card { position:relative; display:flex; border-radius:1rem; overflow:hidden; min-height:260px; text-decoration:none; transition:transform .35s ease,box-shadow .35s ease; cursor:pointer; }
.ht-dest-region-card--featured { grid-column:span 2; min-height:390px; }
.ht-dest-region-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(0,0,0,.28); }
.ht-dest-region-card__img { position:absolute; inset:0; background-size:cover !important; background-position:center !important; transition:transform .65s ease; }
.ht-dest-region-card:hover .ht-dest-region-card__img { transform:scale(1.07); }
.ht-dest-region-card__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,18,32,.92) 0%,rgba(5,18,32,.28) 55%,transparent 100%); }
.ht-dest-region-card__body { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; width:100%; }
.ht-dest-region-card__count { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--ht-coral,#FF7F50); margin-bottom:.35rem; }
.ht-dest-region-card__name { font-family:var(--font-display); font-size:1.15rem; color:#fff; font-weight:700; margin:0 0 .35rem; line-height:1.2; }
.ht-dest-region-card--featured .ht-dest-region-card__name { font-size:1.75rem; }
.ht-dest-region-card__desc { font-size:.82rem; color:rgba(255,255,255,.72); margin:0 0 .85rem; line-height:1.55; display:none; }
.ht-dest-region-card--featured .ht-dest-region-card__desc { display:block; }
.ht-dest-region-card__cta { display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.45); transition:color .22s,gap .22s; }
.ht-dest-region-card:hover .ht-dest-region-card__cta { color:var(--ht-coral,#FF7F50); gap:.65rem; }

/* CTA Section */
.ht-dest-cta { position:relative; overflow:hidden; padding:8rem 0; }
.ht-dest-cta__bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.ht-dest-cta__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(4,22,44,.93) 0%,rgba(0,70,65,.82) 100%); }
.ht-dest-cta__inner { position:relative; z-index:1; text-align:center; }
.ht-dest-cta__title { font-family:var(--font-display); font-size:clamp(2rem,4vw,3.2rem); color:#fff; font-weight:800; margin:.5rem 0 1.1rem; }
.ht-dest-cta__sub { color:rgba(255,255,255,.78); font-size:1.05rem; max-width:60ch; margin:0 auto 2.5rem; line-height:1.75; }
.ht-dest-cta__btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:2rem; }
.ht-btn--outline-white { border:2px solid rgba(255,255,255,.5); color:#fff !important; background:transparent; transition:border-color .22s,background .22s; }
.ht-btn--outline-white:hover { border-color:#fff; background:rgba(255,255,255,.1); color:#fff !important; }
.ht-btn--coral { background:var(--ht-coral,#FF7F50); color:#fff !important; }
.ht-btn--coral:hover { background:#d63b22; color:#fff !important; }
.ht-dest-cta__note { font-size:.78rem; color:rgba(255,255,255,.45); display:flex; align-items:center; justify-content:center; gap:.5rem; margin:0; }
.ht-dest-cta__note i { color:rgba(255,255,255,.35); }

/* Trips Archive: polished count badge — force-override WTE background rules */
.ht-archive-hero__count-wrap { display:inline-flex !important; align-items:center; gap:.6rem; background:rgba(255,255,255,.12) !important; background-image:none !important; backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.22); border-radius:30px; padding:.55rem 1.4rem; margin-top:.75rem; font-size:.9rem; color:rgba(255,255,255,.9) !important; font-weight:600; }
.ht-archive-hero__count-dot { width:8px; height:8px; background:#4ade80; border-radius:50%; flex-shrink:0; animation:ht-live-pulse 2s ease-in-out infinite; }
@keyframes ht-live-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)} 50%{box-shadow:0 0 0 7px rgba(74,222,128,0)} }

/* Responsive */
@media (max-width:1100px) {
  .ht-dest-regions-grid { grid-template-columns:repeat(3,1fr); }
  .ht-dest-region-card--featured { grid-column:span 3; }
}
@media (max-width:900px) {
  .ht-intl-feature,
  .ht-intl-feature--reverse { grid-template-columns:1fr; direction:ltr; }
  .ht-intl-feature__img { min-height:300px; }
  .ht-intl-feature__body { padding:2.5rem 2rem; }
  .ht-dest-regions-grid { grid-template-columns:1fr 1fr; }
  .ht-dest-region-card--featured { grid-column:span 2; min-height:300px; }
}
@media (max-width:800px) {
  .ht-dest-hero { min-height:520px; }
  .ht-dest-hero__inner { padding:5rem 0 3.5rem; }
  .ht-dest-country-banner__inner { flex-direction:column; }
  .ht-dest-country-banner__right { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .ht-dest-stat { padding:0 1.2rem; }
  .ht-dest-stat__num { font-size:1.5rem; }
  .ht-intl-feature__name { font-size:2rem; }
}
@media (max-width:520px) {
  .ht-dest-regions-grid { grid-template-columns:1fr; }
  .ht-dest-region-card--featured { grid-column:span 1; min-height:280px; }
  .ht-dest-region-card { min-height:220px; }
  .ht-intl-feature__body { padding:1.8rem; }
}

/* ═══════════════════════════════════════════════════════════
   DEPARTURE CAROUSEL (homepage)
═══════════════════════════════════════════════════════════ */
.ht-dep-slider {
  position: relative;
  padding: 0 3rem;
}
.ht-dep-slider__viewport {
  overflow: hidden;
}
.ht-dep-slider__track {
  display: flex;
  gap: 1.5rem;
  transition: transform .5s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}
.ht-dep-slider__track .ht-departure-card {
  flex: 0 0 calc(50% - .75rem);
  min-width: 0;
}
.ht-dep-slider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% - 1.5rem));
  z-index: 10;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ht-white);
  border: 1px solid rgba(15,118,110,.2);
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
  color: var(--ht-teal);
  cursor: pointer;
  font-size: .95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .25s;
}
.ht-dep-slider__btn:hover:not(:disabled) {
  background: var(--ht-teal);
  color: #fff;
  box-shadow: 0 4px 20px rgba(15,118,110,.35);
  border-color: var(--ht-teal);
}
.ht-dep-slider__btn:disabled { opacity: .25; cursor: not-allowed; }
.ht-dep-slider__btn--prev { left: 0; }
.ht-dep-slider__btn--next { right: 0; }
.ht-dep-slider__dots {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 1.5rem;
}
.ht-dep-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(15,118,110,.22);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .3s ease;
}
.ht-dep-dot.active { background: var(--ht-teal); width: 24px; border-radius: 4px; }

@media (max-width: 900px) {
  .ht-dep-slider .ht-dep-slider__track .ht-departure-card { flex: 0 0 100%; }
}
@media (max-width: 640px) {
  .ht-dep-slider { padding: 0 2.5rem; }
  .ht-dep-slider__btn { width: 38px; height: 38px; font-size: .8rem; }
}

/* Departure card — mobile stacked layout */
@media (max-width: 640px) {
  .ht-departure-card {
    grid-template-columns: 1fr;
  }
  .ht-departure-card__image {
    width: 100%;
    height: 170px;
    min-height: unset;
  }
  .ht-departure-card__actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-left: none;
    border-top: 1px solid rgba(15,118,110,.08);
    padding: .875rem 1.25rem;
  }
}

/* Departure slider — vertical card layout so cards are tall and professional */
.ht-dep-slider .ht-departure-card {
  grid-template-columns: 1fr;
  align-items: stretch;
}
.ht-dep-slider .ht-departure-card__image {
  width: 100%;
  height: 200px;
  min-height: unset;
}
.ht-dep-slider .ht-departure-card__actions {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-left: none;
  border-top: 1px solid rgba(15,118,110,.08);
  padding: 1rem 1.25rem;
}
@media (max-width: 640px) {
  .ht-dep-slider .ht-departure-card__image { height: 170px; }
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE REGIONS HORIZONTAL SCROLL
═══════════════════════════════════════════════════════════ */
.ht-regions-scroller {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: .5rem;
  cursor: grab;
}
.ht-regions-scroller:active { cursor: grabbing; }
.ht-regions-scroller::-webkit-scrollbar { display: none; }
.ht-regions-scroller .ht-destination-card {
  flex: 0 0 calc(25% - 1.125rem);
  scroll-snap-align: start;
  min-width: 220px;
  height: 300px;
}
@media (max-width: 1024px) {
  .ht-regions-scroller .ht-destination-card { flex: 0 0 calc(50% - .75rem); }
}
@media (max-width: 640px) {
  .ht-regions-scroller .ht-destination-card { flex: 0 0 78%; min-width: 240px; height: 260px; }
}

/* ═══════════════════════════════════════════════════════════
   GLOBAL MOBILE RESPONSIVE IMPROVEMENTS
═══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Hero CTA buttons stack */
  .ht-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-3);
  }
  .ht-hero__actions .ht-btn {
    justify-content: center;
    text-align: center;
  }
  /* Hero stats tighter gap */
  .ht-hero__stats { gap: var(--sp-6); }
  .ht-hero-stat__number { font-size: 1.55rem; }
  /* Section headings */
  .ht-heading { font-size: clamp(1.6rem, 5vw, 2rem); }
  .ht-lead { font-size: .95rem; }
  /* Newsletter */
  .ht-newsletter__form { flex-direction: column; gap: var(--sp-3); }
  .ht-newsletter__input { border-radius: var(--r) !important; }
  .ht-newsletter__form .ht-btn { border-radius: var(--r) !important; }
  /* Feature cards */
  .ht-feature-card { padding: 1.5rem; }
  /* Blog cards */
  .ht-blog-card__img { height: 200px; }
}

@media (max-width: 420px) {
  /* Hero stats — wrap to 2-col grid */
  .ht-hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-4);
  }
  .ht-hero__stats .ht-hero-stat:not(:last-child) {
    padding-right: 0;
    border-right: none;
  }
  .ht-hero-stat__number { font-size: 1.4rem; }
  .ht-hero-stat__label { font-size: .7rem; }
  /* Section header */
  .ht-section-header { margin-bottom: 1.75rem; }
}
