/* =====================================================================
   GOA TRIP — PREMIUM WHITE THEME v5.1
   Complete override of the dark theme.
   Design reference: Airbnb / Apple / Booking.com
   ===================================================================== */

/* ---- Font system ---- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ---- Design tokens ---- */
:root {
  /* Palette — clean white system */
  --gt-white:        #FFFFFF;
  --gt-surface:      #F7F8FA;
  --gt-surface-2:    #EEF0F4;
  --gt-surface-3:    #E4E7EC;

  /* Brand */
  --gt-blue:         #F97316;
  --gt-blue-dk:      #003EBF;
  --gt-blue-lt:      #FFF7ED;
  --gt-blue-mid:     rgba(249,115,22,0.08);
  --gt-gold:         #C09B2A;
  --gt-gold-lt:      #FBF6E9;
  --gt-green:        #059669;
  --gt-green-lt:     #ECFDF5;
  --gt-red:          #DC2626;
  --gt-red-lt:       #FEF2F2;
  --gt-amber:        #D97706;
  --gt-amber-lt:     #FFFBEB;

  /* Typography */
  --gt-text:         #0D0F12;
  --gt-text-2:       #374151;
  --gt-text-3:       #6B7280;
  --gt-text-4:       #9CA3AF;
  --gt-text-inv:     #FFFFFF;

  /* Borders */
  --gt-border:       rgba(0,0,0,0.08);
  --gt-border-md:    rgba(0,0,0,0.12);
  --gt-border-dk:    rgba(0,0,0,0.20);

  /* Shadows — very soft, Apple-style */
  --gt-shadow-xs:    0 1px 2px rgba(0,0,0,0.04);
  --gt-shadow-sm:    0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --gt-shadow-md:    0 4px 16px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --gt-shadow-lg:    0 12px 32px rgba(0,0,0,0.10), 0 4px 8px rgba(0,0,0,0.04);
  --gt-shadow-xl:    0 24px 64px rgba(0,0,0,0.12), 0 8px 16px rgba(0,0,0,0.06);
  --gt-shadow-card:  0 1px 3px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.06);
  --gt-shadow-card-hover: 0 8px 30px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.06);

  /* Radius */
  --gt-r-sm:  8px;
  --gt-r:     12px;
  --gt-r-lg:  16px;
  --gt-r-xl:  20px;
  --gt-r-2xl: 28px;
  --gt-r-pill:999px;

  /* Spacing */
  --gt-space-1:  4px;
  --gt-space-2:  8px;
  --gt-space-3:  12px;
  --gt-space-4:  16px;
  --gt-space-5:  20px;
  --gt-space-6:  24px;
  --gt-space-8:  32px;
  --gt-space-10: 40px;
  --gt-space-12: 48px;
  --gt-space-16: 64px;
  --gt-space-20: 80px;

  /* Transitions */
  --gt-ease:    cubic-bezier(0.4, 0, 0.2, 1);
  --gt-ease-out:cubic-bezier(0, 0, 0.2, 1);
  --gt-dur-fast:150ms;
  --gt-dur:     250ms;
  --gt-dur-slow:400ms;

  /* Font */
  --gt-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* =====================================================================
   GLOBAL RESET — white background
   ===================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body,
.goatrip-theme {
  font-family: var(--gt-font) !important;
  background: var(--gt-white) !important;
  color: var(--gt-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

/* Kill ALL dark backgrounds from old theme */
:root {
  --goatrip-bg:         #FFFFFF !important;
  --goatrip-card:       #FFFFFF !important;
  --goatrip-secondary:  #F7F8FA !important;
  --goatrip-foreground: #0D0F12 !important;
  --goatrip-muted:      #6B7280 !important;
  --goatrip-border:     rgba(0,0,0,0.08) !important;
  --goatrip-primary:    #C09B2A !important;
  --goatrip-font-body:  var(--gt-font) !important;
  --goatrip-font-display: var(--gt-font) !important;
}

/* =====================================================================
   HEADER — White, clean, minimal
   ===================================================================== */
.goatrip-header {
  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--gt-border) !important;
  box-shadow: var(--gt-shadow-xs) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* Logo text */
.goatrip-logo,
.goatrip-logo span {
  color: var(--gt-text) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.goatrip-logo .goatrip-logo-accent {
  color: var(--gt-gold) !important;
}

/* Nav links */
.goatrip-nav a,
.goatrip-header-inner a:not(.goatrip-btn):not(.goatrip-whatsapp-btn) {
  color: var(--gt-text-2) !important;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: color var(--gt-dur-fast) var(--gt-ease);
}

.goatrip-nav a:hover,
.goatrip-header-inner a:not(.goatrip-btn):hover {
  color: var(--gt-blue) !important;
}

/* CTA button in header */
.goatrip-header .goatrip-btn,
.goatrip-header .goatrip-btn-primary {
  background: var(--gt-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gt-r-pill) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 9px 20px !important;
  box-shadow: none !important;
  transition: background var(--gt-dur-fast), transform var(--gt-dur-fast);
}

.goatrip-header .goatrip-btn:hover {
  background: var(--gt-blue-dk) !important;
  transform: translateY(-1px);
}

/* =====================================================================
   TYPOGRAPHY SYSTEM
   ===================================================================== */

/* Section headings */
.goatrip-section-heading,
.goatrip-section h2,
section > .goatrip-container > h2 {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--gt-text) !important;
  line-height: 1.2;
  margin-bottom: 6px;
}

.goatrip-section-sub {
  color: var(--gt-text-3) !important;
  font-size: 16px;
  font-weight: 400;
}

/* Page hero titles */
.goatrip-page-hero h1 {
  font-size: clamp(28px, 4vw, 52px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  font-family: var(--gt-font) !important;
}

/* =====================================================================
   PAGE HERO — Reimagined
   ===================================================================== */
.goatrip-page-hero {
  background: var(--gt-text) !important;
  min-height: clamp(240px, 36vw, 480px);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 0;
}

.goatrip-page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.55) 55%,
    rgba(0,0,0,0.82) 100%
  );
  z-index: 1;
}

.goatrip-page-hero .goatrip-container {
  position: relative;
  z-index: 2;
  padding-bottom: var(--gt-space-10);
  padding-top: var(--gt-space-8);
  width: 100%;
}

.goatrip-page-hero h1,
.goatrip-page-hero h2,
.goatrip-page-hero p,
.goatrip-page-hero .goatrip-breadcrumb,
.goatrip-page-hero .goatrip-page-hero-meta {
  color: #fff !important;
}

.goatrip-page-hero .goatrip-breadcrumb {
  font-size: 13px;
  opacity: 0.8;
  margin-bottom: 12px;
}

.goatrip-page-hero .goatrip-breadcrumb a {
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none;
}

.goatrip-page-hero .goatrip-page-hero-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.goatrip-page-hero .goatrip-page-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--gt-r-pill);
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #fff !important;
}

/* =====================================================================
   CARD SYSTEM — Premium White
   ===================================================================== */
.goatrip-card {
  background: var(--gt-white) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r-lg) !important;
  overflow: hidden;
  transition:
    transform var(--gt-dur) var(--gt-ease-out),
    box-shadow var(--gt-dur) var(--gt-ease-out),
    border-color var(--gt-dur) var(--gt-ease-out);
  box-shadow: var(--gt-shadow-card) !important;
  display: flex;
  flex-direction: column;
  position: relative;
}

.goatrip-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--gt-shadow-card-hover) !important;
  border-color: rgba(249,115,22,0.20) !important;
}

/* Card image — clean aspect ratio */
.goatrip-card-media {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden;
  position: relative;
  background: var(--gt-surface-2);
}

.goatrip-card-media img,
.goatrip-card-media .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--gt-dur-slow) var(--gt-ease-out);
}

.goatrip-card:hover .goatrip-card-media img,
.goatrip-card:hover .goatrip-card-media .wp-post-image {
  transform: scale(1.04);
}

/* Card body — white, clean */
.goatrip-card-body {
  padding: 18px 20px 20px !important;
  background: var(--gt-white) !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Card title */
.goatrip-card-body h3,
.goatrip-card h3,
.goatrip-card-body h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--gt-text) !important;
  line-height: 1.35;
  margin-bottom: 6px !important;
  font-family: var(--gt-font) !important;
  letter-spacing: -0.01em;
}

.goatrip-card:hover .goatrip-card-body h3,
.goatrip-card:hover h3 {
  color: var(--gt-blue) !important;
}

/* Card description */
.goatrip-card-desc {
  font-size: 13px !important;
  color: var(--gt-text-3) !important;
  line-height: 1.55;
  margin-bottom: 12px;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Rating */
.goatrip-card .goatrip-card-meta-row,
.ota-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  margin-bottom: 10px;
}

/* Meta pills on image — refined */
.goatrip-card-meta-row {
  position: absolute !important;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  background: rgba(255,255,255,0.95) !important;
  border: none !important;
  border-radius: var(--gt-r-pill) !important;
  padding: 5px 12px !important;
  box-shadow: var(--gt-shadow-sm) !important;
  color: var(--gt-text) !important;
}

.goatrip-card-meta-row span,
.goatrip-card-meta-row > span {
  color: var(--gt-text-2) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.goatrip-card-meta-row > span strong {
  color: var(--gt-text) !important;
}

/* Price — prominent */
.goatrip-price-block,
.goatrip-card-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--gt-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.goatrip-price-block .goatrip-price,
.goatrip-card-foot .goatrip-price,
.ota-card-price {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--gt-blue) !important;
  letter-spacing: -0.02em;
  line-height: 1;
  background: none !important;
  -webkit-text-fill-color: var(--gt-blue) !important;
}

.goatrip-price-label,
.goatrip-card-from,
.ota-card-from {
  font-size: 11px !important;
  color: var(--gt-text-4) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}

.goatrip-strike,
.ota-strike {
  font-size: 13px !important;
  color: var(--gt-text-4) !important;
  text-decoration: line-through;
}

/* Card badges — clean */
.goatrip-card-badge,
.goatrip-urgency-badge,
.pc-tier {
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: var(--gt-r-pill) !important;
  letter-spacing: 0.03em;
  text-transform: none;
}

.goatrip-card-badge {
  background: var(--gt-gold) !important;
  color: #fff !important;
  border: none !important;
}

.goatrip-urgency-badge {
  background: var(--gt-red-lt) !important;
  color: var(--gt-red) !important;
  border: 1px solid rgba(220,38,38,0.2) !important;
  animation: none !important;
}

/* Card button */
.goatrip-card .goatrip-btn,
.goatrip-card .goatrip-btn-primary,
.goatrip-card .goatrip-btn-outline,
.goatrip-card-foot .goatrip-btn,
.ota-card-footer .ota-btn {
  background: var(--gt-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gt-r-pill) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 9px 18px !important;
  box-shadow: none !important;
  transition: background var(--gt-dur-fast), transform var(--gt-dur-fast);
}

.goatrip-card .goatrip-btn:hover,
.goatrip-card .goatrip-btn-primary:hover {
  background: var(--gt-blue-dk) !important;
  transform: none;
}

/* =====================================================================
   ARCHIVE GRID
   ===================================================================== */
.goatrip-section {
  background: var(--gt-white) !important;
  padding: 56px 0 !important;
}

.goatrip-section:nth-child(even) {
  background: var(--gt-surface) !important;
}

.goatrip-grid {
  gap: 20px !important;
}

/* =====================================================================
   TRUST BAR — Clean white
   ===================================================================== */
.goatrip-trust-bar,
.goatrip-trust-bar-inner {
  background: var(--gt-surface) !important;
  border-top: 1px solid var(--gt-border) !important;
  border-bottom: 1px solid var(--gt-border) !important;
  color: var(--gt-text-2) !important;
}

.goatrip-trust-bar .goatrip-trust-item {
  color: var(--gt-text-2) !important;
}

.goatrip-trust-bar .goatrip-trust-item strong {
  color: var(--gt-text) !important;
}

/* =====================================================================
   SECTIONS — White backgrounds
   ===================================================================== */
.goatrip-highlights,
.goatrip-inclusions,
.goatrip-single-content,
.goatrip-single-body,
section,
main,
article {
  background: var(--gt-white) !important;
  color: var(--gt-text) !important;
}

.goatrip-single-body h2,
.goatrip-single-body h3,
.goatrip-single-body h4 {
  color: var(--gt-text) !important;
  font-family: var(--gt-font) !important;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.goatrip-single-body p,
.goatrip-single-body li {
  color: var(--gt-text-2) !important;
}

/* Highlights list */
.goatrip-feature-list li {
  background: var(--gt-surface) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r) !important;
  color: var(--gt-text-2) !important;
  padding: 12px 16px !important;
}

.goatrip-feature-list li svg,
.goatrip-feature-list li .goatrip-icon {
  color: var(--gt-blue) !important;
}

/* Inclusions grid */
.goatrip-inclusion-item {
  background: var(--gt-green-lt) !important;
  border: 1px solid rgba(5,150,105,0.15) !important;
  border-radius: var(--gt-r) !important;
  color: var(--gt-green) !important;
}

/* =====================================================================
   CTA SECTION
   ===================================================================== */
.goatrip-cta-section,
.section-cta {
  background: var(--gt-blue) !important;
  color: #fff !important;
  border-radius: var(--gt-r-xl);
  margin: 40px 0;
}

.goatrip-cta-section *,
.section-cta * {
  color: #fff !important;
}

/* =====================================================================
   FOOTER — Clean dark (one dark section is intentional)
   ===================================================================== */
.goatrip-footer,
footer.goatrip-footer {
  background: #0D0F12 !important;
  border-top: none !important;
  color: rgba(255,255,255,0.65) !important;
}

.goatrip-footer a {
  color: rgba(255,255,255,0.65) !important;
}

.goatrip-footer a:hover {
  color: #fff !important;
}

.goatrip-footer-heading {
  color: #fff !important;
  font-weight: 600;
}

/* =====================================================================
   BUTTONS — Global white-theme button system
   ===================================================================== */
.goatrip-btn-primary,
.goatrip-book-btn {
  background: var(--gt-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gt-r-pill) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 13px 28px !important;
  box-shadow: 0 4px 14px rgba(249,115,22,0.25) !important;
  transition: background var(--gt-dur-fast), box-shadow var(--gt-dur-fast), transform var(--gt-dur-fast) !important;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.goatrip-btn-primary:hover {
  background: var(--gt-blue-dk) !important;
  box-shadow: 0 6px 20px rgba(249,115,22,0.35) !important;
  transform: translateY(-1px);
}

.goatrip-btn-secondary,
.goatrip-btn-outline {
  background: transparent !important;
  color: var(--gt-blue) !important;
  border: 1.5px solid var(--gt-blue) !important;
  border-radius: var(--gt-r-pill) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 11px 26px !important;
  transition: all var(--gt-dur-fast);
}

.goatrip-btn-secondary:hover,
.goatrip-btn-outline:hover {
  background: var(--gt-blue-lt) !important;
}

.goatrip-whatsapp-btn,
.goatrip-btn-whatsapp {
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gt-r-pill) !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 14px rgba(37,211,102,0.25) !important;
}

.goatrip-whatsapp-btn:hover {
  background: #1EBF5B !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(37,211,102,0.35) !important;
}

/* =====================================================================
   SOCIAL PROOF BOX
   ===================================================================== */
.ota-social-proof,
.goatrip-social-proof {
  background: var(--gt-amber-lt) !important;
  border: 1px solid rgba(217,119,6,0.2) !important;
  border-radius: var(--gt-r) !important;
  padding: 14px 16px !important;
  margin-bottom: 20px !important;
}

.ota-sp-row,
.goatrip-sp-row {
  font-size: 13px !important;
  color: var(--gt-text-2) !important;
}

.ota-sp-counter,
.goatrip-sp-counter {
  color: var(--gt-red) !important;
  font-weight: 700 !important;
}

/* =====================================================================
   BOOKING PANEL — White premium
   ===================================================================== */
.ota-booking-sticky,
.goatrip-booking-panel,
.gtbp-pay-card,
.ota-booking-card {
  background: var(--gt-white) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r-xl) !important;
  box-shadow: var(--gt-shadow-lg) !important;
}

.ota-booking-price,
.ota-booking-price .ota-booking-price-amount,
.goatrip-booking-price {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--gt-blue) !important;
  letter-spacing: -0.03em;
  -webkit-text-fill-color: var(--gt-blue) !important;
  background: none !important;
}

/* Mobile booking bar */
.ota-bottom-cta,
.ota-mobile-booking-bar,
.goatrip-mobile-bar {
  background: var(--gt-white) !important;
  border-top: 1px solid var(--gt-border) !important;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08) !important;
}

/* =====================================================================
   FORMS — Clean white
   ===================================================================== */
input, select, textarea {
  font-family: var(--gt-font) !important;
  color: var(--gt-text) !important;
  background: var(--gt-white) !important;
}

.goatrip-field-input,
.goatrip-search input,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
  border: 1.5px solid var(--gt-border-md) !important;
  border-radius: var(--gt-r) !important;
  color: var(--gt-text) !important;
  background: var(--gt-white) !important;
  font-family: var(--gt-font) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--gt-blue) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,0.1) !important;
  outline: none;
}

/* =====================================================================
   GALLERY SLIDESHOW STYLES
   ===================================================================== */

/* ---- Slideshow container ---- */
.gt-gallery {
  position: relative;
  width: 100%;
  background: #000;
  user-select: none;
  touch-action: pan-y;
  overflow: hidden;
}

.gt-gallery-main {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Height: tall on single pages, shorter on cards */
.gt-gallery--hero { aspect-ratio: 16 / 9; }

@media (min-width: 768px) {
  .gt-gallery--hero { aspect-ratio: 21 / 9; max-height: 560px; }
}

/* ---- Slides ---- */
.gt-gallery-track {
  display: flex;
  height: 100%;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gt-gallery-track.gt-no-transition {
  transition: none;
}

.gt-gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.gt-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  pointer-events: none;
}

/* Gradient overlay on hero slides */
.gt-gallery--hero .gt-gallery-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 35%,
    rgba(0,0,0,0.25) 65%,
    rgba(0,0,0,0.55) 100%
  );
  pointer-events: none;
}

/* ---- Navigation arrows ---- */
.gt-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--gt-shadow-md);
  transition: all var(--gt-dur-fast) var(--gt-ease);
  opacity: 0;
}

.gt-gallery:hover .gt-gallery-arrow,
.gt-gallery-arrow:focus {
  opacity: 1;
}

.gt-gallery-arrow:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
  box-shadow: var(--gt-shadow-lg);
}

.gt-gallery-arrow--prev { left: 16px; }
.gt-gallery-arrow--next { right: 16px; }

.gt-gallery-arrow svg {
  width: 18px;
  height: 18px;
  color: var(--gt-text);
  stroke-width: 2.5;
}

/* ---- Dot indicators ---- */
.gt-gallery-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
}

.gt-gallery-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all var(--gt-dur-fast) var(--gt-ease);
}

.gt-gallery-dot.is-active {
  width: 20px;
  border-radius: 99px;
  background: #fff;
}

/* ---- Counter overlay ---- */
.gt-gallery-counter {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  background: rgba(0,0,0,0.5);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: var(--gt-r-pill);
  backdrop-filter: blur(4px);
}

/* ---- Thumbnail strip ---- */
.gt-gallery-thumbs {
  display: flex;
  gap: 6px;
  padding: 8px 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.gt-gallery-thumbs::-webkit-scrollbar { display: none; }

.gt-gallery-thumb {
  flex: 0 0 auto;
  width: 72px;
  height: 52px;
  border-radius: var(--gt-r-sm);
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color var(--gt-dur-fast);
  opacity: 0.65;
  transition: opacity var(--gt-dur-fast), border-color var(--gt-dur-fast);
}

.gt-gallery-thumb.is-active {
  border-color: var(--gt-blue);
  opacity: 1;
}

.gt-gallery-thumb:hover {
  opacity: 0.9;
}

.gt-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- Play/Pause indicator ---- */
.gt-gallery-play {
  position: absolute;
  bottom: 16px;
  right: 16px;
  z-index: 10;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--gt-dur-fast);
}

.gt-gallery-play:hover {
  background: rgba(255,255,255,0.35);
}

.gt-gallery-play svg {
  width: 14px;
  height: 14px;
  color: #fff;
}

/* =====================================================================
   SINGLE PRODUCT PAGE — Complete redesign
   ===================================================================== */

/* Layout grid */
.gt-single-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  padding: 32px 0 64px;
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 1024px) {
  .gt-single-layout {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 48px;
    padding: 40px 40px 80px;
  }
}

/* ---- Left column: content ---- */
.gt-single-content {
  min-width: 0;
}

/* Package type badge */
.gt-single-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gt-blue-lt);
  color: var(--gt-blue);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 12px;
  border-radius: var(--gt-r-pill);
  margin-bottom: 12px;
}

/* Title */
.gt-single-title {
  font-size: clamp(24px, 3.5vw, 38px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--gt-text) !important;
  margin-bottom: 14px;
  font-family: var(--gt-font) !important;
}

/* Rating + meta row */
.gt-single-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gt-border);
}

.gt-single-rating {
  display: flex;
  align-items: center;
  gap: 6px;
}

.gt-single-rating .gt-score {
  background: var(--gt-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--gt-r-sm);
}

.gt-single-rating .gt-rating-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--gt-text-2);
}

.gt-single-rating .gt-reviews {
  font-size: 13px;
  color: var(--gt-text-3);
}

.gt-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--gt-text-2);
  background: var(--gt-surface);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-pill);
  padding: 5px 12px;
  font-weight: 500;
}

/* Content sections */
.gt-single-section {
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--gt-border);
}

.gt-single-section:last-child {
  border-bottom: none;
}

.gt-section-label {
  font-size: 19px;
  font-weight: 700;
  color: var(--gt-text) !important;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  font-family: var(--gt-font) !important;
}

/* Description text */
.gt-single-desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--gt-text-2) !important;
}

/* Highlights — card-style list */
.gt-highlights-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 640px) {
  .gt-highlights-grid { grid-template-columns: 1fr; }
}

.gt-highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--gt-surface);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r);
  padding: 12px 14px;
  font-size: 14px;
  color: var(--gt-text-2) !important;
  line-height: 1.4;
}

.gt-highlight-icon {
  width: 18px;
  height: 18px;
  background: var(--gt-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.gt-highlight-icon svg {
  width: 10px;
  height: 10px;
  color: #fff;
  stroke-width: 3;
}

/* Inclusions */
.gt-inclusions-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gt-inclusion-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gt-green-lt);
  border: 1px solid rgba(5,150,105,0.2);
  color: var(--gt-green) !important;
  border-radius: var(--gt-r-pill);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 12px;
}

.gt-inclusion-tag svg {
  width: 13px;
  height: 13px;
  stroke-width: 2.5;
  flex-shrink: 0;
}

/* Itinerary */
.gt-itinerary-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gt-itinerary-item {
  display: flex;
  gap: 16px;
}

.gt-itinerary-left {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gt-itinerary-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--gt-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gt-itinerary-line {
  width: 1px;
  flex: 1;
  background: var(--gt-border-md);
  margin: 4px 0;
  min-height: 20px;
}

.gt-itinerary-item:last-child .gt-itinerary-line {
  display: none;
}

.gt-itinerary-body {
  padding-bottom: 24px;
  padding-top: 3px;
  flex: 1;
}

.gt-itinerary-day {
  font-size: 13px;
  font-weight: 600;
  color: var(--gt-blue);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.gt-itinerary-text {
  font-size: 14px;
  color: var(--gt-text-2) !important;
  line-height: 1.6;
}

/* ---- Right column: booking panel ---- */
.gt-booking-panel {
  position: sticky;
  top: 88px;
  background: var(--gt-white);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-xl);
  box-shadow: var(--gt-shadow-lg);
  overflow: hidden;
  align-self: flex-start;
}

.gt-panel-price-header {
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--gt-border);
}

.gt-panel-from {
  font-size: 12px;
  color: var(--gt-text-4);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-bottom: 4px;
}

.gt-panel-price {
  font-size: 34px;
  font-weight: 800;
  color: var(--gt-blue) !important;
  letter-spacing: -0.03em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.gt-panel-per {
  font-size: 14px;
  font-weight: 400;
  color: var(--gt-text-4);
  letter-spacing: 0;
}

.gt-panel-rating-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.gt-panel-body {
  padding: 20px 22px;
}

/* Inclusions in panel */
.gt-panel-inclusions {
  margin-bottom: 18px;
}

.gt-panel-inclusions-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--gt-text);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.gt-panel-inclusions-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.gt-panel-inclusion-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--gt-text-2);
}

.gt-panel-check {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--gt-green-lt);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gt-panel-check svg {
  width: 10px;
  height: 10px;
  color: var(--gt-green);
  stroke-width: 3;
}

/* Trust in panel */
.gt-panel-trust {
  background: var(--gt-surface);
  border-radius: var(--gt-r);
  padding: 12px 14px;
  margin-bottom: 16px;
}

.gt-panel-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--gt-text-3);
  padding: 3px 0;
}

.gt-panel-trust-item svg {
  width: 13px;
  height: 13px;
  color: var(--gt-blue);
  flex-shrink: 0;
}

/* Primary CTA */
.gt-panel-cta {
  display: block;
  width: 100%;
  background: var(--gt-blue);
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  padding: 15px 20px;
  border-radius: var(--gt-r-pill);
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(249,115,22,0.3);
  transition: background var(--gt-dur-fast), box-shadow var(--gt-dur-fast), transform var(--gt-dur-fast);
  margin-bottom: 10px;
}

.gt-panel-cta:hover {
  background: var(--gt-blue-dk);
  box-shadow: 0 6px 20px rgba(249,115,22,0.4);
  transform: translateY(-1px);
  color: #fff !important;
}

.gt-panel-wa {
  display: block;
  width: 100%;
  background: #25D366;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  padding: 12px 20px;
  border-radius: var(--gt-r-pill);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--gt-dur-fast);
}

.gt-panel-wa:hover {
  background: #1EBF5B;
  color: #fff !important;
}

.gt-panel-footer {
  padding: 14px 22px;
  border-top: 1px solid var(--gt-border);
  text-align: center;
  font-size: 12px;
  color: var(--gt-text-4);
}

/* ---- Mobile sticky bottom bar ---- */
.gt-mobile-bar {
  display: none;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--gt-border);
  padding: 12px 16px;
  z-index: 200;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
}

.gt-mobile-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 600px;
  margin: 0 auto;
}

.gt-mobile-price {
  display: flex;
  flex-direction: column;
}

.gt-mobile-price-from {
  font-size: 11px;
  color: var(--gt-text-4);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.gt-mobile-price-amt {
  font-size: 22px;
  font-weight: 800;
  color: var(--gt-blue);
  letter-spacing: -0.02em;
  line-height: 1;
}

.gt-mobile-bar .gt-panel-cta {
  flex: 1;
  margin: 0;
  font-size: 15px;
  padding: 13px 20px;
}

@media (max-width: 1023px) {
  .gt-mobile-bar { display: block; }
  .gt-booking-panel { display: none; }
  body.single { padding-bottom: 72px; }
}

/* =====================================================================
   MICRO-INTERACTIONS
   ===================================================================== */

/* Smooth fade-in on scroll (JS adds .gt-visible class) */
.gt-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s var(--gt-ease-out), transform 0.5s var(--gt-ease-out);
}

.gt-animate.gt-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.gt-animate-stagger > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.4s var(--gt-ease-out), transform 0.4s var(--gt-ease-out);
}

.gt-animate-stagger.gt-visible > *:nth-child(1) { transition-delay: 0ms; }
.gt-animate-stagger.gt-visible > *:nth-child(2) { transition-delay: 60ms; }
.gt-animate-stagger.gt-visible > *:nth-child(3) { transition-delay: 120ms; }
.gt-animate-stagger.gt-visible > *:nth-child(4) { transition-delay: 180ms; }
.gt-animate-stagger.gt-visible > *:nth-child(5) { transition-delay: 240ms; }
.gt-animate-stagger.gt-visible > *:nth-child(6) { transition-delay: 300ms; }

.gt-animate-stagger.gt-visible > * {
  opacity: 1;
  transform: translateY(0);
}

/* Link underline animation */
a.gt-link-hover {
  background-image: linear-gradient(var(--gt-blue), var(--gt-blue));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size var(--gt-dur) var(--gt-ease);
}

a.gt-link-hover:hover { background-size: 100% 1px; }

/* Number counting animation */
@keyframes gt-count-in {
  from { transform: translateY(8px); opacity: 0; }
  to   { transform: translateY(0);   opacity: 1; }
}

.gt-count-animated {
  animation: gt-count-in 0.35s var(--gt-ease-out) both;
}

/* =====================================================================
   MOBILE RESPONSIVE
   ===================================================================== */
@media (max-width: 767px) {
  .goatrip-section { padding: 40px 0 !important; }

  .goatrip-card-body {
    padding: 14px 16px 16px !important;
  }

  .goatrip-card-body h3 {
    font-size: 15px !important;
  }

  .goatrip-price-block .goatrip-price {
    font-size: 20px !important;
  }

  .gt-single-layout {
    padding: 20px 16px 80px;
    gap: 24px;
  }

  .gt-highlights-grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================================
   SEARCH FILTER BAR
   ===================================================================== */
.goatrip-search-filter,
.search-filter {
  background: var(--gt-white) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r-lg) !important;
  box-shadow: var(--gt-shadow-sm) !important;
  padding: 16px !important;
  margin-bottom: 28px !important;
}

/* =====================================================================
   TESTIMONIALS
   ===================================================================== */
.goatrip-testimonial,
.goatrip-card-testimonial {
  background: var(--gt-white) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r-lg) !important;
  box-shadow: var(--gt-shadow-card) !important;
  padding: 24px !important;
}

.goatrip-testimonial-body,
.goatrip-testimonial-text,
blockquote {
  color: var(--gt-text-2) !important;
  font-size: 15px;
  line-height: 1.7;
  font-style: italic;
}

/* =====================================================================
   PRICING TABLES
   ===================================================================== */
.goatrip-pricing-row,
.pricing-row {
  background: var(--gt-white) !important;
  border-bottom: 1px solid var(--gt-border) !important;
}

.goatrip-pricing-row:hover {
  background: var(--gt-surface) !important;
}

/* =====================================================================
   MISC OVERRIDES — Kill any remaining dark elements
   ===================================================================== */
.goatrip-tag,
.goatrip-chip {
  background: var(--gt-surface) !important;
  color: var(--gt-text-2) !important;
  border-color: var(--gt-border) !important;
}

.goatrip-badge-primary {
  background: var(--gt-blue-lt) !important;
  color: var(--gt-blue) !important;
}

.goatrip-section-heading::after,
.goatrip-section h2::after {
  background: var(--gt-gold) !important;
}

/* Smooth scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--gt-surface-3); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--gt-text-4); }

/* Focus rings — accessible */
*:focus-visible {
  outline: 2px solid var(--gt-blue);
  outline-offset: 2px;
}

/* =====================================================================
   GTP CARD SYSTEM (matches card-package.php template)
   ===================================================================== */
.gtp-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.09);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 250ms cubic-bezier(0,0,.2,1),
              box-shadow 250ms cubic-bezier(0,0,.2,1),
              border-color 250ms cubic-bezier(0,0,.2,1);
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.06);
  font-family: 'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
.gtp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
  border-color: rgba(249,115,22,.18);
}
.gtp-card-img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f3f4f6;
}
.gtp-card-img img,
.gtp-card-img .wp-post-image {
  width:100%; height:100%; object-fit:cover; display:block;
  transition: transform 400ms cubic-bezier(0,0,.2,1);
}
.gtp-card:hover .gtp-card-img img,
.gtp-card:hover .gtp-card-img .wp-post-image { transform: scale(1.04); }
.gtp-card-tier {
  position:absolute; top:10px; left:10px; z-index:2;
  font-size:11px; font-weight:600; padding:4px 10px;
  border-radius:999px; letter-spacing:.03em;
}
.gtp-card-sp {
  position:absolute; bottom:10px; right:10px; z-index:2;
  background:rgba(255,255,255,.92); color:#374151;
  font-size:11px; font-weight:500; padding:4px 10px;
  border-radius:999px;
  box-shadow: 0 1px 4px rgba(0,0,0,.10);
}
.gtp-card-body { padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
.gtp-card-meta { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.gtp-card-rating { font-size:13px; color:#374151; }
.gtp-card-rating b { color:#111827; }
.gtp-card-rev { color:#9CA3AF; }
.gtp-card-dur { font-size:12px; color:#6B7280; }
.gtp-card-body h3 { font-size:15px; font-weight:600; color:#111827; line-height:1.3; margin:0 0 10px; letter-spacing:-.01em; }
.gtp-card-body h3 a { color:inherit; text-decoration:none; }
.gtp-card:hover .gtp-card-body h3 a { color:#F97316; }
.gtp-card-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:14px; flex:1; }
.gtp-card-tag { font-size:11px; color:#059669; background:#ECFDF5; border:1px solid rgba(5,150,105,.2); border-radius:999px; padding:3px 9px; font-weight:500; }
.gtp-card-foot { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,0,0,.08); padding-top:12px; }
.gtp-card-from { font-size:10px; color:#9CA3AF; text-transform:uppercase; letter-spacing:.06em; font-weight:500; margin-bottom:2px; }
.gtp-card-price { font-size:20px; font-weight:800; color:#F97316; letter-spacing:-.02em; line-height:1; }
.gtp-card-per { font-size:12px; font-weight:400; color:#9CA3AF; margin-left:2px; }
.gtp-card-btn {
  background:#F97316; color:#fff!important; text-decoration:none;
  font-size:13px; font-weight:600; padding:9px 16px;
  border-radius:999px; transition:background 150ms;
}
.gtp-card-btn:hover { background:#C2410C; }

/* =====================================================================
   HEADER SCROLLED STATE
   ===================================================================== */
.goatrip-header--scrolled {
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* =====================================================================
   FINAL AUDIT PASS — v5.2
   Fixes: hero white rewrite · nav states · testimonials · FAQ · footer
   ===================================================================== */

/* ---- HOME HERO (white-based version) ---- */
.goatrip-hero-search,
.home-hero,
section.home-hero {
  background: var(--gt-white) !important;
  padding: 60px 0 48px !important;
  border-bottom: 1px solid var(--gt-border) !important;
}

.goatrip-hero-search h1,
.home-hero h1 {
  font-size: clamp(32px, 5vw, 60px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: var(--gt-text) !important;
  line-height: 1.08 !important;
  font-family: var(--gt-font) !important;
  margin-bottom: 16px !important;
}

.goatrip-hero-search p,
.home-hero p,
.hero-subtitle {
  font-size: 18px !important;
  color: var(--gt-text-3) !important;
  line-height: 1.65 !important;
  max-width: 560px !important;
  font-weight: 400 !important;
}

/* Search bar on hero */
.goatrip-hero-search-bar,
.ota-search-bar,
.hero-search-bar {
  background: var(--gt-white) !important;
  border: 1.5px solid var(--gt-border-md) !important;
  border-radius: var(--gt-r-xl) !important;
  box-shadow: var(--gt-shadow-md) !important;
  overflow: hidden;
}

.goatrip-hero-search-bar:focus-within {
  border-color: var(--gt-blue) !important;
  box-shadow: 0 0 0 4px rgba(249,115,22,0.08), var(--gt-shadow-md) !important;
}

/* Hero stats / trust row */
.hero-stats-row,
.goatrip-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 32px !important;
}

.hero-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero-stat-num {
  font-size: 24px;
  font-weight: 800;
  color: var(--gt-text) !important;
  letter-spacing: -0.025em;
}

.hero-stat-label {
  font-size: 13px;
  color: var(--gt-text-3);
  font-weight: 400;
}

/* ---- NAVIGATION ACTIVE STATES ---- */
.goatrip-nav a.current-menu-item,
.goatrip-nav a.current-page-ancestor,
.goatrip-nav a[aria-current="page"] {
  color: var(--gt-text) !important;
  font-weight: 600 !important;
  position: relative;
}

.goatrip-nav a.current-menu-item::after {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--gt-blue);
  border-radius: 999px;
}

/* ---- SECTION HEADERS ---- */
.gt-section-header {
  margin-bottom: 40px;
  max-width: 600px;
}

.gt-section-eyebrow {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gt-blue);
  margin-bottom: 8px;
  display: block;
}

.gt-section-h2 {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gt-text);
  line-height: 1.15;
  margin-bottom: 10px;
  font-family: var(--gt-font);
}

.gt-section-sub {
  font-size: 16px;
  color: var(--gt-text-3);
  line-height: 1.65;
  font-weight: 400;
}

/* ---- TESTIMONIALS ---- */
.goatrip-testimonial,
.goatrip-card-testimonial {
  background: var(--gt-white) !important;
  border: 1px solid var(--gt-border) !important;
  border-radius: var(--gt-r-xl) !important;
  padding: 28px !important;
  box-shadow: var(--gt-shadow-card) !important;
  position: relative;
}

.goatrip-testimonial::before {
  content: '"';
  position: absolute;
  top: 20px;
  left: 24px;
  font-size: 64px;
  color: var(--gt-blue);
  opacity: 0.12;
  font-family: Georgia, serif;
  line-height: 1;
}

.goatrip-testimonial-text,
.goatrip-testimonial blockquote,
.testimonial-body {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--gt-text-2) !important;
  font-style: normal !important;
  margin-bottom: 20px !important;
  padding-top: 12px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--gt-blue-lt);
  color: var(--gt-blue);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--gt-font);
}

.testimonial-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--gt-text);
  line-height: 1.2;
}

.testimonial-role {
  font-size: 12px;
  color: var(--gt-text-3);
  margin-top: 2px;
}

.testimonial-rating {
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
}

.testimonial-star {
  color: #F59E0B;
  font-size: 14px;
}

/* ---- FAQ / ACCORDION ---- */
.gt-faq {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-lg);
  overflow: hidden;
}

.gt-faq-item {
  border-bottom: 1px solid var(--gt-border);
}

.gt-faq-item:last-child {
  border-bottom: none;
}

.gt-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  cursor: pointer;
  background: var(--gt-white);
  transition: background var(--gt-dur-fast);
  user-select: none;
  gap: 12px;
}

.gt-faq-q:hover {
  background: var(--gt-surface);
}

.gt-faq-q-text {
  font-size: 15px;
  font-weight: 600;
  color: var(--gt-text);
  line-height: 1.4;
  flex: 1;
  font-family: var(--gt-font);
}

.gt-faq-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gt-surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  color: var(--gt-text-3);
  transition: transform var(--gt-dur-fast), background var(--gt-dur-fast);
}

.gt-faq-item.open .gt-faq-icon {
  background: var(--gt-blue-lt);
  color: var(--gt-blue);
  transform: rotate(45deg);
}

.gt-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.gt-faq-item.open .gt-faq-a {
  max-height: 400px;
}

.gt-faq-a-inner {
  padding: 0 22px 18px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--gt-text-2);
}

/* ---- ENHANCED TRUST BAR ---- */
.goatrip-trust-bar {
  background: var(--gt-surface) !important;
  border-top: 1px solid var(--gt-border) !important;
  border-bottom: 1px solid var(--gt-border) !important;
  padding: 14px 0 !important;
}

.trust-bar-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}

.trust-bar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gt-text-2) !important;
  white-space: nowrap;
}

.trust-bar-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gt-white);
  border: 1px solid var(--gt-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}

/* ---- IMPROVED FOOTER ---- */
footer.goatrip-footer,
.goatrip-footer {
  background: #0D0F12 !important;
  color: rgba(255,255,255,0.6) !important;
  font-family: var(--gt-font) !important;
}

.goatrip-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 64px 0 48px;
}

@media (max-width: 768px) {
  .goatrip-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

.goatrip-footer-brand-name {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF !important;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.goatrip-footer-brand-name span {
  color: var(--gt-gold) !important;
}

.goatrip-footer-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.5) !important;
  line-height: 1.7;
  max-width: 280px;
  margin-bottom: 24px;
}

.goatrip-footer-col-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.9) !important;
  margin-bottom: 16px;
}

.goatrip-footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.goatrip-footer-links a {
  font-size: 14px;
  color: rgba(255,255,255,0.5) !important;
  text-decoration: none;
  transition: color var(--gt-dur-fast);
}

.goatrip-footer-links a:hover {
  color: rgba(255,255,255,0.9) !important;
}

.goatrip-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: rgba(255,255,255,0.35) !important;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---- STAT COUNTERS SECTION ---- */
.gt-stats-section {
  background: var(--gt-blue) !important;
  padding: 56px 0;
  color: #fff;
}

.gt-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
}

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

.gt-stat-item {
  text-align: center;
}

.gt-stat-num {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 6px;
  font-family: var(--gt-font);
}

.gt-stat-label {
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  font-weight: 400;
}

/* ---- CATEGORY PILLS (archive filter) ---- */
.gt-category-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}

.gt-cat-pill {
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid var(--gt-border-md);
  background: var(--gt-white);
  font-size: 13px;
  font-weight: 500;
  color: var(--gt-text-2);
  cursor: pointer;
  transition: all var(--gt-dur-fast);
  font-family: var(--gt-font);
}

.gt-cat-pill:hover {
  border-color: var(--gt-blue);
  color: var(--gt-blue);
}

.gt-cat-pill.active {
  background: var(--gt-blue);
  color: #fff;
  border-color: var(--gt-blue);
}

/* ---- PRICING SECTION ---- */
.gt-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 32px 0;
}

.gt-pricing-card {
  background: var(--gt-white);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-lg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: all var(--gt-dur);
}

.gt-pricing-card:hover {
  border-color: rgba(249,115,22,0.25);
  box-shadow: var(--gt-shadow-md);
}

.gt-pricing-card.featured {
  border-color: var(--gt-blue);
  border-width: 2px;
  position: relative;
}

.gt-pricing-card.featured::before {
  content: 'Most popular';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gt-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  white-space: nowrap;
  font-family: var(--gt-font);
}

.gt-pricing-tier {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gt-text-3);
}

.gt-pricing-price {
  font-size: 32px;
  font-weight: 800;
  color: var(--gt-text);
  letter-spacing: -0.03em;
  line-height: 1;
}

.gt-pricing-price-per {
  font-size: 14px;
  font-weight: 400;
  color: var(--gt-text-4);
}

/* ---- BREADCRUMBS ---- */
.gt-breadcrumb,
.goatrip-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  flex-wrap: wrap;
}

.gt-breadcrumb a,
.goatrip-breadcrumb a {
  color: var(--gt-text-3) !important;
  text-decoration: none;
  transition: color var(--gt-dur-fast);
}

.gt-breadcrumb a:hover,
.goatrip-breadcrumb a:hover {
  color: var(--gt-blue) !important;
}

.gt-breadcrumb-sep {
  color: var(--gt-text-4);
  font-size: 11px;
}

/* ---- NOTIFICATION / TOAST ---- */
.gt-toast {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: var(--gt-r);
  font-size: 14px;
  font-weight: 500;
  font-family: var(--gt-font);
  box-shadow: var(--gt-shadow-lg);
}

.gt-toast-success { background: var(--gt-green-lt); color: #065F46; border: 1px solid rgba(5,150,105,0.2); }
.gt-toast-info    { background: var(--gt-blue-lt);  color: #1E40AF; border: 1px solid rgba(249,115,22,0.2); }
.gt-toast-warn    { background: var(--gt-amber-lt); color: #92400E; border: 1px solid rgba(217,119,6,0.2); }
.gt-toast-error   { background: var(--gt-red-lt);   color: #991B1B; border: 1px solid rgba(220,38,38,0.2); }

/* ---- LOADING SKELETON ---- */
@keyframes gt-skeleton {
  0%   { opacity: 0.6; }
  50%  { opacity: 1;   }
  100% { opacity: 0.6; }
}

.gt-skeleton {
  background: var(--gt-surface-2);
  border-radius: var(--gt-r-sm);
  animation: gt-skeleton 1.8s ease infinite;
}

/* ---- EMPTY STATE ---- */
.gt-empty {
  text-align: center;
  padding: 64px 24px;
}

.gt-empty-icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.5;
}

.gt-empty-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--gt-text);
  margin-bottom: 8px;
  font-family: var(--gt-font);
}

.gt-empty-sub {
  font-size: 14px;
  color: var(--gt-text-3);
  margin-bottom: 24px;
}

/* ---- ACCESSIBILITY ADDITIONS ---- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .gtp-track {
    transition: none !important;
  }
}

.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;
}

/* ---- CONTAINER ---- */
.goatrip-container {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* ---- SECTION ALTERNATING ---- */
.goatrip-section,
section.goatrip-section {
  padding: 64px 0 !important;
  background: var(--gt-white) !important;
}

.goatrip-section.gt-surface {
  background: var(--gt-surface) !important;
}

/* Final overrides — remove ALL remaining dark colors */
*,
*::before,
*::after {
  scrollbar-color: var(--gt-surface-3) transparent;
}

/* Any lingering dark/gold text from old theme */
.gold-text,
.goatrip-gold {
  color: var(--gt-gold) !important;
}

/* Print styles */
@media print {
  .goatrip-header,
  .gtp-mobile-bar,
  .gt-gallery-arrow,
  .goatrip-footer { display: none !important; }
  body { color: #000; background: #fff; }
}

/* =====================================================================
   MOBILE COMPATIBILITY — COMPLETE SYSTEM (v5.3)
   ===================================================================== */

/* ---- HEADER: mobile fixes ---- */

/* Hide desktop nav on mobile */
@media (max-width: 1023px) {
  .goatrip-nav { display: none !important; }
  .goatrip-header-cta { display: none !important; }
}

/* Show hamburger on mobile */
.goatrip-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  background: none;
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-sm);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--gt-text);
  flex-shrink: 0;
  transition: background var(--gt-dur-fast);
}

.goatrip-menu-toggle:hover { background: var(--gt-surface); }
.goatrip-menu-toggle svg   { width: 20px; height: 20px; }

@media (max-width: 1023px) {
  .goatrip-menu-toggle { display: flex !important; }
}

/* Hamburger 3-bar icon via CSS */
.goatrip-menu-toggle .goatrip-icon {
  display: none;
}

.goatrip-menu-toggle::before,
.goatrip-menu-toggle .hamburger-icon {
  display: block;
  width: 20px;
  height: 14px;
  position: relative;
}

/* ---- MOBILE NAVIGATION DRAWER ---- */
.goatrip-mobile-nav {
  display: none;
  background: var(--gt-white);
  border-top: 1px solid var(--gt-border);
  box-shadow: var(--gt-shadow-lg);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 999;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.goatrip-mobile-nav.is-open {
  display: block;
  animation: mobileNavIn .25s var(--gt-ease-out);
}

@keyframes mobileNavIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.goatrip-mobile-nav .menu {
  list-style: none;
  padding: 8px 0;
  margin: 0;
}

.goatrip-mobile-nav .menu li {
  border-bottom: 1px solid var(--gt-border);
}

.goatrip-mobile-nav .menu li:last-child { border-bottom: none; }

.goatrip-mobile-nav .menu a {
  display: block;
  padding: 15px 20px;
  font-size: 16px;
  font-weight: 500;
  color: var(--gt-text) !important;
  text-decoration: none;
  transition: background var(--gt-dur-fast), color var(--gt-dur-fast);
  font-family: var(--gt-font);
}

.goatrip-mobile-nav .menu a:hover,
.goatrip-mobile-nav .menu a:active {
  background: var(--gt-surface);
  color: var(--gt-blue) !important;
  padding-left: 28px;
}

.goatrip-mobile-nav .menu li.current_page_item a {
  color: var(--gt-blue) !important;
  font-weight: 600;
}

.goatrip-mobile-cta {
  padding: 16px 20px;
  border-top: 1px solid var(--gt-border);
  background: var(--gt-surface);
}

.goatrip-btn-block {
  display: flex !important;
  width: 100%;
  justify-content: center;
}

/* ---- MEGA NAV: mobile scroll ---- */
.goatrip-mega-nav {
  background: var(--gt-white) !important;
  border-bottom: 1px solid var(--gt-border) !important;
}

.goatrip-mega-nav-list {
  display: flex !important;
  gap: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 !important;
}

.goatrip-mega-nav-list::-webkit-scrollbar { display: none; }

.goatrip-mega-nav-list a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 10px 14px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--gt-text-2) !important;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 70px;
  border-right: 1px solid var(--gt-border);
  transition: all var(--gt-dur-fast);
}

.goatrip-mega-nav-list a:hover {
  background: var(--gt-blue-lt) !important;
  color: var(--gt-blue) !important;
}

.goatrip-mega-nav-list svg,
.goatrip-mega-nav-list .goatrip-icon {
  width: 20px !important;
  height: 20px !important;
}

/* ---- LOGO: compact on mobile ---- */
@media (max-width: 1023px) {
  .goatrip-header-inner {
    gap: 12px !important;
  }
  .goatrip-logo-text span {
    display: none;
  }
}

/* =====================================================================
   GRIDS: Responsive
   ===================================================================== */

/* 3-col → 2-col → 1-col */
.goatrip-grid-3,
.goatrip-grid,
.goatrip-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

@media (max-width: 1023px) {
  .goatrip-grid-3,
  .goatrip-grid,
  .goatrip-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 600px) {
  .goatrip-grid-3,
  .goatrip-grid,
  .goatrip-products-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 400px) {
  .goatrip-grid-3,
  .goatrip-grid,
  .goatrip-products-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 4-col */
.goatrip-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 1023px) { .goatrip-grid-4 { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 480px)  { .goatrip-grid-4 { grid-template-columns: 1fr; } }

/* 2-col */
.goatrip-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media (max-width: 640px)  { .goatrip-grid-2 { grid-template-columns: 1fr; } }

/* =====================================================================
   CARDS: Mobile fixes
   ===================================================================== */

@media (max-width: 600px) {
  .gtp-card,
  .goatrip-card {
    border-radius: 12px !important;
  }

  .gtp-card-body {
    padding: 12px 14px 14px !important;
  }

  .gtp-card-body h3 {
    font-size: 14px !important;
  }

  .gtp-card-price {
    font-size: 17px !important;
  }

  .gtp-card-btn {
    font-size: 11px !important;
    padding: 7px 12px !important;
  }
}

/* =====================================================================
   SECTIONS: Mobile spacing
   ===================================================================== */

@media (max-width: 767px) {
  .goatrip-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .goatrip-section,
  section.goatrip-section {
    padding: 40px 0 !important;
  }

  section h2,
  .goatrip-section-heading,
  .gt-section-h2 {
    font-size: clamp(20px, 6vw, 28px) !important;
  }
}

/* =====================================================================
   SINGLE PRODUCT PAGE: Mobile
   ===================================================================== */

@media (max-width: 1023px) {
  .gtp-layout {
    grid-template-columns: 1fr !important;
    padding: 20px 16px 80px !important;
  }

  .gtp-panel-wrap {
    display: none !important;
  }

  .gtp-title {
    font-size: clamp(22px, 6vw, 32px) !important;
  }

  .gtp-highlights-grid,
  .gt-highlights-grid {
    grid-template-columns: 1fr !important;
  }

  .gtp-info-grid,
  .gt-info-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 480px) {
  .gtp-info-grid { grid-template-columns: 1fr !important; }
  .gtp-meta-row  { gap: 6px !important; }
  .gtp-pill      { font-size: 11px !important; padding: 4px 10px !important; }
}

/* Gallery mobile */
@media (max-width: 767px) {
  .gtp-gallery-stage,
  .gtp-gallery .gt-gallery-stage {
    aspect-ratio: 4/3 !important;
  }

  .gtp-thumbstrip {
    padding: 6px 16px !important;
  }

  .gtp-thumb {
    width: 56px !important;
    height: 40px !important;
  }
}

/* =====================================================================
   MOBILE STICKY BOTTOM BAR (single pages)
   ===================================================================== */

@media (max-width: 1023px) {
  .gtp-mobile-bar {
    display: none;
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--gt-border);
    padding: 10px 16px;
    z-index: 200;
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
  }

  .gtp-mobile-bar.visible {
    display: block;
  }

  .gtp-mobile-bar .gtp-mobile-bar-inner-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 100%;
  }

  body.single {
    padding-bottom: 72px;
  }
}

/* =====================================================================
   FORMS: Mobile
   ===================================================================== */

@media (max-width: 600px) {
  .goatrip-field-input,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px !important;  /* prevents iOS zoom */
  }

  .gth-ctas {
    flex-direction: column !important;
  }

  .gth-btn-primary,
  .gth-btn-wa {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* =====================================================================
   HERO: Mobile trust row & layout
   ===================================================================== */

@media (max-width: 767px) {
  .gth-hero {
    height: 88vh;
    min-height: 480px;
  }

  .gth-slide-inner {
    padding: 0 16px;
    align-items: flex-start;
    padding-top: 80px;
  }

  .gth-eyebrow {
    font-size: 12px;
    padding: 5px 12px;
  }

  .gth-trust-row {
    display: none;
  }

  .gth-dots {
    bottom: 20px;
  }

  .gth-progress {
    display: none;
  }

  .gth-badge {
    font-size: 12px;
    padding: 4px 12px;
  }
}

/* =====================================================================
   PAGE HERO (archive/single page hero image)
   ===================================================================== */

@media (max-width: 767px) {
  .goatrip-page-hero {
    min-height: 200px !important;
  }

  .goatrip-page-hero h1 {
    font-size: clamp(22px, 7vw, 34px) !important;
  }

  .goatrip-page-hero .goatrip-container {
    padding-bottom: 28px !important;
    padding-top: 28px !important;
  }
}

/* =====================================================================
   BOOKING MODAL: Full-screen on mobile
   ===================================================================== */

@media (max-width: 600px) {
  .goatrip-modal,
  .goatrip-booking-modal {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    max-height: 100vh;
    overflow-y: auto;
  }
}

/* =====================================================================
   FOOTER: Mobile
   ===================================================================== */

@media (max-width: 767px) {
  .goatrip-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    padding: 40px 0 24px !important;
  }

  .goatrip-footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
}

@media (max-width: 400px) {
  .goatrip-footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================================
   ADMIN BAR: Adjust header sticky offset
   ===================================================================== */

.admin-bar .goatrip-header {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .goatrip-header {
    top: 46px;
  }
}

/* =====================================================================
   TOUCH: Make all tap targets 44px minimum
   ===================================================================== */

@media (max-width: 1023px) {
  .goatrip-btn,
  .gth-btn-primary,
  .gth-btn-wa,
  .gtp-btn-book,
  .gtp-btn-wa,
  button,
  [role="button"] {
    min-height: 44px;
  }

  .goatrip-mega-nav-list a {
    min-height: 48px;
  }
}

/* =====================================================================
   TEXT: prevent overflow on mobile
   ===================================================================== */

@media (max-width: 767px) {
  p, li, td, th {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

/* =====================================================================
   IMAGES: prevent overflow
   ===================================================================== */

img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* =====================================================================
   QUICK WIN: Hide decorative elements on very small screens
   ===================================================================== */

@media (max-width: 360px) {
  .gth-trust-row,
  .gth-badge,
  .goatrip-mega-nav { display: none !important; }
}

/* =====================================================================
   v5.4 — VISIBILITY FIXES
   Replace all unreadable gold text with high-contrast colors
   Gold is reserved ONLY for: logo accent, large display brand element
   For text/UI: use blue (links), darker amber (badges), or proper text color
   ===================================================================== */

/* Reset global primary back to blue (was gold in old theme) */
:root {
  --goatrip-primary:     #F97316 !important;
  --goatrip-primary-rgb: 0,85,255 !important;
}

/* Links: blue, never gold */
a, a:link, a:visited {
  color: var(--gt-blue) !important;
}

a:hover, a:focus {
  color: var(--gt-blue-dk) !important;
}

/* Strong contrast on white: do NOT use gold for body text */
.goatrip-text-gold,
.goatrip-gold-text,
.goatrip-primary,
[style*="color: #D4AF37"],
[style*="color:#D4AF37"],
[style*="color: gold"] {
  color: var(--gt-text) !important;
}

/* Footer headings: use white, not gold */
.goatrip-footer h3,
.goatrip-footer h4,
.goatrip-footer-heading,
.goatrip-footer-col-title {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* Footer brand name: white with gold accent ONLY on second word */
.goatrip-footer-brand-name {
  color: #FFFFFF !important;
}

.goatrip-footer-brand-name span,
.goatrip-footer-brand-name em {
  color: #FCD34D !important;  /* light gold for visibility on dark footer only */
}

/* Logo accent — gold OK at 20px+ size on white (large enough for contrast) */
.goatrip-logo-accent,
.goatrip-logo strong + span,
.goatrip-logo .logo-accent {
  color: #92400E !important;
  font-weight: 700 !important;
}

/* Remove gold from body text contexts */
.goatrip-card-body h3,
.goatrip-card-body h2,
.goatrip-card h3,
.goatrip-card-title,
.goatrip-product-title {
  color: var(--gt-text) !important;
}

/* Card price: blue, NEVER gold */
.goatrip-card-price,
.goatrip-price,
.gtp-card-price,
.ota-card-price,
.product-price,
.price {
  color: var(--gt-blue) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: var(--gt-blue) !important;
  background-clip: initial !important;
}

/* Card badges that use gold: dark amber instead */
.goatrip-card-badge,
.goatrip-badge-gold,
.tier-luxury,
.tier-premium {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid rgba(146,64,14,.18) !important;
}

/* Section divider lines: blue not gold */
.goatrip-section-heading::after,
.goatrip-section h2::after,
.goatrip-divider {
  background: var(--gt-blue) !important;
}

/* Gold-on-white STAR ratings: dark amber for legibility */
.goatrip-rating-star,
.star-rating,
.rating-stars span {
  color: #D97706 !important;  /* darker amber, readable on white */
}

/* "From" / "Starting at" labels: ensure proper contrast */
.goatrip-card-from,
.gtp-card-from,
.gtp-card-per,
.gtp-panel-from,
.gtp-book-from,
.goatrip-from,
.price-label {
  color: #6B7280 !important;
  font-weight: 500;
}

/* Trust bar items */
.goatrip-trust-bar .goatrip-trust-item,
.trust-item,
.gth-trust-item {
  color: #374151 !important;
}

.gth-trust-item {
  color: rgba(255,255,255,.92) !important;  /* on dark hero */
}

/* Eyebrow text */
.gth-eyebrow {
  color: #FFFFFF !important;
}

.gt-section-eyebrow {
  color: var(--gt-blue) !important;
}

/* WhatsApp button text — always white */
.goatrip-whatsapp-btn,
.goatrip-btn-whatsapp,
.gth-btn-wa,
.gtp-btn-wa,
.gt-panel-wa {
  color: #FFFFFF !important;
}

/* Override any remaining yellow text */
[style*="color: yellow"],
[style*="color: #FFD"],
[style*="color: #FCC"],
[style*="color: #EDD"] {
  color: var(--gt-text) !important;
}

/* Make sure all heading colors are dark text */
h1, h2, h3, h4, h5, h6 {
  color: var(--gt-text);
}

/* Old theme dark backgrounds with gold text — kill them */
[style*="background: #07090C"],
[style*="background:#07090C"],
[style*="background: #0a0a0a"],
[style*="background:#0a0a0a"] {
  background: var(--gt-white) !important;
  color: var(--gt-text) !important;
}

/* =====================================================================
   GOAN BEACH VIBE — subtle palette enhancement
   Sandy beige + ocean teal + sunset coral as accent surfaces
   ===================================================================== */

/* Section variant: warm sandy */
.goatrip-section.goatrip-sandy,
.gt-section-sandy {
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFAF0 100%) !important;
}

/* Section variant: ocean breeze */
.goatrip-section.goatrip-ocean,
.gt-section-ocean {
  background: linear-gradient(180deg, #FFFFFF 0%, #F0F9FF 100%) !important;
}

/* Section variant: sunset glow */
.goatrip-section.goatrip-sunset,
.gt-section-sunset {
  background: linear-gradient(180deg, #FFFFFF 0%, #FEF3F2 100%) !important;
}

/* Decorative palm SVG corner accent — added via ::before to sections */
.gt-with-palm {
  position: relative;
  overflow: hidden;
}

.gt-with-palm::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -40px;
  width: 200px;
  height: 200px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' opacity='0.06'%3E%3Cpath d='M100 180 L100 120' stroke='%23059669' stroke-width='3' fill='none'/%3E%3Cpath d='M100 120 Q60 100 30 80 M100 120 Q140 100 170 80 M100 120 Q70 90 50 60 M100 120 Q130 90 150 60 M100 120 Q90 80 80 50 M100 120 Q110 80 120 50' stroke='%23059669' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.5;
  z-index: 0;
  pointer-events: none;
}

/* Goan vibe: subtle palm pattern background for special sections */
.gt-bg-palms {
  background-color: #FFFAF0;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(5,150,105,.04) 0%, transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(217,119,6,.04) 0%, transparent 40%);
}

/* Goan beach decorative section */
.gt-beach-section {
  position: relative;
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FFF7ED 50%, #FFFFFF 100%);
  padding: 80px 0;
  overflow: hidden;
}

.gt-beach-section::before,
.gt-beach-section::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 240px;
  height: 240px;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.08;
  pointer-events: none;
}

.gt-beach-section::before {
  left: -40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 180 L100 110' stroke='%23059669' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M100 110 Q50 90 20 65 M100 110 Q150 90 180 65 M100 110 Q60 80 35 45 M100 110 Q140 80 165 45 M100 110 Q85 70 75 35 M100 110 Q115 70 125 35' stroke='%23059669' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

.gt-beach-section::after {
  right: -40px;
  transform: scaleX(-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 180 L100 110' stroke='%23059669' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M100 110 Q50 90 20 65 M100 110 Q150 90 180 65 M100 110 Q60 80 35 45 M100 110 Q140 80 165 45 M100 110 Q85 70 75 35 M100 110 Q115 70 125 35' stroke='%23059669' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* =====================================================================
   FINAL: ensure text is always readable on any background
   ===================================================================== */

/* High-contrast text override */
body, p, li, td, th, span, div {
  color: inherit;
}

/* Make damn sure body text is dark */
.goatrip-theme,
.goatrip-theme p,
.goatrip-theme li:not(.goatrip-card-tag):not(.gtp-card-tag),
.goatrip-theme div {
  color: var(--gt-text);
}

/* Body text on white — strong */
.goatrip-body-text,
.entry-content,
.post-content {
  color: var(--gt-text-2);
}

/* =====================================================================
   v5.5 — PRODUCT SECTIONS (front-page) styling
   ===================================================================== */

.gtps-section {
  padding: 56px 0 !important;
  background: #fff;
}

.gtps-section:nth-child(odd) {
  background: #F9FAFB;
}

.gtps-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.gtps-head > div {
  flex: 1;
  min-width: 0;
}

.gtps-eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #F97316;
  margin-bottom: 6px;
  font-family: 'Inter', sans-serif;
}

.gtps-head h2 {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #111827;
  line-height: 1.15;
  margin-bottom: 6px;
  font-family: 'Inter', sans-serif;
}

.gtps-head p {
  font-size: 15px;
  color: #6B7280;
  line-height: 1.55;
  font-family: 'Inter', sans-serif;
  max-width: 560px;
}

.gtps-view-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #F97316;
  text-decoration: none;
  padding: 10px 18px;
  border: 1.5px solid rgba(249,115,22,0.2);
  border-radius: 999px;
  transition: all 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: 'Inter', sans-serif;
}

.gtps-view-all:hover {
  background: #F97316;
  color: #fff !important;
  border-color: #F97316;
}

@media (max-width: 600px) {
  .gtps-head { gap: 16px; }
  .gtps-view-all { font-size: 13px; padding: 8px 14px; }
}

/* =====================================================================
   FINAL: Override section-stats for premium feel
   ===================================================================== */

.gt-stats-section,
.goatrip-section-stats {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #C2410C 100%) !important;
  padding: 56px 0 !important;
  color: #fff !important;
}

.gt-stats-grid,
.goatrip-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}

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

.goatrip-stat,
.gt-stat-item,
.goatrip-stat-card {
  background: transparent !important;
  border: none !important;
  text-align: center;
  padding: 0;
  color: #fff;
}

.goatrip-stat-icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  color: #fff;
}

.goatrip-stat-value,
.gt-stat-num {
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  color: #fff !important;
  line-height: 1;
  margin-bottom: 4px;
  font-family: 'Inter', sans-serif;
}

.goatrip-stat-label,
.gt-stat-label {
  font-size: 13px !important;
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
}

/* =====================================================================
   Newsletter section polish
   ===================================================================== */

.goatrip-newsletter-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  border-radius: 20px !important;
  padding: 40px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  flex-wrap: wrap;
}

.goatrip-newsletter-card h2 {
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  color: #111827 !important;
  margin-bottom: 6px !important;
  font-family: 'Inter', sans-serif;
}

.goatrip-newsletter-card p {
  font-size: 15px !important;
  color: #6B7280 !important;
  line-height: 1.6;
  margin: 0;
  max-width: 460px;
}

.goatrip-newsletter-form {
  display: flex;
  gap: 8px;
  flex: 1;
  min-width: 320px;
  max-width: 480px;
}

.goatrip-newsletter-form input[type="email"] {
  flex: 1;
  padding: 12px 16px;
  border: 1.5px solid rgba(0,0,0,0.12);
  border-radius: 999px;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.15s;
}

.goatrip-newsletter-form input[type="email"]:focus {
  border-color: #F97316;
}

.goatrip-newsletter-form button {
  background: #F97316 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  cursor: pointer;
  white-space: nowrap;
  font-family: 'Inter', sans-serif !important;
  transition: background 0.15s;
}

.goatrip-newsletter-form button:hover {
  background: #C2410C !important;
}

@media (max-width: 768px) {
  .goatrip-newsletter-card {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 32px 24px !important;
  }
  .goatrip-newsletter-form { min-width: 0; max-width: 100%; }
}

/* =====================================================================
   CTA section polish
   ===================================================================== */

.goatrip-cta-card {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #C2410C 100%) !important;
  border-radius: 24px !important;
  padding: 56px 40px !important;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.goatrip-cta-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.goatrip-cta-card h2 {
  font-size: clamp(26px, 3.5vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
  font-family: 'Inter', sans-serif;
  position: relative;
}

.goatrip-cta-card p {
  font-size: 16px !important;
  color: rgba(255,255,255,0.88) !important;
  line-height: 1.65 !important;
  max-width: 540px;
  margin: 0 auto 28px !important;
  position: relative;
}

.goatrip-cta-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

.goatrip-cta-card .goatrip-btn-whatsapp {
  background: #25D366 !important;
  color: #fff !important;
}

.goatrip-cta-card .goatrip-btn-outline {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
  backdrop-filter: blur(8px);
}

.goatrip-cta-card .goatrip-btn-outline:hover {
  background: rgba(255,255,255,0.2) !important;
}

/* =====================================================================
   v5.6 — COLOR SYSTEM REWORK
   Goan sunset palette · coral primary · dark navy text/pricing
   ===================================================================== */

/* Update CSS variables to match new system */
:root {
  /* Primary system — sunset coral */
  --gt-coral:        #F97316;
  --gt-coral-dk:     #C2410C;
  --gt-coral-lt:     #FFF7ED;

  /* Override the old blue tokens to coral for any leftover refs */
  --gt-blue:         #F97316;
  --gt-blue-dk:      #C2410C;
  --gt-blue-lt:      #FFF7ED;
  --gt-blue-mid:     rgba(249,115,22,0.08);

  /* Deep navy for text/pricing — much cleaner than coral on coral */
  --gt-navy:         #0F172A;
  --gt-navy-2:       #1E293B;

  /* Ocean teal for secondary/info accent */
  --gt-teal:         #0F766E;
  --gt-teal-lt:      #F0FDFA;
}

/* Pricing should be navy, NOT coral — let coral own the CTAs */
.goatrip-card-price,
.goatrip-price,
.gtp-card-price,
.ota-card-price,
.product-price,
.price,
.gtp-book-amt,
.gtp-mobile-amt,
.gtp-panel-price {
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  background: none !important;
}

/* Eyebrow text on white — switch to coral or teal */
.gtps-eyebrow,
.gtd-eyebrow,
.gthi-eyebrow,
.gtwc-eyebrow,
.gtt-eyebrow,
.gt-section-eyebrow,
.gtps-section .gtps-eyebrow {
  color: #C2410C !important;
}

/* Type badges on cards */
.gtp-card .gtp-card-meta,
.demo-type,
.gtp-type-badge {
  background: #FFF7ED !important;
  color: #C2410C !important;
}

/* Inline category pill on single product */
.gtp-type-badge {
  background: #FFF7ED !important;
  color: #C2410C !important;
}

/* Score badge — small rating pill */
.gtp-score,
.gtp-score-sm,
.gtt-rating,
.gt-single-rating .gt-score,
.ascore {
  background: #F97316 !important;
  color: #fff !important;
}

/* Headers/links — keep navy for text, coral only for action */
a, a:link, a:visited {
  color: #C2410C !important;
}

a:hover, a:focus {
  color: #9A3412 !important;
}

/* Itinerary day labels and structural elements should be teal not coral */
.gt-itinerary-day,
.gt-itinerary-dot {
  background: #0F766E !important;
  color: #fff !important;
}

.gt-itinerary-dot {
  background: #F97316 !important;  /* keep dots coral for vertical rhythm */
}

.gt-itinerary-day {
  color: #0F766E !important;
  background: none !important;
}

/* CTA buttons — coral with sunset shadow */
.gth-btn-primary,
.gtp-btn-book,
.gt-panel-cta,
.goatrip-btn-primary,
.goatrip-book-btn,
.gtp-card-btn,
.gtps-view-all:hover,
.goatrip-newsletter-form button,
.demo-btn {
  background: #F97316 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(249,115,22,.32) !important;
}

.gth-btn-primary:hover,
.gtp-btn-book:hover,
.gt-panel-cta:hover,
.goatrip-btn-primary:hover,
.goatrip-newsletter-form button:hover,
.gtps-view-all:hover {
  background: #C2410C !important;
  box-shadow: 0 6px 20px rgba(249,115,22,.42) !important;
}

/* "View all" pill button */
.gtps-view-all {
  color: #C2410C !important;
  border-color: rgba(249,115,22,0.25) !important;
}

/* Stats banner — sunset gradient (navy to coral) instead of pure coral */
.gt-stats-section,
.goatrip-section-stats {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 45%, #C2410C 100%) !important;
}

/* Final CTA card — same sunset gradient */
.goatrip-cta-card {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 45%, #C2410C 100%) !important;
}

/* Subtle accent backgrounds — warmer cream */
.goatrip-section.gt-surface,
.gtps-section:nth-child(odd),
.gtt-section {
  background: #FFFAF5 !important;  /* warm cream instead of cool grey */
}

/* Scrollbar / focus rings */
*:focus-visible {
  outline-color: #F97316 !important;
}

/* Form focus state */
input:focus,
select:focus,
textarea:focus,
.goatrip-newsletter-form input[type="email"]:focus {
  border-color: #F97316 !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.12) !important;
}

/* Quick-link pills — hover should be coral */
.gth-ql-pill:hover {
  background: #FFF7ED !important;
  border-color: #F97316 !important;
  color: #C2410C !important;
}

/* Mega nav active hover */
.goatrip-mega-nav-list a:hover {
  background: #FFF7ED !important;
  color: #C2410C !important;
}

/* Mobile nav active link */
.goatrip-mobile-nav .menu li.current_page_item a {
  color: #C2410C !important;
}

/* Active dot indicator */
.gt-dot.is-active,
.gth-dot.active,
.gtp-dot.active {
  background: #fff !important;
}

/* Card hover border tint */
.gtp-card:hover,
.goatrip-card:hover {
  border-color: rgba(249,115,22,0.22) !important;
}

/* Live "viewing now" dot — keep green */
.gth-trust-item,
.gtp-live-dot {
  /* unchanged */
}

/* Verified badge — keep green */
.gtt-verified {
  color: #059669 !important;
}

/* Make sure the body text is dark navy, not generic gray */
body, .goatrip-theme {
  color: #0F172A !important;
}

/* Header CTA */
.goatrip-header .goatrip-btn,
.goatrip-header .goatrip-btn-primary {
  background: #F97316 !important;
}

.goatrip-header .goatrip-btn:hover {
  background: #C2410C !important;
}

/* Replace the navigation underline indicator */
.goatrip-nav a.current-menu-item::after {
  background: #F97316 !important;
}

/* Final guarantee — kill any residual blue tone */
[style*="background:#0055FF"],
[style*="background: #0055FF"],
[style*="background:#003ECC"],
[style*="background: #003ECC"] {
  background: #F97316 !important;
}

[style*="color:#0055FF"],
[style*="color: #0055FF"] {
  color: #C2410C !important;
}

[style*="color:#003ECC"],
[style*="color: #003ECC"] {
  color: #C2410C !important;
}

/* =====================================================================
   FINE-TUNE: certain badges should be other warm colors for variety
   ===================================================================== */

/* "Standard" tier badge — keep ocean blue navy for variety */
.gtp-card-tier[data-tier="Standard"],
.tier-standard {
  background: #DBEAFE !important;
  color: #1E40AF !important;
}

/* Section eyebrows: alternate between coral and teal for visual variety */
.gtps-section:nth-child(odd) .gtps-eyebrow {
  color: #0F766E !important;  /* ocean teal on cream sections */
}

.gtps-section:nth-child(even) .gtps-eyebrow {
  color: #C2410C !important;  /* sunset coral on white sections */
}

/* Make navy/teal eyebrows for "trust"-y sections */
.gtwc-eyebrow,  /* Why Us */
.gtt-eyebrow {  /* Testimonials */
  color: #0F766E !important;
}

/* Keep destinations + how-it-works coral (action-y) */
.gtd-eyebrow,
.gthi-eyebrow {
  color: #C2410C !important;
}

/* =====================================================================
   v6.0 — LEAD CAPTURE FORMS (smart inquiry forms per CPT)
   ===================================================================== */

/* ---- Modal ---- */
.gtl-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  font-family: 'Inter', sans-serif;
}

.gtl-modal.is-open {
  display: flex;
  animation: gtl-fade-in 0.2s ease;
}

@keyframes gtl-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.gtl-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.gtl-modal-dialog {
  position: relative;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.25);
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 32px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: gtl-pop-in 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes gtl-pop-in {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.gtl-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #374151;
  transition: all 0.15s;
}

.gtl-modal-close:hover {
  background: rgba(0, 0, 0, 0.1);
  transform: rotate(90deg);
}

.gtl-modal-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0;
}

.gtl-loading {
  padding: 80px 20px;
  text-align: center;
  color: #9CA3AF;
  font-size: 14px;
}

@media (max-width: 600px) {
  .gtl-modal { padding: 0; align-items: flex-end; }
  .gtl-modal-dialog {
    max-width: 100%;
    max-height: 92vh;
    border-radius: 24px 24px 0 0;
    animation: gtl-slide-up 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  @keyframes gtl-slide-up {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }
}

/* ---- Form ---- */
.gtl-form {
  display: flex;
  flex-direction: column;
  font-family: 'Inter', sans-serif;
}

.gtl-form-head {
  padding: 32px 28px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: linear-gradient(180deg, #FFFAF5 0%, #FFFFFF 100%);
}

.gtl-form-eyebrow {
  display: inline-block;
  background: #FFF7ED;
  color: #C2410C;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.gtl-form-title {
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin-bottom: 6px;
}

.gtl-form-sub {
  font-size: 14px;
  color: #6B7280;
  line-height: 1.55;
  margin: 0;
}

.gtl-form-body {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

@media (max-width: 600px) {
  .gtl-form-head { padding: 24px 20px 14px; }
  .gtl-form-body { padding: 16px 20px; }
}

/* ---- Groups ---- */
.gtl-group {
  border: none;
  padding: 0;
  margin: 0;
}

.gtl-group--optional .gtl-group-label {
  color: #9CA3AF;
}

.gtl-group--contact {
  background: #F9FAFB;
  border-radius: 14px;
  padding: 16px;
  margin-top: 6px;
}

.gtl-group-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6B7280;
  margin-bottom: 10px;
  padding: 0;
}

.gtl-fields {
  display: grid;
  gap: 10px;
}

.gtl-fields-1 { grid-template-columns: 1fr; }
.gtl-fields-2 { grid-template-columns: 1fr 1fr; }
.gtl-fields-3 { grid-template-columns: 1fr 1fr 1fr; }

@media (max-width: 480px) {
  .gtl-fields-2,
  .gtl-fields-3 { grid-template-columns: 1fr; }
}

/* ---- Field ---- */
.gtl-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gtl-field-lbl {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
}

.gtl-field-lbl em {
  color: #DC2626;
  font-style: normal;
  font-weight: 700;
}

.gtl-optional {
  font-weight: 400;
  color: #9CA3AF;
  font-size: 11px;
}

.gtl-field input[type="text"],
.gtl-field input[type="email"],
.gtl-field input[type="tel"],
.gtl-field input[type="date"],
.gtl-field input[type="number"],
.gtl-field select,
.gtl-field textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  font-size: 14px;
  font-family: inherit;
  color: #0F172A;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.gtl-field input:focus,
.gtl-field select:focus,
.gtl-field textarea:focus {
  border-color: #F97316;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}

.gtl-field textarea { resize: vertical; min-height: 60px; }

/* ---- Number stepper (booking.com style) ---- */
.gtl-stepper {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid rgba(0, 0, 0, 0.12);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.gtl-stepper:focus-within {
  border-color: #F97316;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}

.gtl-step-btn {
  width: 40px;
  height: 42px;
  background: #F9FAFB;
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  color: #374151;
  transition: background 0.15s;
}

.gtl-step-btn:hover:not(:disabled) {
  background: #FFF7ED;
  color: #C2410C;
}

.gtl-step-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.gtl-stepper input[type="number"] {
  flex: 1;
  text-align: center;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 600;
  background: transparent;
  -moz-appearance: textfield;
}

.gtl-stepper input[type="number"]::-webkit-outer-spin-button,
.gtl-stepper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ---- Pills (radio button replacement) ---- */
.gtl-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gtl-pills input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gtl-pill {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.12);
  color: #374151;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}

.gtl-pill:hover {
  border-color: #F97316;
  color: #C2410C;
}

.gtl-pills input:checked + .gtl-pill {
  background: #FFF7ED;
  border-color: #F97316;
  color: #C2410C;
  font-weight: 600;
}

.gtl-pills input:focus-visible + .gtl-pill {
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18);
}

/* ---- Checkbox ---- */
.gtl-field-checkbox {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 10px 14px;
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  transition: all 0.15s;
}

.gtl-field-checkbox:hover {
  border-color: #F97316;
  background: #FFFAF5;
}

.gtl-field-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #F97316;
  flex-shrink: 0;
  cursor: pointer;
}

.gtl-field-checkbox span {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}

.gtl-field-checkbox input:checked ~ span {
  color: #C2410C;
  font-weight: 600;
}

/* ---- Submit ---- */
.gtl-form-foot {
  padding: 18px 28px 28px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: #F9FAFB;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gtl-submit {
  background: #F97316;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  padding: 15px 24px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  box-shadow: 0 6px 18px rgba(249, 115, 22, 0.32);
}

.gtl-submit:hover:not(:disabled) {
  background: #C2410C;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.42);
}

.gtl-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.gtl-trust {
  font-size: 12px;
  color: #6B7280;
  text-align: center;
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 600px) {
  .gtl-form-foot { padding: 16px 20px 24px; }
}

/* ---- Feedback ---- */
.gtl-feedback {
  margin-top: 8px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  display: none;
}

.gtl-feedback.is-success {
  display: block;
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid rgba(5, 150, 105, 0.2);
}

.gtl-feedback.is-error {
  display: block;
  background: #FEF2F2;
  color: #991B1B;
  border: 1px solid rgba(220, 38, 38, 0.2);
}

/* ---- Success state (after submission) ---- */
.gtl-success-screen {
  text-align: center;
  padding: 48px 32px;
}

.gtl-success-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #ECFDF5;
  color: #059669;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  animation: gtl-pop-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.gtl-success-title {
  font-size: 24px;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
}

.gtl-success-msg {
  font-size: 15px;
  color: #6B7280;
  line-height: 1.6;
  margin-bottom: 24px;
}

.gtl-success-id {
  display: inline-block;
  background: #F9FAFB;
  border: 1px dashed #D1D5DB;
  border-radius: 10px;
  padding: 10px 16px;
  font-family: 'SF Mono', Monaco, monospace;
  font-size: 13px;
  color: #374151;
  margin-bottom: 20px;
}

.gtl-success-wa {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25D366;
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  padding: 13px 24px;
  border-radius: 999px;
  transition: all 0.15s;
}

.gtl-success-wa:hover {
  background: #1EBF5B;
  transform: translateY(-1px);
}

/* =====================================================================
   v6.1 — Lead form mobile hardening (375px width minimum)
   ===================================================================== */

@media (max-width: 600px) {

  /* Modal becomes a full-screen sheet on mobile */
  .gtl-modal {
    padding: 0 !important;
    align-items: flex-end !important;
  }
  .gtl-modal-dialog {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 95vh !important;
    border-radius: 24px 24px 0 0 !important;
    margin: 0 !important;
  }

  /* Prevent iOS zoom — inputs need 16px minimum */
  .gtl-form input[type="text"],
  .gtl-form input[type="email"],
  .gtl-form input[type="tel"],
  .gtl-form input[type="date"],
  .gtl-form input[type="number"],
  .gtl-form select,
  .gtl-form textarea {
    font-size: 16px !important;
    min-height: 44px;
  }

  /* Stepper buttons need to be tappable */
  .gtl-step-btn {
    width: 44px !important;
    height: 44px !important;
    font-size: 20px !important;
  }

  /* Pills wrap, stay touch-friendly */
  .gtl-pill {
    padding: 10px 14px !important;
    font-size: 13px;
    min-height: 38px;
  }

  /* Force every grid into a single column on tiny screens */
  .gtl-fields-2,
  .gtl-fields-3 {
    grid-template-columns: 1fr !important;
  }

  /* Submit button — full width, generous padding */
  .gtl-submit {
    width: 100%;
    padding: 16px !important;
    font-size: 16px !important;
  }

  /* Tighter padding on small viewports */
  .gtl-form-head { padding: 22px 18px 12px !important; }
  .gtl-form-body { padding: 14px 18px !important; }
  .gtl-form-foot { padding: 14px 18px 22px !important; }

  /* Title/subtitle smaller for compact mobile view */
  .gtl-form-title { font-size: 19px !important; }
  .gtl-form-sub { font-size: 13px !important; }

  /* Modal close button bigger tap target */
  .gtl-modal-close {
    width: 40px !important;
    height: 40px !important;
    top: 12px !important;
    right: 12px !important;
  }

  /* Group label tighter spacing */
  .gtl-group-label { margin-bottom: 6px !important; }
  .gtl-group--contact { padding: 14px !important; }
}

/* iOS safe area for bottom-anchored modal */
@supports (padding: max(0px)) {
  @media (max-width: 600px) {
    .gtl-form-foot {
      padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    }
  }
}

/* Form scrolling — important on mobile for tall forms */
.gtl-modal-body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
