/**
 * TravelEngine — Single Trek: 5 Design Styles
 * v16: No price duplication, redesigned S3/S4 heroes,
 *      fixed S5 gallery, mobile sticky price bar
 */

/* ═══════════════════════════════════════════════════════════
   GLOBAL
═══════════════════════════════════════════════════════════ */
.te-trek-page { --ts-r:12px; }
.te-single-hero-pills { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.te-single-breadcrumb { display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.65);font-weight:600;flex-wrap:wrap;margin-bottom:10px; }
.te-single-breadcrumb a { color:rgba(255,255,255,.75); }
.te-single-breadcrumb a:hover { color:#fff; }

/* Ghost-white button (for use on dark hero overlays) */
.te-btn--ghost-white {
  background:transparent;
  border:2px solid rgba(255,255,255,.6);
  color:#fff;
  transition:background .2s,border-color .2s;
}
.te-btn--ghost-white:hover { background:rgba(255,255,255,.12); border-color:#fff; }

/* Hero image base */
.te-hero-img { display:block; background-size:cover; background-position:center; position:relative; overflow:hidden; }
.te-hero-img::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .25s; }
.te-hero-img:hover::after { background:rgba(0,0,0,.12); }

/* "All photos" badge — S1 last tile + S4 right panel */
.te-hero-allphotos,
.te-hero-s4-allphotos {
  position: absolute;
  bottom: 10px; right: 10px;
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.96); color: #111827;
  font-size: 12px; font-weight: 700;
  padding: 6px 12px; border-radius: 8px;
  border: 1.5px solid rgba(0,0,0,.1);
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
  z-index: 4;
}
.te-hero-s4-allphotos {
  pointer-events: all;
  text-decoration: none;
  transition: box-shadow .2s;
}
.te-hero-s4-allphotos:hover { box-shadow: 0 4px 16px rgba(0,0,0,.22); }

/* ─── Pills in hero — NO border box in any hero across all styles ───────── */
/* These override the te-pill--white border that creates the box in screenshot */
.te-single-hero-pills .te-pill,
.te-single-hero-pills .te-pill--white {
  border: none !important;
  background: transparent !important;
  color: rgba(255,255,255,.85);
  font-size: 13px;
  font-weight: 600;
  padding: 2px 0;
  gap: 5px;
}
/* On light-bg heroes (S1 info bar, S5 info bar): dark text no border */
.te-hero-s1-info .te-single-hero-pills .te-pill--white,
.te-hero-s5-info-left .te-single-hero-pills .te-pill--white {
  color: #6b7280;
}
/* Difficulty pill (dark) retains color, just no border */
.te-single-hero-pills .te-pill--dark {
  border: none !important;
  font-weight: 700;
}
/* Separator dot between pills on light heroes */
.te-hero-s1-info .te-single-hero-pills .te-pill--white + .te-pill--white::before,
.te-hero-s5-info-left .te-single-hero-pills .te-pill--white + .te-pill--white::before {
  content: '·';
  margin-right: 2px;
  color: #d1d5db;
}

/* ─── Sticky bar — old CSS vars block removed, see new sticky bar section below ─── */


/* ═══════════════════════════════════════════════════════════
   STICKY BAR — REDESIGNED (matches reference image)
   Dark background, logo + name + price left, buttons right.
   Admin can customise via: Customizer → Trek Page → Sticky Bar
═══════════════════════════════════════════════════════════ */

/* Bar container */
.te-trek-sticky-bar {
  background: var(--te-sticky-bg, #1b2a22) !important;
  border-top: none !important;
  box-shadow: 0 -3px 24px rgba(0,0,0,.28) !important;
  padding: 0 !important;
}

/* Inner flex row — full desktop width */
.te-trek-sticky-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 14px 32px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  flex-wrap: nowrap !important;
}

/* Left: logo + meta */
.te-trek-sticky-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.te-sticky-logo {
  height: 38px;
  width: auto;
  object-fit: contain;
  border-radius: 8px;
  flex-shrink: 0;
}
.te-trek-sticky-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.te-trek-sticky-name {
  font-size: 15px;
  font-weight: 800;
  color: var(--te-sticky-text, #fff);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
  max-width: 320px;
}
.te-trek-sticky-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 3px;
}
.te-trek-sticky-price strong {
  font-size: 18px;
  font-weight: 900;
  color: var(--te-sticky-price, #fff);
  letter-spacing: -.025em;
  line-height: 1;
}
.te-trek-sticky-price span {
  font-size: 12px;
  color: rgba(255,255,255,.65);
  font-weight: 600;
}

/* Right: action buttons */
.te-trek-sticky-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.te-sticky-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 32px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid transparent;
  transition: opacity .2s, transform .15s;
  white-space: nowrap;
  line-height: 1;
  text-decoration: none;
}
.te-sticky-btn:active { transform: scale(.97); }

/* Ghost button: outline white */
.te-sticky-btn--ghost {
  background: transparent;
  border-color: rgba(255,255,255,.45);
  color: var(--te-sticky-text, #fff);
}
.te-sticky-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

/* Book Now button: solid accent */
.te-sticky-btn--book {
  background: var(--te-sticky-btn, var(--te-trek, #e8401b));
  border-color: var(--te-sticky-btn, var(--te-trek, #e8401b));
  color: var(--te-sticky-btn-text, #fff);
}
.te-sticky-btn--book:hover { opacity: .9; }

/* Tablet ≤600px: shrink font, compress name */
@media(max-width:600px) {
  .te-trek-sticky-name { font-size: 12px; max-width: 140px; }
  .te-sticky-logo { height: 32px; }
  .te-sticky-btn { padding: 11px 20px; font-size: 14px; }
  .te-trek-sticky-price strong { font-size: 14px; }
}
/* Small ≤420px: hide logo, name stays, Enquire hides */
@media(max-width:420px) {
  .te-sticky-logo { display: none; }
  .te-trek-sticky-name { max-width: 110px; font-size: 11px; }
  .te-trek-sticky-actions .te-sticky-btn--ghost { display: none; }
  .te-trek-sticky-price strong { font-size: 15px; }
}
/* Very small ≤320px: name hides, only price + Book Now */
@media(max-width:320px) {
  .te-trek-sticky-name { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   HERO S1 — FLAT 5-CELL GRID (NO NESTING — GUARANTEED HEIGHTS)
   All 5 images are direct children of ONE grid.
   3 columns: left spans rows 1–2, right 4 cells auto-fill 2×2.
   Uses <img> + object-fit:cover. Works in all browsers.
═══════════════════════════════════════════════════════════ */
.te-hero-s1 { background: #fff; }

/* The mosaic: 3 equal columns, 2 explicit rows, fixed total height */
.te-hero-s1-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;   /* 3 equal columns */
  grid-template-rows: 1fr 1fr;           /* 2 equal rows */
  height: clamp(320px, 44vw, 540px);     /* total height — both rows share this */
  gap: 6px;
  border-radius: 14px;
  overflow: hidden;
  background: #dce4ea;
}

/* Left image: column 1, spans both rows = tall portrait */
.te-hero-s1-main {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: block;
  overflow: hidden;
  position: relative;
  background: #b8c8d4;
}
.te-hero-s1-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s ease;
}
.te-hero-s1-main:hover img { transform: scale(1.04); }

/* Right 4 cells: auto-placed into columns 2–3, rows 1–2 */
.te-hero-s1-cell {
  display: block;
  overflow: hidden;
  position: relative;
  background: #b8c8d4;
  /* No explicit height — grid rows define height */
  min-height: 0;
}
.te-hero-s1-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .5s ease;
}
.te-hero-s1-cell:hover img { transform: scale(1.05); }
.te-hero-s1-last { position: relative; }

/* Info: title + pills, clean separator style */
.te-hero-s1-info {
  padding: 18px 0 14px;
  border-bottom: 1px solid #f1f5f9;
}
.te-hero-s1-info .te-single-breadcrumb { color:#9ca3af; margin-bottom:10px; }
.te-hero-s1-info .te-single-breadcrumb a { color:#6b7280; }
.te-hero-s1-info h1 {
  font-size: clamp(22px,3.4vw,38px); font-weight:900;
  letter-spacing:-.03em; color:#111827; margin-bottom:10px; line-height:1.1;
}
.te-hero-s1-info .te-single-hero-pills { margin-top:0; gap:0; align-items:center; }
.te-hero-s1-info .te-pill--white {
  background:transparent; color:#6b7280; border:none;
  font-size:14px; font-weight:600; padding:2px 10px 2px 0; gap:5px;
}
.te-hero-s1-info .te-pill--white:not(:first-child) { padding-left:10px; border-left:1px solid #e5e7eb; }
.te-hero-s1-info .te-pill--dark {
  background:transparent; border:none; color:var(--te-trek,#e8401b);
  font-weight:700; font-size:14px; padding:2px 0 2px 10px; border-left:1px solid #e5e7eb;
}

/* Mobile: single column stack */
@media(max-width:768px) {
  .te-hero-s1-mosaic {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 220px 72px;
    height: auto;
    border-radius: 12px;
    gap: 3px;
  }
  .te-hero-s1-main { grid-column: 1 / span 4; grid-row: 1; }
  .te-hero-s1-cell { grid-row: 2; }
  .te-hero-allphotos { font-size:11px; padding:5px 8px; bottom:5px; right:5px; }
}


/* ═══════════════════════════════════════════════════════════
   HERO S2 — CINEMATIC FULLSCREEN SLIDER
═══════════════════════════════════════════════════════════ */
.te-hero-s2 { position:relative; height:clamp(480px,65vh,780px); overflow:hidden; background:#0d1117; color:#fff; }
.te-hero-s2-track { position:absolute; inset:0; }
.te-hero-s2-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .9s ease; }
.te-hero-s2-slide.is-active { opacity:1; }
.te-hero-s2-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.0) 42%,rgba(0,0,0,.35) 100%); z-index:1; }
.te-hero-s2-content { position:absolute; bottom:0; left:0; right:0; z-index:2; padding-bottom:80px; }
.te-hero-s2-content .te-container { padding-bottom:0; max-width:700px; }
.te-hero-s2-content h1 { font-size:clamp(28px,5.5vw,66px); font-weight:900; letter-spacing:-.04em; line-height:1; margin-bottom:14px; text-shadow:0 2px 16px rgba(0,0,0,.45); }
.te-hero-s2-dots { position:absolute; bottom:52px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.te-hero-s2-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.4); border:none; cursor:pointer; transition:background .3s,transform .3s; padding:0; }
.te-hero-s2-dot.is-active { background:#fff; transform:scale(1.4); }
.te-hero-s2-count { position:absolute; top:18px; right:18px; z-index:3; display:flex; align-items:center; gap:5px; background:rgba(0,0,0,.45); color:rgba(255,255,255,.9); font-size:12px; font-weight:600; padding:5px 11px; border-radius:20px; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.15); }
/* Book/Enquire CTA bottom-right (no price) */
.te-hero-s2-cta { position:absolute; bottom:16px; right:18px; z-index:3; display:flex; gap:8px; align-items:center; }
@media(max-width:600px) { .te-hero-s2 { height:clamp(360px,75vw,520px); } .te-hero-s2-content { padding-bottom:90px; } .te-hero-s2-cta { display:none; } }


/* ═══════════════════════════════════════════════════════════
   HERO S3 — FULL-BLEED CENTRED + TOP THUMBNAIL ROW
   NEW DESIGN: Full-width tall hero. Thumbnails top-right.
   Title centred. Stats + CTAs at bottom bar.
═══════════════════════════════════════════════════════════ */
.te-hero-s3 {
  position: relative;
  height: clamp(480px, 62vh, 720px);
  overflow: hidden;
  color: #fff;
}
/* Background image fills hero */
.te-hero-s3-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 8s ease;
}
.te-hero-s3:hover .te-hero-s3-bg { transform: scale(1.03); }
/* Two-tone gradient: dark top + dark bottom, clear in middle */
.te-hero-s3-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.08) 30%,
    rgba(0,0,0,.08) 65%,
    rgba(0,0,0,.78) 100%
  );
}

/* Top bar: breadcrumb left + thumb row right */
.te-hero-s3-topbar { position:absolute; top:0; left:0; right:0; z-index:3; padding:20px 0; }
.te-hero-s3-toprow { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.te-hero-s3-toprow-left { flex-shrink:0; }

/* Thumbnail row — right side of topbar */
.te-hero-s3-thumbrow { display:flex; gap:5px; align-items:center; flex-shrink:0; }
.te-hero-s3-thumb {
  width: 72px; height: 52px;
  background-size: cover; background-position: center;
  border-radius: 6px;
  border: 2px solid rgba(255,255,255,.3);
  overflow: hidden; display: block;
  transition: border-color .2s, transform .2s;
  flex-shrink: 0;
}
.te-hero-s3-thumb:hover { border-color:rgba(255,255,255,.9); transform:scale(1.05); }
.te-hero-s3-thumb--count {
  background: rgba(0,0,0,.5);
  display: flex; align-items:center; justify-content:center;
  color:#fff; font-size:13px; font-weight:700;
  backdrop-filter:blur(4px);
  text-decoration:none;
}

/* Centred title block — vertically centred in hero */
.te-hero-s3-center {
  position: absolute;
  top: 50%; left: 0; right: 0;
  transform: translateY(-50%);
  z-index: 3;
  text-align: center;
  padding: 0 20px;
}
.te-hero-s3-center h1 {
  font-size: clamp(26px, 5vw, 64px);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
  text-shadow: 0 2px 24px rgba(0,0,0,.5);
  margin-bottom: 16px;
}
.te-hero-s3-center .te-single-hero-pills { justify-content:center; }
.te-hero-s3-center .te-pill--white { background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4); color:#fff; backdrop-filter:blur(6px); }
.te-hero-s3-center .te-pill--dark { background:var(--te-trek,#e8401b); border-color:var(--te-trek,#e8401b); color:#fff; }

/* Bottom bar: stats left + CTAs right */
.te-hero-s3-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0; z-index: 3;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 14px 0;
}
.te-hero-s3-bottomrow { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.te-hero-s3-stats { display:flex; align-items:center; gap:0; flex-wrap:wrap; }
.te-hero-s3-stat { padding:4px 20px; border-right:1px solid rgba(255,255,255,.15); display:flex; flex-direction:column; }
.te-hero-s3-stat:first-child { padding-left:0; }
.te-hero-s3-stat span { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.55); margin-bottom:1px; }
.te-hero-s3-stat strong { font-size:14px; font-weight:800; color:#fff; }
.te-hero-s3-stat .te-diff-easy { color:#4ade80; }
.te-hero-s3-stat .te-diff-moderate { color:#fbbf24; }
.te-hero-s3-stat .te-diff-difficult { color:#f87171; }
.te-hero-s3-ctas { display:flex; gap:10px; flex-shrink:0; }

@media(max-width:768px) {
  .te-hero-s3 { height:clamp(380px,75vw,580px); }
  .te-hero-s3-thumbrow { display:none; }
  .te-hero-s3-stats { gap:0; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
  .te-hero-s3-stat { padding:2px 14px; }
  .te-hero-s3-ctas .te-btn--ghost-white { display:none; }
}


/* ═══════════════════════════════════════════════════════════
   HERO S4 — THREE-PANEL HORIZONTAL GALLERY
   NEW DESIGN: Left large+title, centre tall, right 2-stacked.
═══════════════════════════════════════════════════════════ */
.te-hero-s4 {
  display: grid;
  grid-template-columns: 45% 30% 25%;
  height: clamp(400px, 52vw, 600px);
  gap: 5px;
  overflow: hidden;
}

/* Left panel: big image with title overlay */
.te-hero-s4-left {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 12px 0 0 12px;
  overflow: hidden;
}
.te-hero-s4-left-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.1) 50%, rgba(0,0,0,.6) 100%);
}
.te-hero-s4-left-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 28px 28px 24px;
  z-index: 2;
}
.te-hero-s4-left-content .te-single-breadcrumb { color:rgba(255,255,255,.55); margin-bottom:10px; }
.te-hero-s4-left-content h1 {
  font-size: clamp(22px, 3.2vw, 42px);
  font-weight: 900;
  letter-spacing: -.04em;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 12px;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.te-hero-s4-left-content .te-pill--white { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(6px); }
.te-hero-s4-left-content .te-pill--dark { background:var(--te-trek,#e8401b); border-color:var(--te-trek,#e8401b); }
.te-hero-s4-left-ctas { display:flex; gap:8px; margin-top:18px; flex-wrap:wrap; }

/* Centre panel: full-height image */
.te-hero-s4-center {
  background-size: cover;
  background-position: center;
  height: 100%;
  transition: transform .4s ease;
}
.te-hero-s4-center:hover { transform: scale(1.02); }

/* Right panel: 2 stacked images */
.te-hero-s4-right { display:flex; flex-direction:column; gap:5px; }
.te-hero-s4-right-top {
  flex: 1;
  background-size: cover; background-position: center;
  border-radius: 0 12px 0 0;
  overflow: hidden;
  transition: transform .4s;
}
.te-hero-s4-right-top:hover { transform: scale(1.03); }
.te-hero-s4-right-bot {
  flex: 1;
  background-size: cover; background-position: center;
  border-radius: 0 0 12px 0;
  overflow: hidden;
  position: relative;
  transition: transform .4s;
}
.te-hero-s4-right-bot:hover { transform: scale(1.03); }

@media(max-width:900px) {
  /* Tablet: 2-col top, thumbnails strip bottom */
  .te-hero-s4 {
    grid-template-columns: 55% 45%;
    grid-template-rows: auto 80px;
    height: auto;
  }
  .te-hero-s4-left { height: clamp(280px,55vw,420px); border-radius:12px 0 0 0; }
  .te-hero-s4-center { border-radius:0 12px 0 0; }
  .te-hero-s4-right { flex-direction:row; grid-column:span 2; }
  .te-hero-s4-right-top { border-radius:0 0 0 12px; }
  .te-hero-s4-right-bot { border-radius:0 0 12px 0; }
}
@media(max-width:600px) {
  /* Mobile: full single column stack */
  .te-hero-s4 {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    height: auto;
    gap: 3px;
  }
  /* Primary image with title — full width, good height */
  .te-hero-s4-left {
    height: clamp(320px, 80vw, 480px);
    border-radius: 12px 12px 0 0;
    grid-column: 1;
    grid-row: 1;
  }
  /* Centre image below */
  .te-hero-s4-center {
    height: 160px;
    border-radius: 0;
    grid-column: 1;
    grid-row: 2;
    overflow: hidden;
    /* disable scale on mobile for perf */
    transition: none;
  }
  .te-hero-s4-center:hover { transform: none; }
  /* Right thumbnails: horizontal row at bottom */
  .te-hero-s4-right {
    flex-direction: row;
    height: 90px;
    grid-column: 1;
    grid-row: 3;
  }
  .te-hero-s4-right-top { border-radius: 0 0 0 12px; flex:1; }
  .te-hero-s4-right-bot { border-radius: 0 0 12px 0; flex:1; }
  .te-hero-s4-right-top:hover,.te-hero-s4-right-bot:hover { transform: none; }
  /* Compact title on mobile */
  .te-hero-s4-left-content { padding: 20px 20px 18px; }
  .te-hero-s4-left-content h1 { font-size: clamp(20px, 6vw, 30px); margin-bottom:10px; }
  .te-hero-s4-left-ctas { margin-top: 12px; }
  .te-hero-s4-left-ctas .te-btn--trek { font-size:14px; padding:10px 18px; }
}


/* ═══════════════════════════════════════════════════════════
   HERO S5 — FULL-BLEED SINGLE IMAGE (REDESIGNED)
   One clean image, title pinned at bottom, "All photos" badge BR.
   No strip, no separate info bar — everything inside the image.
═══════════════════════════════════════════════════════════ */
.te-hero-s5 { background:#1a1814; }

/* Full-bleed image container */
.te-hero-s5-img {
  position: relative;
  height: clamp(420px, 58vh, 680px);
  background-size: cover;
  background-position: center;
  background-color: #1a1814;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Two-zone gradient: top for breadcrumb, bottom for title */
.te-hero-s5-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.0)  30%,
    rgba(0,0,0,.0)  55%,
    rgba(0,0,0,.82) 100%
  );
  z-index: 1;
}

/* Top bar: breadcrumb */
.te-hero-s5-topbar {
  position: relative;
  z-index: 2;
  padding: 22px 0 0;
}

/* Bottom: title + pills over dark gradient */
.te-hero-s5-bottom {
  position: relative;
  z-index: 2;
  padding-bottom: 28px;
  color: #fff;
}
.te-hero-s5-bottom h1 {
  font-size: clamp(26px, 4.5vw, 58px);
  font-weight: 900;
  letter-spacing: -.04em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 14px;
  text-shadow: 0 2px 20px rgba(0,0,0,.35);
}
.te-hero-s5-bottom .te-single-hero-pills { margin-top: 0; gap: 8px; }
.te-hero-s5-bottom .te-pill--white {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  backdrop-filter: blur(6px);
  font-size: 13px; font-weight: 600;
}
.te-hero-s5-bottom .te-pill--dark { background:#c9a84c; border-color:#c9a84c; color:#1a1814; font-weight:700; }

/* "All photos" badge — bottom right */
.te-hero-s5-allphotos {
  position: absolute;
  bottom: 14px; right: 16px;
  z-index: 3;
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.95); color: #111827;
  font-size: 12px; font-weight: 700;
  padding: 7px 13px; border-radius: 8px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
  text-decoration: none;
  transition: box-shadow .2s;
  white-space: nowrap;
}
.te-hero-s5-allphotos:hover { box-shadow: 0 4px 20px rgba(0,0,0,.3); }

@media(max-width:768px) {
  .te-hero-s5-img { height: clamp(300px, 65vw, 480px); }
  .te-hero-s5-bottom h1 { font-size: clamp(22px, 7vw, 32px); }
  .te-hero-s5-allphotos { bottom:10px; right:10px; font-size:11px; padding:5px 10px; }
}


/* ═══════════════════════════════════════════════════════════
   GALLERY SECTION — 5 LAYOUTS
═══════════════════════════════════════════════════════════ */
.te-gallery-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px; }
.te-gallery-header h2 { margin-bottom:0!important; }
.te-gallery-count { font-size:12px;font-weight:700;color:var(--te-muted);background:var(--te-bg);border:1px solid var(--te-border);border-radius:20px;padding:4px 12px; }

.te-gal-item,.te-gal-s2-feature,.te-gal-s3-item,.te-gal-s4-item,.te-gal-s5-hero { position:relative;overflow:hidden;display:block;cursor:pointer; }
.te-gal-item img,.te-gal-s2-feature img,.te-gal-s3-item img,.te-gal-s4-item img,.te-gal-s5-hero img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.te-gal-item:hover img,.te-gal-s2-feature:hover img,.te-gal-s3-item:hover img,.te-gal-s4-item:hover img,.te-gal-s5-hero:hover img { transform:scale(1.06); }
.te-gal-hover { position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .25s; }
.te-gal-item:hover .te-gal-hover,.te-gal-s2-feature:hover .te-gal-hover,.te-gal-s3-item:hover .te-gal-hover,.te-gal-s4-item:hover .te-gal-hover,.te-gal-s5-hero:hover .te-gal-hover { opacity:1; }
.te-gal-more-label { position:absolute;inset:0;background:rgba(0,0,0,.52);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:700;backdrop-filter:blur(3px); }
.te-gal-item--more { position:relative; }

/* S1 Masonry */
.te-gal--s1 { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; grid-auto-rows:220px; }
.te-gal--s1 .te-gal-item--wide { grid-column:span 2; }
.te-gal--s1 .te-gal-item { border-radius:8px; overflow:hidden; background:#e5e7eb; }
.te-gal--s1 .te-gal-item img { width:100%;height:100%;object-fit:cover; }
@media(max-width:640px) { .te-gal--s1 { grid-template-columns:repeat(2,1fr); grid-auto-rows:160px; } }

/* S2 Feature+grid */
.te-gal--s2 { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.te-gal-s2-feature { grid-column:1; border-radius:8px 0 0 8px; overflow:hidden; aspect-ratio:4/3; background:#ddd; }
.te-gal-s2-feature img { width:100%;height:100%;object-fit:cover; }
.te-gal-s2-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; grid-column:2; }
.te-gal-s2-grid .te-gal-item { overflow:hidden; aspect-ratio:4/3; background:#ddd; }
.te-gal-s2-grid .te-gal-item:first-child { border-radius:0 8px 0 0; }
.te-gal-s2-grid .te-gal-item:last-child { border-radius:0 0 8px 0; }
.te-gal-s2-grid .te-gal-item img { width:100%;height:100%;object-fit:cover; }

/* S3 Horizontal scroll */
.te-gal--s3 { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#e2e8f0 transparent; padding-bottom:4px; }
.te-gal--s3::-webkit-scrollbar { height:4px; }
.te-gal--s3::-webkit-scrollbar-thumb { background:#e2e8f0; border-radius:4px; }
.te-gal-s3-item { flex-shrink:0; width:clamp(260px,36vw,420px); height:260px; scroll-snap-align:start; border-radius:10px; overflow:hidden; background:#f1f5f9; }
.te-gal-s3-item img { width:100%;height:100%;object-fit:cover; }

/* S4 Cinematic 16:9 */
.te-gal--s4 { display:grid; grid-template-columns:repeat(2,1fr); gap:4px; }
.te-gal-s4-item { display:block; overflow:hidden; aspect-ratio:16/9; background:#0e1612; position:relative; }
.te-gal-s4-item:first-child { grid-column:span 2; aspect-ratio:21/9; border-radius:8px 8px 0 0; }
.te-gal-s4-item:last-child:nth-child(even) { border-radius:0 0 8px 0; }
.te-gal-s4-item:last-child:nth-child(odd) { grid-column:span 2; border-radius:0 0 8px 8px; }
.te-gal-s4-item img { width:100%;height:100%;object-fit:cover;filter:brightness(.92);transition:transform .5s,filter .3s; }
.te-gal-s4-item:hover img { transform:scale(1.04);filter:brightness(1.04); }

/* S5 Gallery — 3-col top mosaic + "All photos" badge, using <img> tags */
/* Row 1: large left (spans 2 rows) + 2 stacked right = 3 visible images */
/* Row 2 onwards: additional images in equal-width row */
.te-gal-s5-mosaic {
  display: grid;
  grid-template-columns: 50% 25% 25%;
  grid-template-rows: 260px 200px;
  gap: 6px;
  border-radius: 12px;
  overflow: hidden;
}
/* Hero image: tall left, spans both rows */
.te-gal-s5-hero {
  grid-column: 1;
  grid-row: 1 / span 2;
  overflow: hidden;
  background: #c5bdb4;
  position: relative;
  display: block;
}
.te-gal-s5-hero img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.te-gal-s5-hero:hover img { transform:scale(1.04); }

/* Right grid: 4 cells in 2 cols × 2 rows */
.te-gal-s5-grid {
  display: contents; /* let children flow into the outer grid */
}
.te-gal-s5-grid .te-gal-item {
  overflow: hidden;
  background: #c5bdb4;
  display: block;
  position: relative;
}
.te-gal-s5-grid .te-gal-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.te-gal-s5-grid .te-gal-item:hover img { transform:scale(1.05); }

/* Rest row: remaining photos in 4-col strip */
.te-gal-s5-rest {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 6px;
  margin-top: 6px;
}
.te-gal-s5-rest .te-gal-item {
  height: 130px;
  overflow: hidden;
  border-radius: 8px;
  background: #c5bdb4;
  display: block;
  position: relative;
}
.te-gal-s5-rest .te-gal-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.te-gal-s5-rest .te-gal-item:hover img { transform:scale(1.05); }

@media(max-width:640px) {
  .te-gal-s5-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 180px 140px;
    gap: 4px;
  }
  .te-gal-s5-hero { grid-row: 1 / span 2; }
  .te-gal-s5-rest { grid-template-columns:repeat(2,1fr); }
  .te-gal-s5-rest .te-gal-item { height:90px; }
}


/* ═══════════════════════════════════════════════════════════
   BOOKING FORM — COLOR FOLLOWS --te-trek
═══════════════════════════════════════════════════════════ */
.te-wiz-step-dot--active { border-color:var(--te-trek,#e8401b)!important; background:var(--te-trek,#e8401b)!important; color:#fff!important; }
.te-wiz-step-dot--done { border-color:var(--te-trek,#e8401b)!important; }
.te-cal-day.is-departure { background:var(--te-trek,#e8401b)!important; }
.te-sb-sel-date { color:var(--te-trek,#e8401b)!important; font-weight:700; }
.te-total-amount { color:var(--te-trek,#e8401b)!important; font-weight:800; }
.te-addon-price { color:var(--te-trek,#e8401b); }
#te-sum-pay-label,#te-rev-pay-label { color:var(--te-trek,#e8401b); }
.te-review-row--advance { background:var(--te-trek-tint,rgba(232,64,27,.08))!important; border-color:var(--te-trek,#e8401b)!important; }
.te-form-input:focus,.te-form-select:focus,.te-form-textarea:focus { border-color:var(--te-trek,#e8401b)!important; box-shadow:0 0 0 3px rgba(var(--te-trek-rgb,232,64,27),.12)!important; }
.te-booking-box-head { background:var(--te-trek,#e8401b)!important; }
.te-booking-box-head .label { color:rgba(255,255,255,.8)!important; }
.te-price-big { color:#fff!important; }
.te-price-big span { color:rgba(255,255,255,.75)!important; }
#te-sb-book-btn { background:var(--te-trek,#e8401b)!important; border-color:var(--te-trek,#e8401b)!important; }
.te-fdp-card.is-selected { background:var(--te-trek,#e8401b)!important; border-color:var(--te-trek,#e8401b)!important; }
.te-fdp-card.is-selected .te-fdp-month,.te-fdp-card.is-selected .te-fdp-day,.te-fdp-card.is-selected .te-fdp-year { color:#fff!important; }
.te-fdp-summary-price { color:var(--te-trek,#e8401b)!important; }
.te-tab-link.is-active { color:var(--te-trek,#e8401b)!important; border-bottom-color:var(--te-trek,#e8401b)!important; }


/* ═══════════════════════════════════════════════════════════
   STYLE 1 — CLASSIC ADVENTURE
═══════════════════════════════════════════════════════════ */
.te-trek-style-1 { background:#fff; }
.te-trek-style-1 .te-tabs-nav { background:#fff; border-bottom:3px solid #f3f4f6; }
.te-trek-style-1 .te-tab-link { font-weight:700;font-size:14px;color:#6b7280; }
.te-trek-style-1 .te-single-stat { background:#fff;border:2px solid #f3f4f6;border-radius:10px;text-align:center;padding:14px 12px; }
.te-trek-style-1 .te-single-stat strong { font-size:1.1rem;font-weight:900; }
/* Timeline itinerary */
.te-trek-style-1 .te-itin-list { position:relative; }
.te-trek-style-1 .te-itin-item { display:flex;gap:0;padding:0 0 24px 0;border-bottom:none;position:relative; }
.te-trek-style-1 .te-itin-item::before { content:'';position:absolute;left:20px;top:36px;bottom:0;width:2px;background:#f3f4f6; }
.te-trek-style-1 .te-itin-item:last-child::before { display:none; }
.te-trek-style-1 .te-itin-day-badge { background:var(--te-trek,#e8401b);color:#fff;border-radius:50%;width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:900;padding:0;margin-right:16px;z-index:1; }
.te-trek-style-1 .te-itin-content { flex:1;padding-top:6px; }
.te-trek-style-1 .te-itin-title { font-size:1rem;font-weight:800;color:#111827;margin-bottom:6px; }
.te-trek-style-1 .te-itin-item:last-child { padding-bottom:0; }
.te-trek-style-1 .te-inc-head--inc { color:#16a34a; }
.te-trek-style-1 .te-inc-head--exc { color:#dc2626; }
.te-trek-style-1 .te-fdp-card { border-radius:10px; }
.te-trek-style-1 .te-map-embed iframe { border-radius:10px; }
.te-trek-style-1 .te-review-item { border-radius:10px;border:2px solid #f3f4f6;padding:20px; }
.te-trek-style-1 .te-review-avatar { width:36px;height:36px;background:var(--te-trek-tint,rgba(232,64,27,.08));color:var(--te-trek,#e8401b);border-radius:50%; }
.te-trek-style-1 .te-booking-box { border-radius:12px;overflow:hidden;border:2px solid #f3f4f6;box-shadow:0 8px 32px rgba(0,0,0,.08); }
.te-trek-style-1 .te-reviews-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px; }
.te-trek-style-1 .te-related-treks { background:#f9fafb!important; }
.te-trek-style-1 .te-section-eyebrow { color:var(--te-trek,#e8401b); }


/* ═══════════════════════════════════════════════════════════
   STYLE 2 — EXPEDITION JOURNAL
═══════════════════════════════════════════════════════════ */
.te-trek-style-2 { background:#f5f0e8; }
.te-trek-style-2 .te-hero-s2-cta .te-btn--trek { background:#2d6a4f!important;border-color:#2d6a4f!important; }
.te-trek-style-2 .te-tabs-nav { border-bottom-color:#c5b89a;background:#f5f0e8;gap:4px;padding:0 4px; }
.te-trek-style-2 .te-tab-link { background:#ede8dc;border-radius:6px 6px 0 0;margin-bottom:-2px;color:#7a6748;padding:10px 18px;font-size:.82rem;font-weight:700;border:1px solid #c5b89a;border-bottom:none; }
.te-trek-style-2 .te-tab-link:hover { background:#e2dcd0;color:#2d6a4f; }
.te-trek-style-2 .te-tab-link.is-active { background:#fdf8ef!important;color:#1b4332!important;border-bottom-color:#fdf8ef!important; }
.te-trek-style-2 .te-section--sm { background:#f5f0e8; }
.te-trek-style-2 .te-box { background:#fdf8ef;border:1px solid #ddd4be;border-radius:4px;box-shadow:2px 3px 0 rgba(0,0,0,.04); }
.te-trek-style-2 .te-box h2 { color:#1b4332;font-size:1.05rem;padding-bottom:10px;border-bottom:2px solid #c8e6c9;margin-bottom:18px; }
.te-trek-style-2 .te-single-stat { background:#fff;border:1px solid #ddd4be;border-radius:4px;text-align:center; }
.te-trek-style-2 .te-single-stat span { color:#8a7558; }
.te-trek-style-2 .te-single-stat strong { color:#1b3a2a; }
.te-trek-style-2 .te-itin-item { border-bottom:1px dashed #ddd4be;padding:16px 0;gap:14px; }
.te-trek-style-2 .te-itin-item:last-child { border-bottom:none; }
.te-trek-style-2 .te-itin-day-badge { background:#1b4332;color:#e8f5e9;border-radius:3px; }
.te-trek-style-2 .te-itin-title { color:#1b3a2a;font-weight:800; }
.te-trek-style-2 .te-inc-head--inc { color:#2d6a4f; }
.te-trek-style-2 .te-inc-head--exc { color:#7b2d00; }
.te-trek-style-2 .te-booking-box { border:1px solid #ddd4be;border-radius:4px;background:#fdf8ef; }
.te-trek-style-2 .te-booking-box-head { background:#1b4332!important;border-radius:3px 3px 0 0; }
.te-trek-style-2 .te-btn--trek { background:#2d6a4f!important;border-color:#2d6a4f!important; }
.te-trek-style-2 .te-btn--trek:hover { background:#1b4332!important;border-color:#1b4332!important; }
.te-trek-style-2 .te-tab-link.is-active,.te-trek-style-2 .te-fdp-summary-price,.te-trek-style-2 .te-total-amount,.te-trek-style-2 .te-sb-sel-date { color:#2d6a4f!important; }
.te-trek-style-2 .te-fdp-card.is-selected { background:#2d6a4f!important;border-color:#2d6a4f!important; }
.te-trek-style-2 .te-fdp-card:hover:not(.is-soldout) { border-color:#2d6a4f;background:#e8f5e9; }
.te-trek-style-2 .te-review-item { background:#fdf8ef;border-color:#ddd4be;border-radius:4px; }
.te-trek-style-2 .te-review-avatar { background:#e8f5e9;color:#2d6a4f;border-color:rgba(45,106,79,.25); }
.te-trek-style-2 .te-trek-sticky-bar { background:#1b4332 !important; }
.te-trek-style-2 .te-sticky-btn--book { background:#52b788 !important; border-color:#52b788 !important; }
.te-trek-style-2 .te-related-treks { background:#ede8dc!important; }
.te-trek-style-2 .te-section-eyebrow { color:#52b788; }
.te-trek-style-2 #te-sb-book-btn { background:#2d6a4f!important;border-color:#2d6a4f!important; }


/* ═══════════════════════════════════════════════════════════
   STYLE 3 — MINIMAL WHITE (full-bleed hero now)
═══════════════════════════════════════════════════════════ */
.te-trek-style-3 { background:#fff; }
/* S3 hero accent */
.te-trek-style-3 .te-hero-s3-center .te-pill--dark { background:#4f46e5;border-color:#4f46e5; }
.te-trek-style-3 .te-hero-s3-bottom { background:rgba(15,23,42,.72); }
.te-trek-style-3 .te-hero-s3-ctas .te-btn--trek { background:#4f46e5!important;border-color:#4f46e5!important; }
/* Override accent to indigo */
.te-trek-style-3 .te-btn--trek { background:#4f46e5!important;border-color:#4f46e5!important; }
.te-trek-style-3 .te-btn--trek:hover { background:#3730a3!important;border-color:#3730a3!important; }
.te-trek-style-3 .te-tab-link.is-active { color:#4f46e5!important;border-bottom-color:#4f46e5!important; }
.te-trek-style-3 .te-fdp-card.is-selected { background:#4f46e5!important;border-color:#4f46e5!important; }
.te-trek-style-3 .te-fdp-summary-price,.te-trek-style-3 .te-total-amount,.te-trek-style-3 .te-sb-sel-date { color:#4f46e5!important; }
.te-trek-style-3 .te-booking-box-head { background:#4f46e5!important; }
.te-trek-style-3 #te-sb-book-btn { background:#4f46e5!important;border-color:#4f46e5!important; }
/* Layout */
.te-trek-style-3 .te-tabs-nav { border-bottom:1px solid #f1f5f9;background:#fff;gap:4px; }
.te-trek-style-3 .te-tab-link { font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#94a3b8;padding:12px 16px; }
.te-trek-style-3 .te-single-layout { flex-direction:column; }
.te-trek-style-3 .te-layout-sidebar { display:none; }
.te-trek-style-3 .te-layout-main { width:100%;max-width:820px;margin:0 auto; }
.te-trek-style-3 .te-section--sm { background:#fff; }
.te-trek-style-3 .te-box { background:#fff;border:none;border-bottom:1px solid #f8fafc;border-radius:0;padding:36px 0;box-shadow:none; }
.te-trek-style-3 .te-box:last-child { border-bottom:none; }
.te-trek-style-3 .te-box h2 { font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#4f46e5;margin-bottom:24px; }
.te-trek-style-3 .te-single-stat { background:#fafafa;border:1.5px solid #e2e8f0;border-radius:12px;text-align:center;padding:16px;transition:border-color .15s,transform .15s; }
.te-trek-style-3 .te-single-stat:hover { border-color:#4f46e5;transform:translateY(-2px); }
.te-trek-style-3 .te-itin-item { border-bottom:1px solid #f8fafc;gap:18px;padding:18px 0; }
.te-trek-style-3 .te-itin-day-badge { background:#eef2ff;color:#4f46e5;border-radius:24px;padding:5px 14px;font-weight:700;border:1.5px solid #c7d2fe; }
.te-trek-style-3 .te-inc-head--inc { color:#059669; }
.te-trek-style-3 .te-inc-head--exc { color:#dc2626; }
.te-trek-style-3 .te-review-item { border-radius:12px;border:1.5px solid #f1f5f9;background:#fafafa;padding:20px; }
.te-trek-style-3 .te-review-avatar { background:#eef2ff;color:#4f46e5;border-color:rgba(79,70,229,.2); }
.te-trek-style-3 .te-reviews-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px; }
.te-trek-style-3 .te-trek-sticky-bar { background:#0f172a !important; }
.te-trek-style-3 .te-sticky-btn--book { background:#4f46e5 !important; border-color:#4f46e5 !important; }
.te-trek-style-3 .te-related-treks { background:#f8fafc!important; }
.te-trek-style-3 .te-section-eyebrow { color:#4f46e5; }
.te-trek-style-3 .te-gal--s3 { scrollbar-color:#c7d2fe transparent; }
.te-trek-style-3 .te-gal-s3-item { border-radius:12px;border:2px solid #f1f5f9; }


/* ═══════════════════════════════════════════════════════════
   STYLE 4 — DARK SUMMIT (3-panel hero now)
═══════════════════════════════════════════════════════════ */
.te-trek-style-4 { background:#0a0f0d;color:#d1fae5; }
.te-trek-style-4 .te-hero-s4-left-overlay { background:linear-gradient(135deg,rgba(10,15,13,.88) 0%,rgba(10,15,13,.15) 50%,rgba(10,15,13,.65) 100%); }
.te-trek-style-4 .te-hero-s4-allphotos { background:rgba(10,15,13,.7);color:#2dd4bf;border-color:rgba(45,212,191,.3); }
.te-trek-style-4 .te-hero-s4-left-content .te-pill--dark { background:#2dd4bf;border-color:#2dd4bf;color:#0a0f0d; }
.te-trek-style-4 .te-hero-s4-left-ctas .te-btn--trek { background:#2dd4bf!important;border-color:#2dd4bf!important;color:#0a0f0d!important; }
/* Override accent to teal */
.te-trek-style-4 .te-booking-box-head { background:linear-gradient(135deg,#0e1612 0%,#1a2e26 100%)!important;border-bottom:1px solid rgba(45,212,191,.15); }
.te-trek-style-4 .te-booking-box-head .label { color:rgba(45,212,191,.7)!important; }
.te-trek-style-4 .te-price-big { color:#2dd4bf!important;text-shadow:0 0 20px rgba(45,212,191,.4);font-size:32px; }
.te-trek-style-4 .te-price-big span { color:rgba(45,212,191,.6)!important; }
.te-trek-style-4 .te-btn--trek { background:#2dd4bf!important;border-color:#2dd4bf!important;color:#0a0f0d!important;box-shadow:0 0 14px rgba(45,212,191,.28)!important; }
.te-trek-style-4 .te-btn--trek:hover { background:#14b8a6!important;border-color:#14b8a6!important; }
.te-trek-style-4 .te-tab-link.is-active { color:#2dd4bf!important;border-bottom-color:#2dd4bf!important;background:rgba(45,212,191,.04); }
.te-trek-style-4 .te-fdp-card.is-selected { background:rgba(45,212,191,.1)!important;border-color:#2dd4bf!important; }
.te-trek-style-4 .te-fdp-card.is-selected .te-fdp-month,.te-trek-style-4 .te-fdp-card.is-selected .te-fdp-day,.te-trek-style-4 .te-fdp-card.is-selected .te-fdp-year { color:#2dd4bf!important; }
.te-trek-style-4 .te-total-amount,.te-trek-style-4 .te-sb-sel-date,.te-trek-style-4 .te-fdp-summary-price { color:#2dd4bf!important; }
.te-trek-style-4 .te-section--sm { background:#0a0f0d; }
.te-trek-style-4 .te-tabs-nav { border-bottom:1px solid #1f2e28;background:#0a0f0d; }
.te-trek-style-4 .te-tab-link { color:#4d7a6a;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700; }
.te-trek-style-4 .te-tab-link:hover { color:#a7f3d0; }
.te-trek-style-4 .te-box { background:#111b17;border:1px solid #1f2e28;border-radius:var(--ts-r);box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
.te-trek-style-4 .te-box h2 { color:#a7f3d0;font-size:1rem;padding-bottom:12px;border-bottom:1px solid #1f2e28;margin-bottom:18px;display:flex;align-items:center;gap:8px; }
.te-trek-style-4 .te-box h2::before { content:'';width:3px;height:1.1em;background:#2dd4bf;border-radius:2px;box-shadow:0 0 8px rgba(45,212,191,.6);flex-shrink:0; }
.te-trek-style-4 .te-prose,.te-trek-style-4 .te-prose p,.te-trek-style-4 .te-prose li { color:#9dc7b8; }
.te-trek-style-4 .te-single-stat { background:#0e1612;border:1px solid #1f2e28;border-radius:8px;text-align:center;transition:border-color .2s; }
.te-trek-style-4 .te-single-stat:hover { border-color:rgba(45,212,191,.4); }
.te-trek-style-4 .te-single-stat span { color:#4d7a6a;font-size:.62rem; }
.te-trek-style-4 .te-single-stat strong { color:#d1fae5; }
.te-trek-style-4 .te-itin-list { border-left:1px solid #1f2e28;margin-left:18px;padding-left:24px; }
.te-trek-style-4 .te-itin-item { border-bottom:1px solid #1f2e28;padding:18px 0;gap:14px;position:relative; }
.te-trek-style-4 .te-itin-item::before { content:'';position:absolute;left:-33px;top:22px;width:10px;height:10px;border-radius:50%;background:#1f2e28;border:2px solid #2dd4bf;box-shadow:0 0 8px rgba(45,212,191,.4); }
.te-trek-style-4 .te-itin-item:last-child { border-bottom:none; }
.te-trek-style-4 .te-itin-day-badge { background:rgba(45,212,191,.1);color:#2dd4bf;border:1px solid rgba(45,212,191,.25);border-radius:4px; }
.te-trek-style-4 .te-itin-title { color:#d1fae5; }
.te-trek-style-4 .te-itin-desc { color:#7aada0; }
.te-trek-style-4 .te-inc-head--inc { color:#2dd4bf; }
.te-trek-style-4 .te-inc-head--exc { color:#f87171; }
.te-trek-style-4 .te-fdp-card { background:#0e1612;border-color:#1f2e28;border-radius:8px; }
.te-trek-style-4 .te-fdp-card .te-fdp-month,.te-trek-style-4 .te-fdp-card .te-fdp-year { color:#4d7a6a; }
.te-trek-style-4 .te-fdp-card .te-fdp-day { color:#d1fae5; }
.te-trek-style-4 .te-fdp-card:hover:not(.is-soldout) { background:rgba(45,212,191,.07);border-color:rgba(45,212,191,.4); }
.te-trek-style-4 .te-fdp-summary { background:#0e1612;border-color:#1f2e28; }
.te-trek-style-4 .te-fdp-summary-label { color:#4d7a6a; }
.te-trek-style-4 .te-fdp-summary-date,.te-trek-style-4 .te-fdp-summary-seats { color:#d1fae5; }
.te-trek-style-4 .te-review-item { background:#0e1612;border:1px solid #1f2e28;border-radius:8px;padding:18px; }
.te-trek-style-4 .te-review-name { color:#d1fae5; }
.te-trek-style-4 .te-review-text { color:#7aada0; }
.te-trek-style-4 .te-review-avatar { background:rgba(45,212,191,.12);color:#2dd4bf;border-color:rgba(45,212,191,.2); }
.te-trek-style-4 .te-reviews-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px; }
.te-trek-style-4 .te-booking-box { background:#111b17;border:1px solid #1f2e28;border-radius:12px;overflow:hidden; }
.te-trek-style-4 .te-form-input { background:#0a0f0d;border-color:#1f2e28;color:#d1fae5; }
.te-trek-style-4 .te-form-input:focus { border-color:#2dd4bf!important;box-shadow:0 0 0 3px rgba(45,212,191,.15)!important; }
.te-trek-style-4 .te-btn--ghost { border-color:#1f2e28;color:#4d7a6a; }
.te-trek-style-4 .te-btn--ghost:hover { border-color:#2dd4bf;color:#2dd4bf; }
.te-trek-style-4 .te-layout-sidebar .te-booking-sticky .te-box { background:#0e1612;border:1px solid #1f2e28;border-bottom:none!important; }
.te-trek-style-4 .te-layout-sidebar .te-booking-sticky .te-box h4 { color:#a7f3d0; }
.te-trek-style-4 .te-layout-sidebar .te-booking-sticky .te-box p { color:#4d7a6a; }
.te-trek-style-4 .te-trek-sticky-bar { background:#0e1612 !important; border-top:1px solid #1f2e28 !important; }
.te-trek-style-4 .te-sticky-btn--book { background:#2dd4bf !important; border-color:#2dd4bf !important; color:#0a0f0d !important; }
.te-trek-style-4 .te-sticky-btn--ghost { border-color:rgba(45,212,191,.4); color:#2dd4bf; }
.te-trek-style-4 .te-trek-sticky-name { color:#d1fae5; }
.te-trek-style-4 .te-trek-sticky-price strong { color:#2dd4bf; }
.te-trek-style-4 .te-trek-sticky-price-mobile strong { color:#2dd4bf; }
.te-trek-style-4 .te-related-treks { background:#0e1612!important; }
.te-trek-style-4 .te-related-treks h2 { color:#d1fae5; }
.te-trek-style-4 .te-section-eyebrow { color:#2dd4bf; }
.te-trek-style-4 .te-map-embed iframe { filter:invert(.85) hue-rotate(160deg) saturate(.8);border-radius:8px; }
.te-trek-style-4 .te-gal-s4-item img { filter:brightness(.9) saturate(1.1); }
.te-trek-style-4 .te-gallery-count { background:#0e1612;border-color:#1f2e28;color:#4d7a6a; }
.te-trek-style-4 #te-sb-book-btn { background:#2dd4bf!important;border-color:#2dd4bf!important;color:#0a0f0d!important; }


/* ═══════════════════════════════════════════════════════════
   STYLE 5 — LUXURY PANORAMA (gold, dark sidebar)
═══════════════════════════════════════════════════════════ */
.te-trek-style-5 { background:#f9f7f4; }
.te-trek-style-5 .te-hero-s5-img { background-attachment: scroll; }
.te-trek-style-5 .te-hero-s5-bottom .te-pill--dark { background:#c9a84c; border-color:#c9a84c; color:#1a1814; }
.te-trek-style-5 .te-hero-s5-allphotos { background:rgba(255,255,255,.95); color:#1a1814; }
/* Override accent to gold */
.te-trek-style-5 .te-btn--trek { background:#c9a84c!important;border-color:#c9a84c!important;color:#1a1814!important;font-weight:800!important; }
.te-trek-style-5 .te-btn--trek:hover { background:#b8952e!important;border-color:#b8952e!important; }
.te-trek-style-5 .te-tab-link.is-active { color:#c9a84c!important;border-bottom-color:#c9a84c!important; }
.te-trek-style-5 .te-fdp-card.is-selected { background:#1a1814!important;border-color:#1a1814!important; }
.te-trek-style-5 .te-fdp-card.is-selected .te-fdp-month,.te-trek-style-5 .te-fdp-card.is-selected .te-fdp-day,.te-trek-style-5 .te-fdp-card.is-selected .te-fdp-year { color:#c9a84c!important; }
.te-trek-style-5 .te-total-amount,.te-trek-style-5 .te-sb-sel-date,.te-trek-style-5 .te-fdp-summary-price { color:#c9a84c!important; }
.te-trek-style-5 .te-booking-box-head { background:#1a1814!important;border-bottom:1px solid rgba(201,168,76,.2); }
.te-trek-style-5 .te-booking-box-head .label { color:rgba(201,168,76,.7)!important; }
.te-trek-style-5 .te-price-big { color:#c9a84c!important;font-size:38px; }
.te-trek-style-5 .te-price-big span { color:rgba(201,168,76,.6)!important; }
.te-trek-style-5 #te-sb-book-btn { background:#c9a84c!important;border-color:#c9a84c!important;color:#1a1814!important; }
.te-trek-style-5 .te-trek-sticky-price-mobile strong { color:#c9a84c; }
.te-trek-style-5 .te-tabs-nav { border-bottom:2px solid #e8e0d6;background:#fff; }
.te-trek-style-5 .te-tab-link { font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#9a8c7a; }
.te-trek-style-5 .te-tab-link:hover { color:#1a1814; }
.te-trek-style-5 .te-section--sm { background:#fff; }
.te-trek-style-5 .te-box { background:#fff;border:none;border-bottom:1px solid #f0e8da;border-radius:0;padding:36px 0;box-shadow:none; }
.te-trek-style-5 .te-box:last-child { border-bottom:none; }
.te-trek-style-5 .te-box h2 { font-size:1.15rem;font-weight:900;color:#1a1814;letter-spacing:-.01em;padding-bottom:0;border-bottom:none;margin-bottom:24px;padding-left:16px;position:relative; }
.te-trek-style-5 .te-box h2::before { content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:100%;background:#c9a84c;border-radius:2px; }
.te-trek-style-5 .te-single-stats-row { gap:0;border:2px solid #1a1814;border-radius:8px;overflow:hidden; }
.te-trek-style-5 .te-single-stat { background:#fff;border:none;border-right:2px solid #1a1814;border-radius:0;padding:18px 14px;text-align:center; }
.te-trek-style-5 .te-single-stat:last-child { border-right:none; }
.te-trek-style-5 .te-single-stat span { color:#9a8c7a;font-size:.6rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase; }
.te-trek-style-5 .te-single-stat strong { font-size:1rem;font-weight:900;color:#1a1814; }
.te-trek-style-5 .te-itin-item { border-bottom:1px solid #f0e8da;padding:24px 0;gap:20px; }
.te-trek-style-5 .te-itin-item:last-child { border-bottom:none; }
.te-trek-style-5 .te-itin-day-badge { background:#1a1814;color:#c9a84c;border-radius:4px;font-size:.6rem;letter-spacing:.12em;font-weight:900;padding:7px 14px;text-transform:uppercase; }
.te-trek-style-5 .te-itin-title { font-size:1.05rem;font-weight:800;color:#1a1814; }
.te-trek-style-5 .te-itin-desc { color:#6b5e50; }
.te-trek-style-5 .te-inc-head--inc { color:#2d6a4f; }
.te-trek-style-5 .te-inc-head--exc { color:#7b2d00; }
.te-trek-style-5 .te-fdp-card { border-radius:4px;border-color:#ddd0be;border-width:1.5px;background:#fdf9f4; }
.te-trek-style-5 .te-fdp-card:hover:not(.is-soldout) { background:#fdf6e3;border-color:#c9a84c; }
.te-trek-style-5 .te-fdp-summary { background:#fdf9f4;border-color:#ddd0be; }
.te-trek-style-5 .te-review-item { background:#fdf9f4;border:1px solid #f0e8da;border-radius:6px;padding:20px; }
.te-trek-style-5 .te-review-name { color:#1a1814;font-weight:700; }
.te-trek-style-5 .te-review-text { color:#6b5e50; }
.te-trek-style-5 .te-review-avatar { background:#fdf6e3;color:#c9a84c;border-color:rgba(201,168,76,.25); }
.te-trek-style-5 .te-reviews-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px; }
.te-trek-style-5 .te-booking-box { background:#1a1814;border:1px solid #2e2920;border-radius:10px;overflow:hidden; }
.te-trek-style-5 .te-booking-box-body { background:#211e18; }
.te-trek-style-5 .te-form-label { color:#9a8c7a; }
.te-trek-style-5 .te-form-input { background:#1a1814;border-color:#2e2920;color:#e8dece; }
.te-trek-style-5 .te-form-input:focus { border-color:#c9a84c!important;box-shadow:0 0 0 3px rgba(201,168,76,.15)!important; }
.te-trek-style-5 .te-btn--ghost { border-color:#3e3830;color:#9a8c7a; }
.te-trek-style-5 .te-btn--ghost:hover { border-color:#c9a84c;color:#c9a84c; }
.te-trek-style-5 .te-layout-sidebar .te-booking-sticky .te-box { background:#211e18;border-color:#2e2920;border-radius:8px;padding:20px 24px;border-bottom:none!important; }
.te-trek-style-5 .te-layout-sidebar .te-booking-sticky .te-box h4 { color:#e8dece; }
.te-trek-style-5 .te-layout-sidebar .te-booking-sticky .te-box p { color:#9a8c7a; }
.te-trek-style-5 .te-trek-sticky-bar { background:#1a1814 !important; border-top:1px solid rgba(201,168,76,.2) !important; }
.te-trek-style-5 .te-sticky-btn--book { background:#c9a84c !important; border-color:#c9a84c !important; color:#1a1814 !important; }
.te-trek-style-5 .te-trek-sticky-price strong { color:#c9a84c; }
.te-trek-style-5 .te-trek-sticky-name { color:#e8dece; }
.te-trek-style-5 .te-related-treks { background:#f0ebe3!important; }
.te-trek-style-5 .te-section-eyebrow { color:#c9a84c; }
.te-trek-style-5 .te-map-embed iframe { border-radius:8px;border:2px solid #ddd0be; }
/* S5 gallery mosaic — gold border accents */
.te-trek-style-5 .te-gal-s5-mosaic { border-radius:12px;overflow:hidden;border:3px solid #fff; }
.te-trek-style-5 .te-gallery-count { background:#fdf9f4;border-color:#ddd0be;color:#9a8c7a; }
@media(max-width:600px) {
  .te-trek-style-5 .te-single-stats-row { grid-template-columns:repeat(2,1fr); }
  .te-trek-style-5 .te-single-stat:nth-child(even) { border-right:none; }
  .te-trek-style-5 .te-single-stat:nth-child(n+3) { border-top:2px solid #1a1814; }
}

/* ── Map embed — iframe v2 (full iframe code from Google Maps) ── */
.te-map-embed {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	line-height: 0; /* remove gap under iframe */
}
.te-map-embed iframe {
	display: block !important;
	width: 100% !important;
	height: 480px !important;
	border: 0 !important;
	border-radius: 0 !important; /* container handles radius */
}
@media (max-width: 600px) {
	.te-map-embed iframe { height: 320px !important; }
}
/* Style-4 dark map override still applies on top */
.te-trek-style-4 .te-map-embed iframe { filter: invert(.85) hue-rotate(160deg) saturate(.8); }

/* ── Dynamic Pricing Notes pills (sidebar) ── */
#te-dynamic-pricing-notes {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 8px;
}
.te-dp-note-pill {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 20px;
	background: #EFF6FF;
	color: #3B82F6;
	border: 1px solid #BFDBFE;
	letter-spacing: .01em;
}
.te-dp-note-pill[data-sign="-"] {
	background: #ECFDF5;
	color: #10B981;
	border-color: #A7F3D0;
}

/* ── Dynamic Pricing Notice Bar ── */
.te-dp-notice {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	padding: 11px 16px;
	margin-bottom: 20px;
	border-radius: 10px;
	background: linear-gradient(135deg, #EDE9FE 0%, #F5F3FF 100%);
	border: 1.5px solid #C4B5FD;
	font-size: 13px;
	line-height: 1.4;
}
.te-dp-notice-icon {
	display: flex;
	align-items: center;
	color: #7C3AED;
	flex-shrink: 0;
}
.te-dp-notice-text {
	color: #4C1D95;
	flex: 1;
	min-width: 180px;
}
.te-dp-notice-text strong {
	color: #6D28D9;
	font-weight: 700;
}
.te-dp-notice-cta {
	font-size: 11px;
	font-weight: 700;
	color: #7C3AED;
	background: rgba(124,58,237,.1);
	padding: 3px 10px;
	border-radius: 20px;
	white-space: nowrap;
}
@media (max-width: 600px) {
	.te-dp-notice { padding: 10px 12px; font-size: 12px; }
	.te-dp-notice-cta { display: none; }
}

/* ── Coupon Box — Mobile Fix ──────────────────────────────── */
@media (max-width: 480px) {
	.te-coupon-box {
		padding: 12px !important;
	}
	.te-coupon-row {
		flex-wrap: wrap;
	}
	.te-coupon-row input {
		width: 100%;
		flex: unset !important;
	}
	.te-coupon-row button {
		width: 100%;
		text-align: center;
	}
}
