﻿/* ====== GoGeo Styles (Bootstrap 5.3.8) ====== */

/* ---- Brand palette ---- */
:root {
  /* Layout */
  --gg-header-h: 156px;
  --gg-header-h-sm: 68px;

  /* Brand base */
  --gogeo-blue: #0691b9; /* primary */
  --gogeo-blue-dark: #064f63;
  --gogeo-blue-light: #73cff7; /* gradient top / hover */
  --gogeo-dark: #121212; /* headings/text/dark zones */

  /* Accents for badges/buttons */
  --gogeo-orange: #ff9800; /* Featured / Popular */
  --gogeo-yellow: #ffc107; /* Adventure / Limited */
  --gogeo-red: #ff3b30; /* Sale / Alert */
  --gogeo-coral: #ff6b4a; /* Hot / Trending */
  --gogeo-gold: #e7b23e; /* Premium / Exclusive */

  /* Neutrals */
  --gogeo-bg-light: #f8fafc;
  --gogeo-page-bg: #ffffff;
  --gogeo-text-muted: #6c757d;

  /* Theme */
  --gg-bg: #f8f9fa;
  --gg-text: #121212; /* black text as requested */
  --gg-link: var(--gogeo-blue); /* brand blue for links */
  --gg-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  --gg-z-header: 1040;
  --gg-z-mega: 1030;
  --gg-z-offcanvas: 1050;
  --bs-primary: var(--gogeo-blue);
  --bs-primary-rgb: 6, 145, 185;
}

/* Optional utilities using brand gradient */
.bg-brand-gradient {
  background: linear-gradient(
    90deg,
    var(--gogeo-blue-light) 0%,
    var(--gogeo-blue) 100%
  );
}
/* =========================================================
   BEGIN: GoGeo Typography (scoped, system-font like Booking.com)
   Wrap sections with <div class="gg-typography"> ... </div>
   ========================================================= */
:root {
  --gg-type-text: #333;
  --gg-type-muted: #666;
  --gg-type-measure: 72ch;

  --gg-type-h1: clamp(2rem, 1.4rem + 2.5vw, 3.5rem);
  --gg-type-h2: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
  --gg-type-h3: clamp(1.5rem, 1.1rem + 1.4vw, 2rem);
  --gg-type-h4: clamp(1.25rem, 1.05rem + 0.9vw, 1.5rem);
  --gg-type-body: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
}
a,
a:hover,
a:focus,
a:active {
  text-decoration: none !important;
}
.gg-typography {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol";
  color: var(--gg-type-text);
  line-height: 1.6;
}

/* Headings inside scope only */
.gg-typography :where(h1, h2, h3, h4) {
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #111;
  margin: 0 0 0.5em;
}
.gg-typography h1 {
  font-size: var(--gg-type-h1);
}
.gg-typography h2 {
  font-size: var(--gg-type-h2);
}
.gg-typography h3 {
  font-size: var(--gg-type-h3);
}
.gg-typography h4 {
  font-size: var(--gg-type-h4);
}

/* Paragraphs & utilities */
.gg-typography p {
  font-size: var(--gg-type-body);
  margin: 0 0 1em;
  max-width: var(--gg-type-measure);
  color: var(--gg-type-text);
}
.gg-typography .text-muted,
.gg-typography .muted {
  color: var(--gg-type-muted) !important;
}

.gg-typography .gg-eyebrow {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gg-type-muted);
  margin-bottom: 0.5rem;
}

.gg-typography .gg-lead {
  font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  line-height: 1.55;
  max-width: var(--gg-type-measure);
}

/* Card/package titles (scoped, won't touch global .card) */
.gg-typography .gg-card-title,
.gg-typography .card-title.gg-title {
  font-weight: 700;
  letter-spacing: -0.005em;
  line-height: 1.25;
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.75rem);
  margin: 0.25rem 0 0.5rem;
  color: #111;
}

/* Links (scoped) */
.gg-typography a {
  color: var(--gg-link, var(--gogeo-blue, #0f7bff));
  text-decoration: none;
}
.gg-typography a:hover,
.gg-typography a:focus {
  text-decoration: underline;
}

/* Measure helper */
.gg-typography .gg-measure {
  max-width: var(--gg-type-measure);
}

/* Optional: scoped CTA (does not touch .btn) */
.gg-typography .gg-btn {
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.9rem 1.25rem;
  border-radius: 999px;
  border: 0;
  background: var(--gg-link, var(--gogeo-blue, #0f7bff));
  color: #fff;
}
.gg-typography .gg-btn:hover {
  filter: brightness(0.95);
}

/* Optional: hero title helper */
.gg-typography .gg-hero-title {
  font-size: clamp(2.2rem, 1.6rem + 3vw, 4rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #fff; /* assumes dark image; override as needed */
  text-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
}
/* ====== END: GoGeo Typography =============== */
.gg-header a {
  text-decoration: none;
}

/* ===== Home Header + Hero Refresh ===== */
.gg-header {
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
}

.gg-header-top {
  min-height: 82px;
}

.gg-header-bottom {
  justify-content: center;
  min-height: 72px;
  padding: 10px 0 12px;
}

.gg-navbar {
  flex: 0 1 auto;
}

.gg-navbar .navbar-nav {
  gap: clamp(16px, 2.3vw, 34px);
}

.gg-header .nav-link {
  font-size: 15px;
  font-weight: 650;
  padding: 16px 4px;
  position: relative;
}

.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  color: #0d66c2;
}

.gg-header .nav-link.active::after {
  background: #0d66c2;
  border-radius: 999px;
  bottom: 5px;
  content: "";
  height: 3px;
  left: 4px;
  position: absolute;
  right: 4px;
}

.gg-lang-btn {
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  font-weight: 650;
  min-height: 42px;
}

.gg-lang-btn::after {
  color: #111820;
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-size: 10px;
  font-weight: 900;
  margin-left: 2px;
}

.gg-signup-btn,
.btn-search {
  background: linear-gradient(135deg, #0c9fc6 0%, #0d66c2 100%);
  box-shadow: 0 14px 30px rgba(6, 94, 168, 0.2);
}

.gg-signup-btn:hover,
.gg-signup-btn:focus,
.btn-search:hover,
.btn-search:focus {
  background: linear-gradient(135deg, #087fa2 0%, #0955ad 100%);
}

.gg-icon-btn {
  background: #fff;
  border: 1px solid #e7eef4;
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  flex: 0 0 44px;
  height: 44px;
  min-width: 44px;
}

.gg-header-search {
  display: none;
}

.gg-home-hero {
  min-height: 650px;
}

.gg-home-hero .gg-hero-bg {
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 183, 77, 0.24), transparent 24%),
    linear-gradient(90deg, rgba(3, 24, 42, 0.88), rgba(3, 28, 48, 0.58) 48%, rgba(3, 27, 44, 0.22)),
    linear-gradient(0deg, rgba(3, 24, 42, 0.3), rgba(3, 24, 42, 0.04)),
    url("../images/slider/slide-1.jpg") center / cover no-repeat;
}

.gg-home-hero .container {
  min-height: 650px;
}

.gg-home-hero .gg-hero-content {
  max-width: 760px;
  padding-top: 82px;
}

.gg-home-hero .gg-hero-kicker {
  color: #ffc247;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 12px;
  text-transform: none;
}

.gg-home-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.1rem, 5.4vw, 6rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
  margin-bottom: 22px;
  max-width: 720px;
  white-space: normal;
}

.gg-home-hero h1 span {
  color: #ffc247;
  display: inline-block;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.82em;
  font-weight: 600;
  line-height: 1;
}

.gg-home-hero p {
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(1rem, 1.2vw, 1.22rem);
  line-height: 1.55;
  max-width: 610px;
  white-space: normal;
}

.gg-hero-proof {
  align-items: center;
  display: inline-flex;
  gap: 14px;
  margin-top: 34px;
  padding: 0;
}

.gg-proof-avatars {
  display: flex;
}

.gg-proof-avatars img {
  border: 2px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  height: 38px;
  margin-left: -8px;
  object-fit: cover;
  width: 38px;
}

.gg-proof-avatars img:first-child {
  margin-left: 0;
}

.gg-proof-copy {
  color: #fff;
  display: grid;
  gap: 3px;
}

.gg-proof-copy strong {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.15;
}

.gg-proof-copy span {
  align-items: center;
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 2px;
  line-height: 1.25;
}

.gg-proof-copy i {
  color: #ffc247;
  font-size: 11px;
}

.gogeo-search {
  margin-top: -94px;
  padding-bottom: 0;
}

.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 94px, #fff 94px 100%);
}

.gg-home-search-card {
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(6, 55, 86, 0.2);
  padding: 24px;
}

.gg-home-search-card::before {
  background: linear-gradient(90deg, #0c9fc6, #ffc247, #7c58d6);
  border-radius: 999px;
  content: "";
  height: 4px;
  left: 26px;
  position: absolute;
  right: 26px;
  top: 0;
}

.gg-home-search-card .search-card-heading {
  margin-bottom: 22px;
}

.gg-home-search-card .search-card-heading span {
  color: #102434;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 700;
}

.gg-home-search-card .search-card-heading small {
  color: #52616b;
  font-size: 14px;
}

.gg-home-search-card .search-card-heading small strong {
  color: #0d66c2;
  font-weight: 750;
}

.gg-search-field {
  background: #fff;
  border: 1px solid #dfeaf0;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  display: grid;
  min-height: 74px;
  padding: 15px 14px 13px 66px;
  position: relative;
}

.gg-search-icon {
  align-items: center;
  border-radius: 13px;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  left: 14px;
  position: absolute;
  top: 17px;
  width: 40px;
}

.gg-search-icon-blue {
  background: #e8f4ff;
  color: #0d66c2;
}

.gg-search-icon-green {
  background: #eaf8ef;
  color: #18a05e;
}

.gg-search-icon-orange {
  background: #fff2df;
  color: #ff9800;
}

.gg-search-icon-purple {
  background: #f4ecff;
  color: #8d57dc;
}

.gogeo-search .gg-search-field .form-label {
  color: #3d4a55;
  font-size: 11px;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0 0 7px;
  text-transform: uppercase;
}

#packageSearchForm .gg-search-field .form-select,
#packageSearchForm .gg-search-field .form-control {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #111820;
  font-size: 14px;
  height: auto;
  min-height: 20px;
  padding: 0;
}

#packageSearchForm .gg-search-field .form-select:focus,
#packageSearchForm .gg-search-field .form-control:focus {
  box-shadow: none;
}

.btn-search {
  align-items: center;
  border: 0;
  border-radius: 16px;
  display: inline-flex;
  gap: 12px;
  height: 74px;
  justify-content: center;
  min-width: 100%;
}

.gg-trust-strip {
  background: #fff;
  padding: 28px 0 48px;
}

.gg-trust-panel {
  border: 0;
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(6, 79, 99, 0.08);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gg-trust-item {
  align-items: center;
  min-height: 88px;
  padding: 20px 22px;
}

.gg-trust-icon {
  border-radius: 50%;
  flex-basis: 44px;
  height: 44px;
  width: 44px;
}

.gg-trust-item:nth-child(1) .gg-trust-icon,
.gg-trust-item:nth-child(4) .gg-trust-icon {
  background: #e8f4ff;
  color: #0d66c2;
}

.gg-trust-item:nth-child(2) .gg-trust-icon {
  background: #eaf8ef;
  color: #18a05e;
}

.gg-trust-item:nth-child(3) .gg-trust-icon {
  background: #fff2df;
  color: #ff9800;
}

.gg-trust-item strong {
  color: #152331;
  font-size: 14px;
  font-weight: 750;
}

.gg-trust-item span:last-child {
  color: #5d6a74;
  font-size: 12px;
}

@media (max-width: 1199.98px) {
  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 620px;
  }

  .gg-home-hero h1 {
    font-size: clamp(2.8rem, 6vw, 4.9rem);
  }
}

@media (max-width: 991.98px) {
  .gg-header-bottom {
    display: none;
  }

  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 620px;
  }

  .gg-home-hero .gg-hero-content {
    padding-top: 72px;
  }

  .gg-home-search-card {
    padding: 22px;
  }

  .btn-search {
    height: 58px;
  }
}

@media (max-width: 767.98px) {
  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 590px;
  }

  .gg-home-hero .gg-hero-bg {
    background:
      linear-gradient(90deg, rgba(3, 24, 42, 0.88), rgba(3, 28, 48, 0.62)),
      url("../images/slider/slide-1.jpg") center / cover no-repeat;
  }

  .gg-home-hero .gg-hero-content {
    padding-top: 62px;
  }

  .gg-home-hero .gg-hero-kicker {
    font-size: 20px;
  }

  .gg-home-hero h1 {
    font-size: clamp(2.65rem, 13vw, 4rem);
  }

  .gg-hero-proof {
    margin-top: 24px;
  }

  .gogeo-search {
    margin-top: -72px;
  }

  .gogeo-search.section {
    background: linear-gradient(to bottom, transparent 0 72px, #fff 72px 100%);
  }

  .gg-home-search-card {
    border-radius: 22px;
    padding: 20px 16px;
  }

  .gg-home-search-card .search-card-heading span {
    font-size: 24px;
  }

  .gg-home-search-card .search-card-heading {
    gap: 4px;
  }
}

/* ===== True Final Overrides: reference fold, menu weight, cookie placement ===== */
:root {
  --gg-header-h: 148px;
}
.gg-header .nav-link,
.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  font-weight: 500;
}
.gg-lang-btn::after {
  content: none !important;
}
.gg-home-hero,
.gg-home-hero .container,
.gg-hero-layout {
  min-height: 480px;
}
.gg-home-hero h1 {
  font-size: clamp(2.9rem, 4.1vw, 4.35rem);
  line-height: 1.08;
  max-width: 920px;
}
.gg-home-hero h1 .gg-hero-line {
  color: #fff;
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1em;
  font-weight: 500;
  white-space: nowrap;
}
.gg-home-hero h1 em {
  color: #ffc247;
  display: inline-block;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.96em;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}
.gg-home-hero p {
  max-width: 720px;
}
.gg-hero-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
}
.gg-hero-side {
  padding-bottom: 74px;
}
.gg-hero-metrics {
  margin-top: 30px;
}
.gogeo-search {
  margin-top: -90px;
}
.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 90px, #fff 90px 100%);
}
.gg-home-search-card {
  padding: 20px 24px 18px;
}
.gg-home-search-card .search-card-heading {
  margin-bottom: 16px;
}
.gg-search-field,
.btn-search {
  min-height: 64px;
}
.btn-search {
  height: 64px;
}
.cookie-consent {
  bottom: 18px !important;
  left: auto !important;
  max-width: 430px !important;
  right: 18px !important;
  transform: none !important;
  width: calc(100vw - 36px) !important;
}
.cookie-consent__content p {
  font-size: 0.82rem;
}
.cookie-consent__primary,
.cookie-consent__ghost,
.cookie-consent__link {
  font-size: 0.82rem;
  min-height: 34px;
  padding: 0 13px;
}
@media (max-width: 1199.98px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 500px;
  }
}
@media (max-width: 991.98px) {
  :root {
    --gg-header-h: var(--gg-header-h-sm);
  }
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 560px;
  }
  .gg-home-hero h1 .gg-hero-line {
    white-space: normal;
  }
}
@media (max-width: 767.98px) {
  .gg-home-hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.25rem);
  }
}
@media (max-width: 575.98px) {
  .cookie-consent {
    bottom: 12px !important;
    left: 12px !important;
    max-width: none !important;
    right: 12px !important;
    width: auto !important;
  }
}

/* ===== Final Reference-Matched Home Refinements ===== */
:root {
  --gg-header-h: 148px;
}
.gg-header-top {
  min-height: 78px;
}
.gg-header-bottom {
  min-height: 70px;
}
.gg-navbar .navbar-nav {
  gap: clamp(18px, 2.05vw, 30px);
}
.gg-header .nav-link {
  color: #101820;
  font-size: 15px;
  font-weight: 500;
  padding: 16px 3px;
}
.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  color: #0d66c2;
  font-weight: 600;
}
.gg-home-hero,
.gg-home-hero .container {
  min-height: 520px;
}
.gg-home-hero .gg-hero-bg {
  background:
    linear-gradient(90deg, rgba(2, 22, 39, 0.92), rgba(3, 29, 49, 0.7) 48%, rgba(3, 30, 49, 0.34)),
    linear-gradient(0deg, rgba(2, 22, 39, 0.18), rgba(2, 22, 39, 0.02)),
    url("../images/slider/slide-1.jpg") center / cover no-repeat;
}
.gg-hero-layout {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 410px;
  min-height: 520px;
  position: relative;
  z-index: 2;
}
.gg-home-hero .gg-hero-content {
  max-width: 760px;
  padding-top: 0;
}
.gg-home-hero .gg-hero-kicker {
  align-items: center;
  color: #4bbaf0;
  display: inline-flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.gg-home-hero .gg-hero-kicker i {
  color: #4bbaf0;
}
.gg-home-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 4.8vw, 5rem);
  font-weight: 500;
  line-height: 1.08;
  margin-bottom: 20px;
  max-width: 760px;
}
.gg-home-hero h1 span {
  color: #ffc247;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.88em;
  font-weight: 500;
}
.gg-home-hero p {
  font-size: 18px;
  line-height: 1.55;
  max-width: 620px;
}
.gg-hero-metrics {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 36px;
}
.gg-hero-metric {
  align-items: center;
  color: #fff;
  display: grid;
  gap: 1px 12px;
  grid-template-columns: 44px auto;
  min-width: 150px;
  padding: 0 22px 0 0;
}
.gg-hero-metric + .gg-hero-metric {
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  padding-left: 22px;
}
.gg-hero-metric-icon {
  align-items: center;
  border: 1px solid rgba(24, 144, 255, 0.9);
  border-radius: 50%;
  color: #4bbaf0;
  display: inline-flex;
  grid-row: span 2;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.gg-hero-metric strong {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.1;
}
.gg-hero-metric small {
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  line-height: 1.15;
}
.gg-hero-side {
  align-self: end;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 94px;
}
.gg-hero-proof {
  align-items: center;
  background: rgba(5, 20, 34, 0.46);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
  display: inline-flex;
  gap: 12px;
  margin: 0;
  padding: 10px 16px 10px 12px;
}
.gg-proof-avatars img {
  height: 34px;
  width: 34px;
}
.gg-proof-copy strong {
  font-size: 14px;
}
.gg-proof-copy span {
  font-size: 12px;
}
.gogeo-search {
  margin-top: -76px;
}
.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 76px, #fff 76px 100%);
}
.gg-home-search-card {
  border-radius: 22px 22px 28px 28px;
  padding: 22px 24px 20px;
}
.gg-home-search-card::before {
  left: 34px;
  right: 34px;
}
.gg-home-search-card .search-card-heading {
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.gg-home-search-card .search-card-heading > i {
  color: #0d66c2;
  font-size: 22px;
}
.gg-home-search-card .search-card-heading span {
  color: #102434;
  font-size: 25px;
  font-weight: 500;
}
.gg-search-field {
  min-height: 68px;
  padding: 13px 14px 12px 62px;
}
.gg-search-icon {
  height: 38px;
  top: 15px;
  width: 38px;
}
.btn-search {
  border-radius: 14px;
  height: 68px;
}
.gg-trust-strip {
  padding: 24px 0 46px;
}
.gg-trust-panel {
  border-radius: 24px;
}
@media (min-width: 1400px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 540px;
  }
}
@media (max-width: 1199.98px) {
  .gg-hero-layout {
    grid-template-columns: 1fr;
  }
  .gg-hero-side {
    display: none;
  }
  .gg-hero-metric {
    min-width: 140px;
  }
}
@media (max-width: 991.98px) {
  :root {
    --gg-header-h: var(--gg-header-h-sm);
  }
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 560px;
  }
  .gg-home-hero .gg-hero-content {
    padding-top: 0;
  }
  .gg-home-hero h1 {
    font-size: clamp(2.7rem, 8vw, 4rem);
  }
  .gg-hero-metrics {
    margin-top: 26px;
  }
}
@media (max-width: 767.98px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 570px;
  }
  .gg-home-hero h1 {
    font-size: clamp(2.45rem, 12vw, 3.45rem);
  }
  .gg-home-hero p {
    font-size: 16px;
  }
  .gg-hero-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 16px;
  }
  .gg-hero-metric,
  .gg-hero-metric + .gg-hero-metric {
    border-left: 0;
    min-width: 0;
    padding: 0;
  }
  .gogeo-search {
    margin-top: -68px;
  }
  .gogeo-search.section {
    background: linear-gradient(to bottom, transparent 0 68px, #fff 68px 100%);
  }
  .gg-home-search-card {
    padding: 20px 16px;
  }
}

/* ===== Final Fold + Type Corrections ===== */
.gg-lang-btn::after {
  content: none;
}
.gg-header .nav-link {
  font-weight: 500;
}
.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  font-weight: 500;
}
.gg-home-hero,
.gg-home-hero .container,
.gg-hero-layout {
  min-height: 480px;
}
.gg-home-hero h1 {
  font-size: clamp(2.9rem, 4.1vw, 4.35rem);
  line-height: 1.08;
  max-width: 920px;
}
.gg-home-hero h1 .gg-hero-line {
  color: #fff;
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1em;
  font-weight: 500;
  white-space: nowrap;
}
.gg-home-hero h1 em {
  color: #ffc247;
  display: inline-block;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.96em;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}
.gg-home-hero h1 span:not(.gg-hero-line) {
  font-family: inherit;
}
.gg-home-hero h1 > span {
  color: #fff;
}
.gg-home-hero p {
  max-width: 720px;
}
.gg-hero-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
}
.gg-hero-side {
  padding-bottom: 74px;
}
.gg-hero-metrics {
  margin-top: 30px;
}
.gogeo-search {
  margin-top: -90px;
}
.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 90px, #fff 90px 100%);
}
.gg-home-search-card {
  padding: 20px 24px 18px;
}
.gg-home-search-card .search-card-heading {
  margin-bottom: 16px;
}
.gg-search-field {
  min-height: 64px;
  padding-bottom: 10px;
  padding-top: 11px;
}
.gg-search-icon {
  top: 13px;
}
.btn-search {
  height: 64px;
}
@media (max-width: 1199.98px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 500px;
  }
}
@media (max-width: 991.98px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 560px;
  }
  .gg-home-hero h1 .gg-hero-line {
    white-space: normal;
  }
}
@media (max-width: 767.98px) {
  .gg-home-hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.25rem);
  }
}

/* Keep cookie notice visible without blocking the home search card */
.cookie-consent {
  bottom: 18px;
  left: auto;
  max-width: 430px;
  right: 18px;
  transform: none;
}
.cookie-consent__content p {
  font-size: 0.82rem;
}
.cookie-consent__primary,
.cookie-consent__ghost,
.cookie-consent__link {
  font-size: 0.82rem;
  min-height: 34px;
  padding: 0 13px;
}
@media (max-width: 575.98px) {
  .cookie-consent {
    bottom: 12px;
    left: 12px;
    max-width: none;
    right: 12px;
  }
}

body {
  padding-top: var(--gg-header-h);
  background: #ffffff;
}

section.section {
  background-color: #ffffff;
}

.card,
.card-body,
.package-card,
.review-card,
.blog-card,
.gg-contact-card,
.about-rating,
.stat-card {
  background-color: #fff !important;
}

.card-body {
  background-color: #ffffff !important;
}

.card:not(.package-card),
.review-card,
.blog-card,
.gg-contact-card,
.about-rating,
.stat-card {
  border: 1px solid #e0edf2;
  box-shadow: 0 14px 38px rgba(6, 79, 99, 0.11);
}

.gg-header {
  align-items: stretch;
  background: #fff;
  box-shadow: none;
  height: var(--gg-header-h);
  z-index: var(--gg-z-header);
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
  border-bottom: 1px solid #edf0f3;
}
.gg-header.is-scrolled {
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.gg-header > .container {
  display: block;
}

.gg-header-inner {
  height: 100%;
}

.gg-header-top,
.gg-header-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gg-header-top {
  min-height: 78px;
  position: relative;
}

.gg-header-bottom {
  min-height: 78px;
  border-top: 1px solid #edf0f3;
  padding: 14px 0;
}

.gg-call-link {
  align-items: center;
  color: #111820;
  display: inline-flex;
  gap: 12px;
  min-width: 210px;
}

.gg-call-link:hover,
.gg-call-link:focus {
  color: #111820;
}

.gg-call-icon {
  align-items: center;
  background: #008976;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  background: var(--gogeo-blue);
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.gg-call-label {
  color: #111820;
  display: block;
  font-size: 15px;
  line-height: 1.1;
  margin-bottom: 4px;
}

.gg-call-link strong {
  color: #05080b;
  display: block;
  font-size: 18px;
  line-height: 1;
}

.gg-brand {
  left: 50%;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.gg-brand img {
  max-height: 50px;
  width: auto;
}

.gg-header-actions,
.gg-mobile-actions {
  align-items: center;
  display: flex;
  gap: 18px;
}

.gg-mobile-actions {
  display: none;
}

.gg-lang-btn,
.gg-icon-btn,
.gg-signup-btn {
  align-items: center;
  border: 0;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
}

.gg-lang-btn {
  background: #fff;
  border: 1px solid #edf0f3;
  border-radius: 999px;
  color: var(--gg-text);
  gap: 10px;
  padding: 0 16px;
}

.gg-lang-btn i {
  color: var(--gogeo-blue-dark);
  font-size: 21px;
}

.gg-icon-btn {
  background: transparent;
  color: var(--gogeo-blue-dark);
  font-size: 22px;
  min-width: 34px;
  padding: 0;
}

.gg-action-separator {
  background: #05080b;
  display: block;
  height: 26px;
  width: 2px;
}

.gg-signup-btn {
  background: var(--gogeo-blue);
  border-radius: 999px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 0 22px;
}

.gg-signup-btn:hover,
.gg-signup-btn:focus {
  background: var(--gogeo-blue-dark);
  color: #fff;
}

.gg-navbar {
  flex: 1 1 auto;
  min-width: 0;
}

.gg-navbar .navbar-nav {
  gap: 18px;
}

/* Navbar links */
.gg-header .nav-link {
  color: #111820;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  padding: 16px 10px;
}
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  color: var(--gogeo-blue);
}

.gg-header-search {
  align-items: center;
  background: #edf7fb;
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: flex;
  flex: 0 1 clamp(250px, 24vw, 330px);
  gap: 10px;
  height: 48px;
  max-width: 100%;
  min-width: 240px;
  padding: 0 18px;
}

.gg-header-search i {
  color: var(--gogeo-blue-dark);
  font-size: 18px;
}

.gg-header-search input {
  background: transparent;
  border: 0;
  color: var(--gg-text);
  flex: 1;
  font-size: 15px;
  min-width: 0;
  outline: 0;
}

.gg-header-search input::placeholder {
  color: #52616b;
  opacity: 0.95;
}

/* Full-width mega wrapper */
.gg-mega-wrap {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--gg-header-h);
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: var(--gg-shadow);
  display: none; /* toggled via JS */
  z-index: var(--gg-z-mega);
  padding: 1.25rem 0;
}
.gg-mega-wrap.show {
  display: block;
}

/* Mega content */
.gg-mega-heading .stretched-link::after {
  content: none !important;
}
.gg-mega-heading {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.5rem 0;
  color: #64748b;
}
.gg-mega-heading a {
  color: inherit;
}

.gg-mega-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gg-mega-list li {
  margin: 0.15rem 0;
}
.gg-mega-list a {
  color: var(--gg-text);
  display: inline-block;
  padding: 0.25rem 0;
}
.gg-mega-list a:hover,
.gg-mega-list a:focus {
  color: var(--gg-link);
  text-decoration: underline;
}

#megaDestinations.gg-mega-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 0 18px;
}

.gg-destination-mega {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid rgba(6, 79, 99, 0.1);
  border-radius: 12px;
  box-shadow: 0 14px 38px rgba(10, 36, 54, 0.08);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr) 360px;
  min-height: 280px;
  overflow: hidden;
  position: relative;
}

.gg-destination-mega::before {
  background: linear-gradient(90deg, #159abd, #f6b642, #ff6b4a, #7a3fd3);
  bottom: 0;
  content: "";
  height: 3px;
  left: 24px;
  position: absolute;
  right: 24px;
  z-index: 2;
}

.gg-destination-feature {
  color: #fff;
  display: block;
  min-height: 280px;
  overflow: hidden;
  position: relative;
}

.gg-destination-feature::after {
  background: linear-gradient(180deg, rgba(6, 23, 34, 0.18), rgba(6, 47, 64, 0.78));
  content: "";
  inset: 0;
  position: absolute;
}

.gg-destination-feature img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.gg-destination-feature-content {
  bottom: 0;
  display: grid;
  gap: 8px;
  left: 0;
  padding: 24px;
  position: absolute;
  right: 0;
  z-index: 1;
}

.gg-feature-eyebrow {
  color: #c9f3ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.gg-destination-feature strong {
  color: #fff;
  font-size: 23px;
  line-height: 1.15;
}

.gg-destination-feature span:last-child {
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.5;
}

.gg-destination-feature:hover,
.gg-destination-feature:focus {
  color: #fff;
}

.gg-destination-groups {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 26px 26px 24px;
}

.gg-destination-group {
  border-left: 1px solid rgba(6, 79, 99, 0.11);
  min-width: 0;
  padding: 0 22px;
}

.gg-destination-group:first-child {
  border-left: 0;
  padding-left: 0;
}

.gg-destination-group:last-child {
  padding-right: 0;
}

.gg-destination-group .gg-mega-heading {
  color: var(--gogeo-blue-dark);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0 0 20px;
  padding-bottom: 16px;
  position: relative;
  text-transform: uppercase;
}

.gg-destination-group .gg-mega-heading::after {
  background: currentColor;
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0.85;
  position: absolute;
  width: 36px;
}

.gg-destination-group:nth-child(1) .gg-mega-heading {
  color: #147a36;
}

.gg-destination-group:nth-child(2) .gg-mega-heading {
  color: #ef5b2a;
}

.gg-destination-group:nth-child(3) .gg-mega-heading {
  color: #7a3fd3;
}

.gg-destination-group .gg-mega-heading a {
  color: inherit;
  text-decoration: none;
}

.gg-destination-list {
  display: grid;
  gap: 4px;
}

.gg-destination-list li {
  margin: 0;
}

.gg-destination-list a {
  align-items: center;
  color: #17212b;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
  line-height: 1.35;
  min-height: 38px;
  padding: 7px 0;
}

.gg-destination-list a:hover,
.gg-destination-list a:focus {
  background: transparent;
  color: var(--gogeo-blue);
  text-decoration: none;
}

.gg-destination-list span {
  border-radius: 999px;
  color: #2b2100;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  margin-left: 0;
  padding: 3px 6px;
  text-transform: uppercase;
}

.gg-destination-list .badge-orange {
  background: rgba(255, 151, 29, 0.32);
}

.gg-destination-list .badge-yellow {
  background: rgba(246, 182, 66, 0.32);
}

/* Sidebar (offcanvas) */
.gg-offcanvas {
  border-left: 0;
  max-width: min(420px, 92vw);
}

.gg-offcanvas-header {
  border-bottom: 1px solid #e5eef2;
  padding: 20px 24px;
}

.gg-offcanvas-brand img {
  height: 52px;
  width: auto;
}

.gg-offcanvas-close {
  background-size: 13px;
  border: 1px solid #dbe9ee;
  border-radius: 50%;
  height: 36px;
  opacity: 1;
  width: 36px;
}

.gg-offcanvas-body {
  display: flex;
  flex-direction: column;
  padding: 20px 24px 0;
}

.gg-offcanvas-cta {
  background: #edf7fb;
  border-left: 3px solid var(--gogeo-blue);
  margin-bottom: 22px;
  padding: 16px;
}

.gg-offcanvas-cta .btn {
  align-items: center;
  background: var(--gogeo-blue);
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  width: 100%;
}

.gg-offcanvas-cta .btn:hover,
.gg-offcanvas-cta .btn:focus {
  background: var(--gogeo-blue-dark);
  color: #fff;
}

.gg-offcanvas-phone {
  align-items: center;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  margin-top: 12px;
}

.gg-offcanvas nav > ul {
  margin-bottom: 24px !important;
}

.gg-offcanvas nav > ul > li > a {
  border-bottom: 1px solid #eef3f5;
  color: #17212b;
  font-size: 16px;
  font-weight: 500 !important;
  padding: 12px 0 !important;
}

.gg-offcanvas nav > ul > li > a:hover,
.gg-offcanvas nav > ul > li > a:focus {
  color: var(--gogeo-blue);
}

.gg-offcanvas nav button[data-bs-toggle="collapse"] {
  align-items: center;
  background: transparent;
  border: 0 !important;
  border-bottom: 1px solid #eef3f5 !important;
  border-radius: 0;
  color: #17212b;
  display: flex;
  font-size: 16px;
  font-weight: 500 !important;
  justify-content: space-between;
  padding: 13px 0;
}

.gg-offcanvas nav button[data-bs-toggle="collapse"]::after {
  color: var(--gogeo-blue);
  content: "+";
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.gg-offcanvas nav button[data-bs-toggle="collapse"][aria-expanded="true"]::after {
  content: "-";
}

.gg-offcanvas .collapse > div {
  padding: 12px 0 4px !important;
}

.gg-offcanvas .collapse strong {
  color: var(--gogeo-blue-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 14px 0 6px !important;
  text-transform: uppercase;
}

.gg-offcanvas .collapse ul {
  margin-left: 0 !important;
}

.gg-offcanvas .collapse li a {
  color: #34414a;
  font-size: 14px;
  font-weight: 400;
  padding: 5px 0 !important;
}

.gg-offcanvas .collapse li a:hover,
.gg-offcanvas .collapse li a:focus {
  color: var(--gogeo-blue);
}

.gg-offcanvas .collapse li a.fw-semibold {
  color: var(--gogeo-blue);
  font-weight: 500 !important;
}

.gg-offcanvas-contact {
  background: #fff;
  border-top: 1px solid #e5eef2;
  bottom: 0;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
  margin: auto -24px 0;
  padding: 14px 16px;
  position: sticky;
}

.gg-offcanvas-contact a {
  align-items: center;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  flex-direction: column;
  font-size: 12px;
  font-weight: 700;
  gap: 5px;
  justify-content: center;
  min-height: 50px;
}

.gg-offcanvas-contact i {
  color: var(--gogeo-blue);
  font-size: 18px;
}

/* Focus visibility */
.gg-header a:focus,
.offcanvas a:focus,
button:focus {
  outline: 3px solid rgba(var(--bs-primary-rgb), 0.35);
  outline-offset: 2px;
}

@media (max-width: 1199.98px) {
  .gg-navbar .navbar-nav {
    gap: 10px;
  }

  .gg-header .nav-link {
    font-size: 15px;
    padding-inline: 6px;
  }

  .gg-header-search {
    flex-basis: 240px;
    min-width: 210px;
  }

  .gg-header-search input {
    font-size: 14px;
  }

  .gg-destination-mega {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .gg-destination-groups {
    gap: 0;
    padding: 24px;
  }

  .gg-destination-list a {
    font-size: 14px;
  }
}

/* Responsive */
@media (max-width: 991.98px) {
  body {
    padding-top: var(--gg-header-h-sm);
  }

  .gg-header {
    height: var(--gg-header-h-sm);
  }

  .gg-header-top {
    min-height: var(--gg-header-h-sm);
  }

  .gg-header-bottom,
  .gg-call-link,
  .gg-header-actions {
    display: none;
  }

  .gg-brand {
    left: 12px;
    position: static;
    transform: none;
  }

  .gg-brand img {
    max-height: 42px;
  }

  .gg-mobile-actions {
    display: flex;
    gap: 12px;
  }

  .gg-mobile-actions .gg-signup-btn {
    font-size: 15px;
    min-height: 42px;
    padding: 0 18px;
  }

  .gg-mobile-actions .gg-icon-btn {
    background: #111820;
    border-radius: 50%;
    color: #fff;
    height: 42px;
    min-height: 42px;
    width: 42px;
  }

  .gg-mega-wrap {
    display: none !important;
  } /* use offcanvas on mobile */
}

/* Optional transparent header (for hero pages) */
.gg-header.gg-transparent {
  background: transparent;
  border-bottom-color: transparent;
}
.gg-header.gg-transparent.is-scrolled {
  background: var(--gg-bg);
  border-bottom-color: rgba(0, 0, 0, 0.06);
}

/* Hide default toggler */
.navbar-toggler.d-none {
  display: none !important;
}

/* ================= Buttons (brand + accents, white text) ================= */
.btn,
.btn:focus {
  box-shadow: none;
}

.btn-primary {
  background-color: var(--gogeo-blue);
  border-color: var(--gogeo-blue);

  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #057aa0; /* slightly darker */
  border-color: #057aa0;
  color: #fff;
}
.btn-search {
  background-color: var(--gogeo-blue-light);
  border-color: var(--gogeo-blue-light);
  color: #fff;
  font-weight: 600;
  border-radius: 0.5rem;
  padding: 0.6rem 1.2rem;
  transition: all 0.2s ease-in-out;
}

.btn-search:hover,
.btn-search:focus {
  background-color: var(--gogeo-blue);
  border-color: var(--gogeo-blue);
  color: #fff;
  transform: translateY(-1px);
}

.btn-search:active {
  background-color: #0587ad;
  border-color: #0587ad;
  transform: none;
}
.btn-outline-primary {
  color: var(--gogeo-blue);
  border-color: var(--gogeo-blue);
  background: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--gogeo-blue);
  color: #fff;
  border-color: var(--gogeo-blue);
}

/* Accent buttons (all with white text as requested) */
.btn-orange {
  background-color: var(--gogeo-orange);
  border-color: var(--gogeo-orange);
  color: #fff;
}
.btn-orange:hover,
.btn-orange:focus {
  background-color: #e68900;
  border-color: #e68900;
  color: #fff;
}

.btn-yellow {
  background-color: var(--gogeo-yellow);
  border-color: var(--gogeo-yellow);
  color: #fff;
}
.btn-yellow:hover,
.btn-yellow:focus {
  background-color: #e0ae06;
  border-color: #e0ae06;
  color: #fff;
}

.btn-red {
  background-color: var(--gogeo-red);
  border-color: var(--gogeo-red);
  color: #fff;
}
.btn-red:hover,
.btn-red:focus {
  background-color: #e33427;
  border-color: #e33427;
  color: #fff;
}

.btn-coral {
  background-color: var(--gogeo-coral);
  border-color: var(--gogeo-coral);
  color: #fff;
}
.btn-coral:hover,
.btn-coral:focus {
  background-color: #e05f3f;
  border-color: #e05f3f;
  color: #fff;
}

.btn-gold {
  background-color: var(--gogeo-gold);
  border-color: var(--gogeo-gold);
  color: #121212;
}
.btn-gold:hover,
.btn-gold:focus {
  background-color: #d2a032;
  border-color: #d2a032;
  color: #121212;
}

/* Rounded pill utility for CTAs */
.btn-pill {
  border-radius: 999px;
}

/* ================= Badges (for cards/listings) ================= */
.badge {
  display: inline-block;
  padding: 0.35em 0.75em;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.badge-red {
  background-color: var(--gogeo-red);
  color: #fff;
}
.badge-orange {
  background-color: var(--gogeo-orange);
  color: #fff;
}
.badge-yellow {
  background-color: var(--gogeo-yellow);
  color: #121212;
} /* better contrast on yellow */
.badge-coral {
  background-color: var(--gogeo-coral);
  color: #fff;
}
.badge-gold {
  background-color: var(--gogeo-gold);
  color: #121212;
}

.badge-outline {
  background: transparent;
  border: 2px solid currentColor;
}

/* ================= Hero ================= */
.gg-hero {
  min-height: 500px;
  overflow: visible;
  position: relative;
  z-index: 1;
}

.gg-hero-bg {
  background:
    linear-gradient(90deg, rgba(4, 32, 42, 0.72), rgba(4, 32, 42, 0.38) 48%, rgba(4, 32, 42, 0.16)),
    url("../images/slider/slide-1.jpg") center / cover no-repeat;
  inset: 0;
  position: absolute;
}

.gg-hero .container {
  min-height: 500px;
  position: relative;
}

.gg-hero-content {
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  max-width: 1040px;
  padding-top: 118px;
  position: relative;
  z-index: 2;
}

.gg-hero-kicker {
  color: #bceeff;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.gg-hero h1 {
  color: #fff;
  font-size: clamp(2.25rem, 3.4vw, 3.35rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 16px;
  white-space: nowrap;
}

.gg-hero p {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1rem, 1vw, 1.08rem);
  line-height: 1.6;
  margin: 0;
  max-width: 980px;
  white-space: nowrap;
}

/* ================= Footer ================= */
footer.bg-dark {
  background:
    radial-gradient(circle at 82% 6%, rgba(18, 158, 194, 0.16), transparent 28%),
    linear-gradient(135deg, #071b25 0%, #0c1117 62%, #111820 100%) !important;
  color: rgba(255, 255, 255, 0.9);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

footer.bg-dark::before {
  background: url("../images/banner/banner-main.webp") center / cover no-repeat;
  content: "";
  inset: 0;
  opacity: 0.05;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

footer.bg-dark > .container {
  position: relative;
  z-index: 1;
}
/* Headings */
footer .text-uppercase {
  letter-spacing: 0.04em;
}
footer h4 {
  font-size: 1rem;
  line-height: 1.2;
}
footer h6 {
  font-size: 0.95rem;
}
/* Primary accent */
footer .border-primary {
  border-color: var(--bs-primary) !important;
}
footer .text-primary {
  color: var(--bs-primary) !important;
}
/* Lists & links */
footer ul {
  margin: 0;
  padding: 0;
}
footer li {
  margin: 0;
}
footer a.text-light {
  color: rgba(255, 255, 255, 0.88) !important;
  transition: color 0.2s ease, text-decoration-color 0.2s ease,
    opacity 0.2s ease;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
footer a.text-light:hover,
footer a.text-light:focus {
  color: #fff !important;
  text-decoration: underline;
}
/* Bottom bar */
footer hr {
  border-color: rgba(255, 255, 255, 0.12) !important;
  opacity: 1;
}
footer .small {
  color: rgba(255, 255, 255, 0.8);
}
/* Social icons */ footer .bi {
  font-size: 1.25rem;
  vertical-align: middle;
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
footer a[aria-label] .bi {
  opacity: 0.9;
}
footer a[aria-label]:hover .bi,
footer a[aria-label]:focus .bi {
  opacity: 1;
  color: var(--bs-primary);
  transform: translateY(-1px);
}
/* Focus ring */
footer a:focus,
footer button:focus {
  outline: 3px solid rgba(var(--bs-primary-rgb), 0.35);
  outline-offset: 2px;
  border-radius: 6px;
}
/* Spacing */
footer .ps-2 {
  padding-left: 0.5rem !important;
}
@media (min-width: 768px) {
  footer .ps-2 {
    padding-left: 0.75rem !important;
  }
}
footer .fw-semibold {
  font-weight: 600;
}
/* Column gutters */
@media (min-width: 992px) {
  footer .row.gy-4 > [class*="col-"] {
    padding-right: 1rem;
  }
}
/* Touch hit areas */
footer a.d-inline-block.py-1 {
  padding-top: 0.35rem !important;
  padding-bottom: 0.35rem !important;
}
/* Section head divider */ footer h4.border-start {
  border-left-width: 0.25rem !important;
}
/* Ensure contrast */ footer a.text-light strong {
  color: #fff;
}
/* Print */
@media (print) {
  footer.bg-dark {
    background: #000 !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  footer a {
    color: #fff !important;
    text-decoration: underline !important;
  }
  footer hr {
    border-color: #fff !important;
  }
}

/* ===========================
   Tour Packages Mega Menu
   =========================== */
#megaPackages.gg-mega-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 0 18px;
  width: 100%;
}

#megaPackages .gg-package-mega-panel {
  background: #ffffff;
  border: 1px solid rgba(6, 79, 99, 0.1);
  border-radius: 12px;
  box-shadow: 0 14px 38px rgba(10, 36, 54, 0.08);
  overflow: hidden;
  padding: 26px 26px 24px;
  position: relative;
}

#megaPackages .gg-package-mega-panel::before {
  background: linear-gradient(90deg, #159abd, #f6b642, #ff6b4a, #7a3fd3);
  bottom: 0;
  content: "";
  height: 3px;
  left: 24px;
  position: absolute;
  right: 24px;
}

#megaPackages .gg-mega-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

#megaPackages .gg-package-col {
  border-left: 1px solid rgba(6, 79, 99, 0.11);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 22px;
}

#megaPackages .gg-package-col:first-child {
  border-left: 0;
  padding-left: 0;
}

#megaPackages .gg-package-col:last-child {
  padding-right: 0;
}

#megaPackages .gg-package-col .gg-mega-heading {
  color: var(--gogeo-blue-dark);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 0 0 20px;
  padding-bottom: 16px;
  position: relative;
  text-transform: uppercase;
}

#megaPackages .gg-package-col .gg-mega-heading::after {
  background: currentColor;
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0.85;
  position: absolute;
  width: 36px;
}

#megaPackages .gg-package-col-kerala .gg-mega-heading {
  color: #147a36;
}

#megaPackages .gg-package-col-tamil .gg-mega-heading {
  color: #ef5b2a;
}

#megaPackages .gg-package-col-karnataka .gg-mega-heading {
  color: #7a3fd3;
}

#megaPackages .gg-package-col-blue .gg-mega-heading {
  color: #0b61c7;
}

#megaPackages .gg-mega-list {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#megaPackages .gg-mega-list li {
  margin: 0;
}

#megaPackages .gg-mega-list a {
  align-items: center;
  color: #102235;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.35;
  min-height: 38px;
  padding: 7px 0;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

#megaPackages .gg-mega-list a::after {
  color: #8aa0b3;
  content: "\f105";
  font-family: "Font Awesome 7 Free", "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  transition: color 0.18s ease, transform 0.18s ease;
}

#megaPackages .gg-mega-list a:hover,
#megaPackages .gg-mega-list a:focus {
  color: var(--gogeo-blue);
  transform: translateX(2px);
}

#megaPackages .gg-mega-list a:hover::after,
#megaPackages .gg-mega-list a:focus::after {
  color: currentColor;
  transform: translateX(3px);
}

#megaPackages .gg-package-explore {
  align-items: center;
  border-radius: 999px;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  margin-top: auto;
  min-height: 44px;
  padding: 10px 18px;
  text-decoration: none;
}

#megaPackages .gg-package-col-kerala .gg-package-explore {
  background: linear-gradient(135deg, rgba(20, 122, 54, 0.12), rgba(20, 122, 54, 0.04));
  color: #147a36;
}

#megaPackages .gg-package-col-tamil .gg-package-explore {
  background: linear-gradient(135deg, rgba(239, 91, 42, 0.14), rgba(239, 91, 42, 0.05));
  color: #ef5b2a;
}

#megaPackages .gg-package-col-karnataka .gg-package-explore {
  background: linear-gradient(135deg, rgba(122, 63, 211, 0.13), rgba(122, 63, 211, 0.05));
  color: #7a3fd3;
}

#megaPackages .gg-package-explore:hover,
#megaPackages .gg-package-explore:focus {
  transform: translateY(-1px);
}

@media (min-width: 992px) {
  #megaPackages .gg-mega-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }

  #megaPackages .gg-package-col:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
  }
}

@media (min-width: 1200px) {
  #megaPackages .gg-mega-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    row-gap: 0;
  }

  #megaPackages .gg-package-col:nth-child(odd) {
    border-left: 1px solid rgba(6, 79, 99, 0.11);
    padding-left: 22px;
  }

  #megaPackages .gg-package-col:first-child {
    border-left: 0;
    padding-left: 0;
  }
}

@media (max-width: 991.98px) {
  #megaPackages .gg-package-mega-panel {
    padding: 20px;
  }

  #megaPackages .gg-mega-grid {
    grid-template-columns: 1fr;
    row-gap: 22px;
  }

  #megaPackages .gg-package-col,
  #megaPackages .gg-package-col:nth-child(odd) {
    border-left: 0;
    border-top: 1px solid rgba(6, 79, 99, 0.09);
    padding: 20px 0 0;
  }

  #megaPackages .gg-package-col:first-child {
    border-top: 0;
    padding-top: 0;
  }
}

#sideDestinations,
#sidePackages {
  background: #ffffff;
  border: 1px solid rgba(6, 79, 99, 0.1);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(10, 36, 54, 0.08);
  overflow: hidden;
  position: relative;
}

#sideDestinations::before,
#sidePackages::before {
  background: linear-gradient(90deg, #159abd, #f6b642, #ff6b4a, #7a3fd3);
  content: "";
  height: 3px;
  left: 16px;
  position: absolute;
  right: 16px;
  top: 0;
}

#sideDestinations > .px-2,
#sidePackages > .px-2 {
  padding: 18px !important;
}

#sideDestinations strong,
#sidePackages strong {
  color: var(--gogeo-blue-dark);
  font-size: 12px;
  letter-spacing: 0.06em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

#sideDestinations ul,
#sidePackages ul {
  border-bottom: 1px solid rgba(6, 79, 99, 0.08);
  margin-bottom: 14px !important;
  padding-bottom: 12px;
}

#sideDestinations ul:last-child,
#sidePackages ul:last-child {
  border-bottom: 0;
  margin-bottom: 0 !important;
  padding-bottom: 0;
}

#sideDestinations a,
#sidePackages a {
  align-items: center;
  border-radius: 12px;
  color: #102235;
  display: flex !important;
  font-size: 14px;
  font-weight: 500;
  justify-content: space-between;
  line-height: 1.35;
  padding: 9px 10px !important;
}

#sideDestinations a::after,
#sidePackages a::after {
  color: #8aa0b3;
  content: "\f105";
  font-family: "Font Awesome 7 Free", "Font Awesome 5 Free";
  font-size: 11px;
  font-weight: 900;
}

#sideDestinations a:hover,
#sideDestinations a:focus,
#sidePackages a:hover,
#sidePackages a:focus {
  background: rgba(6, 145, 185, 0.07);
  color: var(--gogeo-blue);
}

/* =====INline Search Start ========= */
/* ===== GoGeo &ndash; Package Search (Bootstrap 5.3.8) ===== */
/* Uses: --gogeo-blue: #0691b9;  --gogeo-dark: #121212; */

/* Section wrapper (with full overlap behavior) */
.gogeo-search {
  position: relative;
  z-index: 5;
  margin-top: -124px;
  padding-bottom: 44px;
  padding-top: 0 !important;
}
@media (max-width: 991.98px) {
  .gogeo-search {
    margin-top: -74px;
  }
}
@media (max-width: 767.98px) {
  .gogeo-search {
    margin-top: -58px;
  }
}

/* Main card */
.search-card {
  background: #ffffff;
  border: 1px solid rgba(6, 145, 185, 0.12);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(6, 79, 99, 0.2);
  padding: 20px 22px 22px;
  position: relative;
  z-index: 6;
}
.search-card:hover {
  box-shadow: 0 24px 56px rgba(6, 79, 99, 0.18);
}

.search-card-heading {
  align-items: center;
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
}

.search-card-heading span {
  color: var(--gogeo-blue-dark);
  font-size: 15px;
  font-weight: 700;
}

.search-card-heading small {
  color: #687781;
  font-size: 12px;
}

/* Form elements */
.gogeo-search .form-label {
  color: #34414a;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}
#packageSearchForm .form-select,
#packageSearchForm .form-control {
  background-color: #fff;
  border: 1px solid #d9e9ef;
  border-radius: 10px;
  color: #17212b;
  font-size: 14px;
  height: 48px;
  padding-left: 14px;
}

/* Search button */
.btn-search {
  background: var(--gogeo-blue);
  border-color: var(--gogeo-blue);
  border-radius: 999px;
  color: #fff;
  height: 48px;
  padding-inline: 26px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.06s ease,
    box-shadow 0.2s ease;
}

.btn,
.badge {
  border-radius: 999px;
}
.btn-search:hover {
  background: #0581a6;
  border-color: #0581a6;
  color: #fff;
}
.btn-search:active {
  transform: translateY(1px);
}

/* Focus outline */
#packageSearchForm .form-select:focus,
#packageSearchForm .form-control:focus,
.btn-search:focus {
  border-color: var(--gogeo-blue);
  box-shadow: 0 0 0 0.25rem rgba(6, 145, 185, 0.25);
  outline: none;
}

/* Mobile spacing for button row */
@media (max-width: 767.98px) {
  #packageSearchForm .d-grid {
    margin-top: 0.5rem;
  }
}

/* Optional subtle background separation */
.gogeo-search.section {
  background: linear-gradient(
    to bottom,
    transparent 0 104px,
    var(--gogeo-page-bg) 104px 100%
  );
}

.gg-trust-strip {
  background: #ffffff;
  padding: 0 0 48px;
  position: relative;
  z-index: 2;
}

.gg-trust-panel {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(6, 79, 99, 0.1);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.gg-trust-item {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  min-height: 112px;
  padding: 22px 20px;
}

.gg-trust-item + .gg-trust-item {
  border-left: 1px solid #e7f1f4;
}

.gg-trust-icon {
  align-items: center;
  background: rgba(6, 145, 185, 0.1);
  border-radius: 14px;
  color: var(--gogeo-blue);
  display: inline-flex;
  flex: 0 0 42px;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.gg-trust-item strong {
  color: var(--gogeo-blue-dark);
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 5px;
}

.gg-trust-item span:last-child {
  color: #65737d;
  display: block;
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 991.98px) {
  .gg-trust-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gg-trust-item:nth-child(odd) {
    border-left: 0;
  }

  .gg-trust-item:nth-child(n + 3) {
    border-top: 1px solid #e7f1f4;
  }
}

@media (max-width: 575.98px) {
  .gg-trust-strip {
    padding-bottom: 36px;
  }

  .gg-trust-panel {
    border-radius: 16px;
    grid-template-columns: 1fr;
  }

  .gg-trust-item {
    min-height: auto;
  }

  .gg-trust-item + .gg-trust-item,
  .gg-trust-item:nth-child(n + 3) {
    border-left: 0;
    border-top: 1px solid #e7f1f4;
  }
}

/* Ensure hero image doesn't clip the overlap */
.hero,
.hero-banner,
#hero,
#hero {
  position: relative;
  z-index: 1;
  overflow: visible;
}

@media (max-width: 767.98px) {
  .gg-hero,
  .gg-hero .container {
    min-height: 520px;
  }

  .gg-hero-content {
    padding-top: 76px;
  }

  .gg-hero h1,
  .gg-hero p {
    white-space: normal;
  }

  .search-card {
    padding: 18px;
  }

  .search-card-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

.about.section {
  background: var(--gogeo-page-bg);
}
.about-title {
  color: var(--gogeo-dark);
}

.about-kicker,
.section-kicker {
  background: #c6e7f5;
  color: var(--gogeo-blue-dark);
  font-weight: 600;
  padding: 0.5rem 0.75rem;
}

/* Media block */
.about-media {
  min-height: 420px;
}
.about-photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
}

/* Floating rating card */
.about-rating {
  position: absolute;
  top: 56px;
  left: 52%;
  transform: translateX(-50%);
  border-radius: 0.9rem;
}
.about-rating .avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  margin-left: -8px;
}
.about-rating .avatar:first-child {
  margin-left: 0;
}

/* Feature icons */
.about-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  font-size: 14px;
}
.about-icon.ok {
  background: #e8f6fb;
  color: var(--gogeo-blue);
}
.about-icon.warn {
  background: #fff3e8;
  color: #ff7a17;
}

/* Buttons */
.about .btn-primary {
  background: var(--gogeo-blue);
  border-color: var(--gogeo-blue);
}
.about .btn-primary:hover {
  background: var(--gogeo-blue-light);
  border-color: var(--gogeo-blue-light);
}

.about .about-secondary-btn {
  background: #ffffff;
  border: 1px solid rgba(6, 145, 185, 0.28);
  color: var(--gogeo-blue-dark);
  font-weight: 600;
  box-shadow: 0 10px 24px rgba(6, 79, 99, 0.08);
}

.about .about-secondary-btn:hover,
.about .about-secondary-btn:focus {
  background: #e8f6fb;
  border-color: var(--gogeo-blue);
  color: var(--gogeo-blue-dark);
}

/* Stats */
.about-stats .stat-card {
  border-radius: var(--radius-md);
}
.about-stats .stat-number {
  font-size: 2rem;
  font-weight: 800;
  color: var(--gogeo-dark);
  line-height: 1;
}
.about-stats .plus {
  color: #e74c3c;
  margin-left: 0.1rem;
}
.about-stats .stat-label {
  font-size: 0.95rem;
}

/* Responsive tweaks */
@media (max-width: 991.98px) {
  .about-media {
    min-height: unset;
  }
  .about-rating {
    top: 40px;
  }
}
@media (max-width: 575.98px) {
  .about-rating {
    left: 60%;
  }
}

/* Home About redesign */
.home-about {
  background: #ffffff;
  overflow: hidden;
}

.home-about-grid {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr);
}

.home-about-copy {
  max-width: 720px;
}

.home-about .about-kicker {
  background: rgba(17, 105, 207, 0.08);
  color: #0f5fc0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.52rem 0.9rem;
}

.home-about-title {
  color: #102235;
  font-family: inherit;
  font-size: clamp(2.15rem, 1.35vw + 1.6rem, 3.08rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.16;
  margin: 22px 0 20px;
  max-width: 21ch;
}

.home-about-title em {
  color: #1268d6;
  display: block;
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: 0.66em;
  font-style: normal;
  font-weight: 400;
  line-height: 1.16;
  margin-top: 8px;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}

.home-about-copy p {
  color: #536578;
  font-size: 1rem;
  line-height: 1.72;
  margin-bottom: 14px;
}

.home-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

.home-about-actions .btn {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.98rem;
  font-weight: 700;
  gap: 10px;
  min-height: 52px;
  padding: 0.78rem 1.45rem;
}

.home-about-gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.72fr);
  grid-template-rows: 150px 136px 124px;
  min-height: 434px;
  position: relative;
}

.home-about-photo {
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(10, 36, 54, 0.1);
  margin: 0;
  overflow: hidden;
}

.home-about-photo img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.home-about-photo-main {
  grid-column: 1 / 2;
  grid-row: 1 / 4;
}

.home-about-photo-top {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.home-about-photo-mid-1 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.home-about-photo-mid-2 {
  display: none;
}

.home-about-photo-bottom {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

.home-about-rating {
  align-items: center;
  background: rgba(3, 24, 42, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(10, 36, 54, 0.14);
  color: #ffffff;
  display: inline-flex;
  gap: 12px;
  left: 18px;
  margin-top: 0;
  padding: 8px 12px;
  position: absolute;
  top: 18px;
  width: auto;
  z-index: 2;
}

.home-about-rating .gg-proof-copy strong {
  color: #ffffff;
  font-size: 0.86rem;
}

.home-about-rating .gg-proof-copy span {
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.73rem;
}

.home-about-rating .gg-proof-copy i {
  color: #ffc247;
}

.home-about-rating .gg-proof-avatars img {
  height: 32px;
  width: 32px;
}

.home-about-stats {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 42px;
  position: relative;
  text-align: center;
}

.home-about-stats > div {
  padding: 12px 28px 0;
}

.home-about-stats > div + div {
  border-left: 1px solid #d7e8ef;
}

.home-about-stat-icon {
  align-items: center;
  border: 1px solid rgba(17, 105, 207, 0.28);
  border-radius: 50%;
  color: #1169cf;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  margin-bottom: 12px;
  width: 48px;
}

.home-about-stats strong {
  color: #102235;
  display: block;
  font-family: inherit;
  font-size: clamp(1.75rem, 1.05vw + 1.35rem, 2.05rem);
  font-weight: 700;
  line-height: 1;
}

.home-about-stats span:not(.home-about-stat-icon) {
  color: #1169cf;
  display: block;
  font-weight: 700;
  margin-top: 6px;
}

.home-about-stats small {
  color: #65737d;
  display: block;
  font-size: 0.82rem;
  line-height: 1.45;
  margin: 8px auto 0;
  max-width: 210px;
}

@media (max-width: 1199.98px) {
  .home-about-grid {
    grid-template-columns: 1fr;
  }

  .home-about-copy {
    max-width: 760px;
  }

  .home-about-rating {
    left: 22px;
  }
}

@media (max-width: 991.98px) {
  .home-about-gallery {
    grid-template-rows: 210px 140px 130px;
    min-height: 504px;
  }

  .home-about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }

  .home-about-stats > div:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 767.98px) {
  .home-about {
    padding-top: 3rem !important;
  }

  .home-about-title {
    font-size: clamp(2rem, 8vw, 2.55rem);
    max-width: 18ch;
  }

  .home-about-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .home-about-gallery {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 240px 120px 120px;
    min-height: auto;
  }

  .home-about-photo-main {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }

  .home-about-photo-top,
  .home-about-photo-bottom {
    grid-column: auto;
    grid-row: auto;
  }

  .home-about-photo-mid-1,
  .home-about-photo-mid-2 {
    grid-column: auto;
    grid-row: auto;
  }

  .home-about-photo-mid-2 {
    display: block;
  }

  .home-about-rating {
    bottom: 14px;
    left: 16px;
    padding: 7px 10px;
    top: auto;
    width: auto;
  }

  .home-about-rating .gg-proof-copy strong {
    font-size: 0.76rem;
  }

  .home-about-rating .gg-proof-copy span {
    font-size: 0.66rem;
  }

  .home-about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0;
  }

  .home-about-stats > div,
  .home-about-stats > div + div {
    border-left: 0;
    border-top: 1px solid #d7e8ef;
    padding: 20px 10px;
  }

  .home-about-stats > div:nth-child(1),
  .home-about-stats > div:nth-child(2) {
    border-top: 0;
  }

  .home-about-stats > div:nth-child(even) {
    border-left: 1px solid #d7e8ef;
  }

  .home-about-stat-icon {
    height: 42px;
    margin-bottom: 10px;
    width: 42px;
  }

  .home-about-stats small {
    font-size: 0.76rem;
    max-width: 150px;
  }
}
/* ===== Popular Packages (Bootstrap 5.3.8) &mdash; GoGeo Premium v2 ===== */

/* Section heading badge */
.gogeo-popular-packages {
  background: var(--gogeo-page-bg);
}

.gogeo-popular-packages .badge.text-bg-light {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

/* ===== Indicators (dots) &mdash; no overlap, brand color ===== */
.gogeo-popular-packages #packagesCarousel {
  padding-bottom: 0;
}
.gogeo-popular-packages .carousel-indicators {
  align-items: center;
  gap: 8px;
  justify-content: center;
  line-height: 0;
  position: static;
  bottom: auto;
  margin-top: 2rem;
  margin-bottom: 0;
}
.gogeo-popular-packages .carousel-indicators button {
  background: #cfd6dd;
  border: 0;
  border-radius: 999px;
  height: 10px;
  margin: 0;
  opacity: 1;
  padding: 0;
  transition: width 0.2s ease, background 0.2s ease;
  width: 10px;
}
.gogeo-popular-packages .carousel-indicators .active {
  background: var(--gogeo-blue);
  width: 24px;
}

/* ===== Premium CTAs (Book Now + custom nav buttons) ===== */
.gogeo-popular-packages .btn-primary {
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  border: none;
  color: #fff;
  box-shadow: 0 4px 12px rgba(6, 145, 185, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gogeo-popular-packages .btn-primary:hover,
.gogeo-popular-packages .btn-primary:focus {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(6, 145, 185, 0.35);
}
.gogeo-popular-packages .btn-primary:active {
  transform: none;
}

/* Custom top-right nav controls */
.gogeo-popular-packages .btn-nav {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(6, 145, 185, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gogeo-popular-packages .btn-nav:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(6, 145, 185, 0.35);
}
.gogeo-popular-packages .btn-nav:active {
  transform: none;
}
.gogeo-popular-packages .btn-nav svg {
  pointer-events: none;
}

/* Optional: make "View All Categories" brand gradient */
.section-action-btn {
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  border: none;
  color: #fff;
  box-shadow: 0 4px 12px rgba(6, 145, 185, 0.25);
  min-height: 44px;
}

.section-action-btn:hover,
.section-action-btn:focus {
  background: linear-gradient(
    135deg,
    var(--gogeo-blue-dark),
    var(--gogeo-blue)
  );
  color: #fff;
  box-shadow: 0 8px 20px rgba(6, 145, 185, 0.32);
}

/* ===== Responsive ===== */
@media (max-width: 575.98px) {
  .gogeo-popular-packages .display-6 {
    font-size: 1.75rem;
  }
}
/* ===== Popular Packages: responsive card rail ===== */
.gogeo-popular-packages .popular-package-slider {
  overflow: hidden;
}

.gogeo-popular-packages .popular-package-viewport {
  overflow: hidden;
  padding: 2px 1px 6px;
}

.gogeo-popular-packages .popular-package-track {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  transition: transform 0.45s ease;
  will-change: transform;
}

.gogeo-popular-packages .popular-package-track > .popular-package-slide {
  flex: 0 0 calc((100% - 72px) / 4);
  max-width: calc((100% - 72px) / 4);
  padding: 0;
}

.gogeo-popular-packages .tour-list-media img {
  height: 218px;
}

.gogeo-popular-packages .tour-list-card {
  height: auto;
}

.gogeo-popular-packages .tour-list-body {
  gap: 0;
  padding: 16px;
}

.gogeo-popular-packages .tour-list-body h3 {
  margin-bottom: 10px;
  min-height: auto;
}

.gogeo-popular-packages .tour-list-location {
  min-height: auto;
  margin-bottom: 14px;
}

.gogeo-popular-packages .tour-list-meta {
  margin-bottom: 14px;
}

.gogeo-popular-packages .tour-list-bottom {
  margin-bottom: 14px;
  margin-top: 0;
}

.gogeo-popular-packages #packagesCarousel .carousel-indicators {
  position: static;
  margin-top: 1.25rem;
  margin-bottom: 0;
  padding: 0;
}

@media (max-width: 1199.98px) {
  .gogeo-popular-packages .popular-package-track > .popular-package-slide {
    flex-basis: calc((100% - 48px) / 3);
    max-width: calc((100% - 48px) / 3);
  }
}

@media (max-width: 991.98px) {
  .gogeo-popular-packages .popular-package-track > .popular-package-slide {
    flex-basis: calc((100% - 24px) / 2);
    max-width: calc((100% - 24px) / 2);
  }
}

@media (max-width: 575.98px) {
  .gogeo-popular-packages .popular-package-track {
    gap: 16px;
  }

  .gogeo-popular-packages .popular-package-track > .popular-package-slide {
    flex-basis: 100%;
    max-width: 100%;
  }
}
/* ===== Discounts & Offers (scoped) ===== */
.gogeo-offers .section-title {
  font-weight: 700;
}

.gogeo-offers .offers-viewport {
  position: relative;
  overflow: hidden;
}

.gogeo-offers .offers-track {
  display: flex;
  align-items: stretch;
  will-change: transform;
  transition: transform 0.5s ease; /* reserved if you later switch to translateX */
  gap: 24px; /* desktop gutter */
  scroll-behavior: smooth; /* smooth scroll when we change scrollLeft */
}

.gogeo-offers .offer-slide {
  flex: 0 0 calc((100% - 48px) / 3); /* 3 per view, gap 24px => 2 gaps per row (2*24=48) */
}

.gogeo-offers .offer-card {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  background: #f2f4f7;
}

.gogeo-offers .offer-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* Optional subtle hover */
  transition: transform 0.35s ease;
}
.gogeo-offers .offer-card:hover .offer-img {
  transform: scale(1.02);
}

/* Dots */
.gogeo-offers .offers-dots {
  line-height: 0;
}
.gogeo-offers .offers-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cfd6dd;
  margin: 0 6px;
  cursor: pointer;
}
.gogeo-offers .offers-dots .dot.is-active {
  width: 24px;
  background: var(--gogeo-blue, #0691b9);
}

/* Tablet */
@media (max-width: 1199.98px) {
  .gogeo-offers .offers-track {
    gap: 16px;
  }
  .gogeo-offers .offer-slide {
    flex: 0 0 calc((100% - 16px) / 2); /* 2 per view */
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .gogeo-offers .offers-track {
    gap: 12px;
  }
  .gogeo-offers .offer-slide {
    flex: 0 0 100%; /* 1 per view */
  }
  .gogeo-offers .offer-card {
    border-radius: 16px;
  }
}
/* ===== Explore by Theme (final) ===== */
.gogeo-themes .section-title {
  font-weight: 700;
} /* same weight as Offers */

.gogeo-themes .themes-call {
  color: var(--gogeo-blue, #0691b9);
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  border-radius: 999px;
  background: #f1f7fb;
  border: 1px solid rgba(6, 145, 185, 0.15);
}

/* keep header controls from wrapping/stretching */
.gogeo-themes .header-ctrls {
  white-space: nowrap;
}

/* Header arrows &mdash; gradient (same as Popular Packages) */
.gogeo-themes .theme-nav.hdr {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(6, 145, 185, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
}
.gogeo-themes .theme-nav.hdr .nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  font-size: 18px;
}
.gogeo-themes .theme-nav.hdr:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(6, 145, 185, 0.35);
}
.gogeo-themes .theme-nav.hdr:active {
  transform: none;
}
.gogeo-themes .theme-nav.hdr:focus {
  outline: 2px solid rgba(6, 145, 185, 0.35);
  outline-offset: 2px;
}

.gogeo-themes .themes-viewport {
  overflow: hidden;
}

/* Track + slide sizing */
.gogeo-themes .themes-track {
  display: flex;
  gap: 20px;
  will-change: transform;
  scroll-behavior: smooth;
}

/* Cards */
.gogeo-themes .theme-slide {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  flex: 0 0 calc((100% - 80px) / 5); /* 5 per view, 4 gaps */
  height: 300px; /* desktop height */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  background: #e9eef3;
  color: #fff;
  text-decoration: none;
}
.gogeo-themes .theme-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* Bottom-centered text with gradient */
.gogeo-themes .theme-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 14px 16px;
  text-align: center;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.72) 0%,
    rgba(0, 0, 0, 0.34) 58%,
    rgba(0, 0, 0, 0) 60%
  );
  z-index: 2;
}
.gogeo-themes .theme-title {
  font-weight: 600;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* Hover effect */
.gogeo-themes .theme-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.26));
  transition: background 0.35s ease;
  z-index: 1;
}
.gogeo-themes .theme-slide:hover .theme-img {
  transform: scale(1.05);
}
.gogeo-themes .theme-slide:hover::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.34));
}

/* Dots (same style as Offers) */
.gogeo-themes .themes-dots {
  line-height: 0;
}
.gogeo-themes .themes-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cfd6dd;
  margin: 0 6px;
  cursor: pointer;
}
.gogeo-themes .themes-dots .dot.is-active {
  width: 24px;
  background: var(--gogeo-blue, #0691b9);
}

/* Breakpoints */
@media (max-width: 1399.98px) {
  .gogeo-themes .themes-track {
    gap: 18px;
  }
  .gogeo-themes .theme-slide {
    flex: 0 0 calc((100% - 54px) / 4);
  }
}
@media (max-width: 991.98px) {
  .gogeo-themes .themes-track {
    gap: 16px;
  }
  .gogeo-themes .theme-slide {
    flex: 0 0 calc((100% - 32px) / 3);
    height: 260px;
  }
}
@media (max-width: 767.98px) {
  .gogeo-themes .themes-track {
    gap: 12px;
    padding-right: 12px;
  }
  .gogeo-themes .theme-slide {
    flex: 0 0 80%;
    height: 240px;
  } /* 1 full + peek */
  .gogeo-themes .theme-nav.hdr {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  } /* smaller buttons on phones */
}
/* ===== Reviews (carousel) ===== */
.gogeo-reviews .section-title {
  font-weight: 700;
} /* same weight as Offers */

.gogeo-reviews .reviews-viewport {
  overflow: hidden;
}
.gogeo-reviews .reviews-track {
  display: flex;
  gap: 24px;
  will-change: transform;
  scroll-behavior: smooth;
}

/* Card */
.gogeo-reviews .review-card {
  flex: 0 0 calc((100% - 48px) / 3); /* 3 per view, 2 gaps */
  background: #fff;
  border-radius: 16px;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.gogeo-reviews .review-title {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.gogeo-reviews .review-text {
  color: #495057;
  margin-bottom: 1rem;
}
.gogeo-reviews .review-sep {
  height: 1px;
  background: #e9ecef;
  margin: 0 0 0.75rem 0;
}

/* Reviewer row */
.gogeo-reviews .reviewer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.gogeo-reviews .avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}
.gogeo-reviews .who .name {
  font-weight: 600;
}
.gogeo-reviews .rating {
  margin-left: auto;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.2rem 0.45rem;
  border-radius: 0.5rem;
  background: var(--gogeo-yellow, #ffc107);
  color: #212529;
}

/* Dots (match Themes) */
.gogeo-reviews .reviews-dots {
  line-height: 0;
}
.gogeo-reviews .reviews-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cfd6dd;
  margin: 0 6px;
  cursor: pointer;
}
.gogeo-reviews .reviews-dots .dot.is-active {
  width: 24px;
  background: var(--gogeo-blue, #0691b9);
}

/* Breakpoints */
@media (max-width: 1199.98px) {
  .gogeo-reviews .reviews-track {
    gap: 18px;
  }
  .gogeo-reviews .review-card {
    flex: 0 0 calc((100% - 18px) / 2);
  }
}
@media (max-width: 767.98px) {
  .gogeo-reviews .reviews-track {
    gap: 12px;
    padding-right: 12px;
  }
  .gogeo-reviews .review-card {
    flex: 0 0 80%;
  } /* 1 full + peek of next */
}
/* ===== Blogs slider ===== */
.gogeo-blogs .section-title {
  color: var(--gg-text);
  font-weight: 700;
}

.gogeo-blogs .blogs-viewport {
  overflow: hidden;
}
.gogeo-blogs .blogs-track {
  display: flex;
  gap: 24px;
  will-change: transform;
  scroll-behavior: smooth;
}

/* Card */
.gogeo-blogs .blog-card {
  flex: 0 0 calc((100% - 72px) / 4); /* 4 per view, 3 gaps */
  background: #fff;
  border: 1px solid #e0edf2;
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(6, 79, 99, 0.12);
  overflow: hidden;
}

/* Media (tall, clean) */
.gogeo-blogs .blog-media {
  position: relative;
  height: 220px;
  overflow: hidden;
}
.gogeo-blogs .blog-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.gogeo-blogs .blog-media:hover .blog-img {
  transform: scale(1.04);
}

/* Badge */
.gogeo-blogs .blog-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--gogeo-orange);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.34rem 0.62rem;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(255, 152, 0, 0.25);
}

/* Body */
.gogeo-blogs .blog-body {
  background: #fff;
  padding: 1rem 1.15rem 1.15rem;
}
.gogeo-blogs .blog-title {
  color: var(--gg-text);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0.2rem 0 0.9rem;
}

/* Meta + green arrow button inside card */
.gogeo-blogs .blog-meta {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.gogeo-blogs .blog-meta .meta {
  color: #6c757d;
  font-size: 0.88rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.gogeo-blogs .blog-meta .meta svg {
  fill: currentColor;
  height: 16px;
  width: 16px;
}

.gogeo-blogs .btn-card {
  margin-left: auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(6, 145, 185, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gogeo-blogs .btn-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(6, 145, 185, 0.35);
}
.gogeo-blogs .btn-card svg {
  width: 18px;
  height: 18px;
}

/* Dots (same as Themes) */
.gogeo-blogs .blogs-dots {
  line-height: 0;
}
.gogeo-blogs .blogs-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cfd6dd;
  margin: 0 6px;
  cursor: pointer;
}
.gogeo-blogs .blogs-dots .dot.is-active {
  width: 24px;
  background: var(--gogeo-blue, #0691b9);
}

/* Gradient header buttons (reuse Popular Packages) */
.gogeo-blogs .btn.btn-nav {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  box-shadow: 0 6px 18px rgba(6, 145, 185, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.gogeo-blogs .btn.btn-nav svg {
  pointer-events: none;
}

.gogeo-blogs .btn.btn-nav:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(6, 145, 185, 0.35);
}

.gogeo-blogs .btn.btn-nav:active {
  transform: none;
}

/* Breakpoints */
@media (max-width: 1399.98px) {
  .gogeo-blogs .blogs-track {
    gap: 20px;
  }
  .gogeo-blogs .blog-card {
    flex: 0 0 calc((100% - 40px) / 3);
  }
}
@media (max-width: 991.98px) {
  .gogeo-blogs .blogs-track {
    gap: 16px;
  }
  .gogeo-blogs .blog-card {
    flex: 0 0 calc((100% - 16px) / 2);
  }
  .gogeo-blogs .blog-media {
    height: 210px;
  }
}
@media (max-width: 767.98px) {
  .gogeo-blogs .blogs-track {
    gap: 12px;
    padding-right: 12px;
  }
  .gogeo-blogs .blog-card {
    flex: 0 0 80%;
  } /* 1 full + peek */
  .gogeo-blogs .blog-media {
    height: 200px;
  }
  .gogeo-blogs .btn.btn-nav {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
}
/* =========================
   GoGeo Inner Breadcrumb
   TRUE Horizontal + Vertical Center
========================= */

.gg-bc {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  display: grid;
  place-items: center; /* PERFECT center: X + Y */
  border-bottom: 1px solid rgba(6, 145, 185, 0.14);
  background: var(--gogeo-bg-light, #f8fafc);
}

/* Background image */
.gg-bc__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 42%;
  transform: scale(1.03);
}

/* Overlay */
.gg-bc__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.46) 0%,
      rgba(0, 0, 0, 0.26) 48%,
      rgba(0, 0, 0, 0.5) 100%
    ),
    radial-gradient(
      900px 360px at 50% 48%,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.08) 65%
    );
}

/* IMPORTANT: force true centering */
.gg-bc > .container {
  position: relative;
  display: grid;
  place-items: center; /* center inside container */
  padding-left: 0; /* neutralize bootstrap offset */
  padding-right: 0;
}

/* Content block */
.gg-bc__content {
  text-align: center;
  max-width: 820px;
  padding-inline: 16px; /* controlled inner spacing */
}

.gg-bc__eyebrow {
  color: #d8f4ff;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

/* Title (inherits homepage font) */
.gg-bc__title {
  color: #fff;
  margin: 0;
  line-height: 1.15;
  letter-spacing: 0;
  font-size: clamp(2rem, 1.4rem + 2vw, 3.2rem);
}

.gg-bc__text {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem);
  line-height: 1.6;
  margin: 12px auto 0;
  max-width: 660px;
}

.gg-bc__text--single {
  max-width: 980px;
  white-space: nowrap;
}

/* Breadcrumb */
.gg-bc__trail {
  --bs-breadcrumb-divider: ">";
  margin-top: 10px;
  gap: 10px;
}

.gg-bc__trail .breadcrumb-item,
.gg-bc__trail .breadcrumb-item a {
  font-weight: 400;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.98rem;
  text-decoration: none;
}

.gg-bc__trail .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.75);
  padding-right: 8px;
}

.gg-bc__link:hover {
  color: var(--gogeo-blue-light, #73cff7);
}

.gg-bc__current {
  color: rgba(255, 255, 255, 0.92);
}

/* =========================
   Responsive Height Control
========================= */

@media (max-width: 1199.98px) {
  .gg-bc {
    min-height: 320px;
  }
}

@media (max-width: 991.98px) {
  .gg-bc {
    min-height: 300px;
  }
  .gg-bc__title {
    font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
  }
}

@media (max-width: 575.98px) {
  .gg-bc {
    min-height: 260px;
  }
  .gg-bc__title {
    font-size: clamp(1.7rem, 1.3rem + 1.8vw, 2.4rem);
  }
  .gg-bc__trail .breadcrumb-item,
  .gg-bc__trail .breadcrumb-item a {
    font-size: 0.95rem;
  }
}
/* =========================
   GoGeo Contact Section (below banner)
   Updated: Bigger Left Text + Divider for all items
========================= */

.gg-contact-section {
  background: #fff;
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}

/* Left title */
.gg-contact-page-title {
  margin: 0;
  font-weight: 700;
  color: var(--gg-text);
  line-height: 1.2;
}

/* Left card container */
.gg-contact-card {
  background: #fff;
  border: 1px solid #dcecf1;
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(6, 79, 99, 0.1);
  padding: 22px 20px;
}

/* Divider between every block */
.gg-divider {
  border: 0;
  height: 1px;
  background-color: #e4eef2;
  margin: 20px 0;
}

/* Left items (icon + content) */
.gg-citem {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: flex-start;
}

.gg-citem-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(6, 145, 185, 0.1);
  color: var(--gogeo-blue);
  font-size: 14px;
}

.gg-citem-title {
  font-weight: 700;
  color: var(--gg-text);
  margin-bottom: 6px;
  font-size: 15px; /* increased */
}

.gg-citem-subtitle {
  font-weight: 700;
  color: var(--gg-text);
  font-size: 13px; /* increased */
  letter-spacing: 0.03em;
}

.gg-citem-text {
  color: #444;
  font-size: 14.5px; /* increased */
  line-height: 1.65;
  margin-top: 6px;
}

/* Department blocks */
.gg-dept-title {
  font-weight: 700;
  color: var(--gg-text);
  margin-bottom: 6px;
  font-size: 15px; /* increased */
}

.gg-dept-text {
  color: #444;
  font-size: 14px; /* increased */
  line-height: 1.6;
}

/* Right form */
.gg-form-wrap {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(6, 79, 99, 0.12);
  padding: 28px;
}

.gg-form-title {
  margin: 0;
  font-weight: 700;
  color: var(--gg-text);
  line-height: 1.25;
}

/* Icon input groups */
.gg-ig {
  display: grid;
  grid-template-columns: 50px 1fr;
  border: 1px solid #d9e9ef;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.gg-ig-icon {
  display: grid;
  place-items: center;
  background: #e8f6fb;
  color: var(--gogeo-blue);
  font-size: 14px;
}

.gg-ig-icon--top {
  align-items: start;
  padding-top: 12px;
}

.gg-ig-control {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 13px 14px;
  font-size: 14px;
  min-height: 50px;
}

.gg-ig:focus-within {
  border-color: rgba(6, 145, 185, 0.6);
  box-shadow: 0 0 0 3px rgba(6, 145, 185, 0.12);
}

.gg-ig-textarea {
  resize: vertical;
  min-height: 130px;
}

/* Button */
.gg-btn-send {
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  padding: 12px 30px;
}

.gg-btn-send:hover {
  background: var(--gogeo-blue-dark);
  border-color: var(--gogeo-blue-dark);
  color: #fff;
}

/* Responsive refinements */
@media (max-width: 991.98px) {
  .gg-form-wrap {
    padding-top: 0;
  }
}

@media (max-width: 575.98px) {
  .gg-contact-card {
    padding: 16px 14px;
  }
  .gg-citem {
    grid-template-columns: 40px 1fr;
  }
  .gg-ig {
    grid-template-columns: 42px 1fr;
  }
  /* keep readable on mobile */
  .gg-citem-text,
  .gg-dept-text {
    font-size: 14px;
  }
  .gg-citem-title,
  .gg-dept-title {
    font-size: 14.5px;
  }
}

/* =========================
   Tour Listing Page
========================= */

.tour-list-search {
  background: linear-gradient(
    to bottom,
    transparent 0 54px,
    #ffffff 54px 100%
  );
  margin-top: -54px;
  padding-bottom: 18px;
  position: relative;
  z-index: 5;
}

.tour-list-hero {
  min-height: 285px;
  padding-bottom: 34px;
}

.tour-list-hero .gg-bc__content {
  max-width: 1120px;
  transform: translateY(0);
}

.tour-list-hero .gg-bc__text {
  text-align: center;
}

.tour-search-panel {
  align-items: stretch;
  background: #ffffff;
  border: 1px solid rgba(6, 145, 185, 0.12);
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(6, 79, 99, 0.2);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr)) 176px;
  min-height: 88px;
  padding: 14px 18px;
}

.tour-search-field {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  padding: 4px 22px 4px 18px;
  position: relative;
}

.tour-search-field + .tour-search-field {
  border-left: 1px solid #d9e4e9;
}

.tour-search-icon {
  color: var(--gogeo-blue-dark);
  display: block;
  font-size: 18px;
  grid-row: 1 / span 2;
  line-height: 1;
  padding-top: 6px;
}

.tour-search-field label {
  color: #0d1720;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 8px;
}

.tour-search-field select,
.tour-search-field input {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #44515b;
  font-size: 14px;
  min-width: 0;
  outline: 0;
  padding: 0;
  width: 100%;
}

.tour-search-btn {
  align-self: stretch;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
}

.tour-guest-picker {
  position: relative;
}

.tour-guest-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #44515b;
  display: flex;
  font-size: 14px;
  gap: 18px;
  justify-content: flex-start;
  min-height: 20px;
  padding: 0;
  width: 100%;
}

.tour-guest-trigger i {
  color: #101820;
  font-size: 13px;
}

.tour-guest-menu {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(6, 79, 99, 0.2);
  display: none;
  left: auto;
  right: 0;
  min-width: 360px;
  padding: 18px;
  position: absolute;
  top: calc(100% + 10px);
  z-index: 20;
}

.tour-guest-picker.is-open .tour-guest-menu {
  display: block;
}

.tour-guest-row {
  align-items: center;
  border-bottom: 1px solid #e8eef2;
  display: flex;
  justify-content: space-between;
  padding: 0 0 14px;
  margin-bottom: 14px;
}

.tour-guest-row strong {
  color: #101820;
  display: block;
  font-size: 15px;
  line-height: 1.2;
}

.tour-guest-row span {
  color: #50606b;
  display: block;
  font-size: 12px;
  margin-top: 4px;
}

.tour-guest-stepper {
  align-items: center;
  display: flex;
  gap: 9px;
}

.tour-guest-stepper button {
  align-items: center;
  background: #008875;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.tour-guest-stepper input {
  border: 1px solid #cbd8df;
  border-radius: 999px;
  color: #101820;
  font-size: 14px;
  height: 38px;
  text-align: center;
  width: 66px;
}

.tour-guest-done-wrap {
  text-align: right;
}

.tour-guest-done {
  background: var(--gogeo-coral);
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  font-weight: 700;
  min-height: 40px;
  padding: 0 18px;
}

.tour-listing-section {
  background: #ffffff;
  padding: 0 0 72px;
}

.tour-listing-head {
  align-items: end;
  border-bottom: 1px solid #e4eef2;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 14px;
}

.tour-listing-head .section-kicker {
  display: none;
}

.tour-listing-head .section-title {
  margin-top: 0 !important;
}

.tour-listing-head .section-title {
  font-size: 1.25rem;
  font-weight: 700;
}

.tour-listing-actions {
  align-items: center;
  display: flex;
  gap: 12px;
}

.tour-sort-select,
.tour-filter-toggle {
  background: #ffffff;
  border: 1px solid #cfdde3;
  border-radius: 999px;
  color: #101820;
  font-size: 15px;
  min-height: 48px;
  padding: 0 18px;
}

.tour-filter-toggle {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.tour-filter-sidebar,
.tour-filter-offcanvas .offcanvas-body {
  background: #ffffff;
}

.tour-filter-sidebar {
  border: 1px solid #dcecf1;
  border-radius: 8px;
  padding: 22px 20px;
  position: sticky;
  top: calc(var(--gg-header-h) + 24px);
}

.tour-filter-group {
  border-bottom: 1px solid #e4eef2;
  padding-bottom: 22px;
  margin-bottom: 22px;
}

.tour-filter-group:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.tour-filter-group h3 {
  align-items: center;
  color: #101820;
  display: flex;
  font-size: 1.05rem;
  font-weight: 700;
  gap: 12px;
  margin: 0 0 18px;
}

.tour-filter-group h3 i {
  color: var(--gogeo-blue-dark);
  width: 18px;
}

.tour-check {
  align-items: center;
  color: #34414a;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  gap: 12px;
  margin-bottom: 14px;
}

.tour-check input {
  accent-color: var(--gogeo-blue);
  height: 18px;
  width: 18px;
}

.tour-rating-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tour-rating-options input {
  position: absolute;
  opacity: 0;
}

.tour-rating-options span {
  align-items: center;
  border: 1px solid #dce6eb;
  border-radius: 999px;
  color: #34414a;
  cursor: pointer;
  display: inline-flex;
  gap: 5px;
  min-height: 34px;
  padding: 0 12px;
}

.tour-rating-options i {
  color: var(--gogeo-orange);
}

.tour-rating-options input:checked + span {
  background: var(--gogeo-blue);
  border-color: var(--gogeo-blue);
  color: #ffffff;
}

.tour-range {
  accent-color: var(--gogeo-blue);
  width: 100%;
}

.tour-filter-price {
  color: #34414a;
  font-size: 14px;
  margin-top: 12px;
}

.tour-filter-apply {
  background: #eef3f6;
  border: 0;
  color: #34414a;
  font-weight: 600;
  margin-top: 12px;
  padding: 6px 18px;
  border-radius: 999px;
}

.tour-list-card {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(6, 79, 99, 0.11);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.tour-list-card:hover {
  box-shadow: 0 18px 46px rgba(6, 79, 99, 0.17);
  transform: translateY(-2px);
}

.tour-list-media {
  display: block;
  overflow: hidden;
  position: relative;
}

.tour-list-media img {
  aspect-ratio: 16 / 10.5;
  display: block;
  height: 238px;
  object-fit: cover;
  transition: transform 0.35s ease;
  width: 100%;
}

.tour-list-card:hover .tour-list-media img {
  transform: scale(1.05);
}

.tour-list-media .tour-tag {
  background: var(--gogeo-orange);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  left: 16px;
  padding: 7px 12px;
  position: absolute;
  top: 16px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.tour-tag-featured {
  background: #ff9800 !important;
}

.tour-tag-popular {
  background: #ff3b30 !important;
}

.tour-tag-family {
  background: #ffc107 !important;
  color: #101820 !important;
}

.tour-tag-honeymoon {
  background: #8e44ff !important;
}

.tour-tag-custom {
  background: #008875 !important;
}

.tour-list-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding: 18px;
}

.tour-list-category {
  color: var(--gogeo-blue);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}

.tour-list-body h3 {
  display: -webkit-box;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 8px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tour-list-body h3 a {
  color: #101820;
}

.tour-list-location {
  align-items: flex-start;
  color: #61707a;
  display: flex;
  font-size: 14px;
  gap: 7px;
  margin-bottom: 16px;
  overflow: hidden;
}

.tour-list-location span {
  display: -webkit-box;
  line-height: 1.35;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tour-list-location i {
  color: var(--gogeo-blue);
  flex: 0 0 auto;
  margin-top: 2px;
}

.tour-list-meta {
  background: #f0f4f6;
  border-radius: 999px;
  color: #101820;
  display: grid;
  font-size: 13px;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
  padding: 10px 12px;
}

.tour-list-meta span {
  align-items: center;
  display: inline-flex;
  gap: 7px;
  white-space: nowrap;
}

.tour-list-meta .tour-list-customisable {
  background: #fff3dc;
  border: 1px solid rgba(255, 152, 0, 0.16);
  border-radius: 999px;
  color: #9a5d00;
  font-size: 11.5px;
  font-weight: 600;
  justify-content: center;
  letter-spacing: 0;
  padding: 4px 10px;
}

.tour-list-bottom {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.tour-list-from {
  color: #61707a;
  margin-right: 6px;
}

.tour-list-bottom strong {
  color: #101820;
  font-size: 1.15rem;
}

.tour-list-rating {
  color: #101820;
  font-size: 13px;
  white-space: nowrap;
}

.tour-list-rating i {
  color: var(--gogeo-orange);
}

.tour-list-rating span {
  color: #61707a;
}

.tour-list-btn {
  background: linear-gradient(
    135deg,
    var(--gogeo-blue),
    var(--gogeo-blue-light)
  );
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(6, 145, 185, 0.22);
  color: #ffffff;
  font-weight: 700;
  width: 100%;
}

.tour-list-btn:hover,
.tour-list-btn:focus {
  background: linear-gradient(
    135deg,
    var(--gogeo-blue-dark),
    var(--gogeo-blue)
  );
  color: #ffffff;
}

.tour-filter-offcanvas {
  max-width: 360px;
}

.seo-content-section {
  background: #fff;
  padding: 72px 0 86px;
}

.seo-content-shell {
  border-top: 1px solid #dfeef3;
  padding-top: 48px;
}

.seo-readmore .seo-readmore-body {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  position: relative;
  transition: max-height 0.45s ease, opacity 0.3s ease;
}

.seo-readmore:not(.is-open) .seo-readmore-intro {
  position: relative;
}

.seo-readmore:not(.is-open) .seo-readmore-intro::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 82%);
  bottom: 0;
  content: "";
  height: 62px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
}

.seo-readmore.is-open .seo-readmore-body {
  max-height: 4000px;
  opacity: 1;
}

.seo-readmore-toggle {
  align-items: center;
  background: #fff;
  border: 1px solid #bde7f4;
  border-radius: 999px;
  color: #004e63;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 48px;
  min-width: 148px;
  padding: 0 26px;
  transition: all 0.2s ease;
}

.seo-readmore-toggle:hover,
.seo-readmore-toggle:focus {
  background: linear-gradient(135deg, var(--gogeo-blue), var(--gogeo-blue-light));
  border-color: transparent;
  color: #fff;
}

.seo-copy-card,
.seo-side-card {
  background: #fff;
  border: 1px solid #dcecf2;
  border-radius: 24px;
  box-shadow: 0 14px 36px rgba(0, 86, 112, 0.07);
}

.seo-copy-card {
  margin-bottom: 24px;
  padding: 32px;
}

.seo-copy-card h2,
.seo-side-card h2 {
  color: #111b24;
  font-size: 1.72rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 16px;
}

.seo-copy-card h3 {
  color: #004e63;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.seo-copy-card p,
.seo-side-card p {
  color: #596874;
  font-size: 1rem;
  line-height: 1.75;
}

.seo-place-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.seo-season-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.seo-place-grid > div,
.seo-season-grid > div {
  background: #f7fcfe;
  border: 1px solid #dcecf2;
  border-radius: 18px;
  padding: 20px;
}

.seo-season-grid span {
  background: #fff3d7;
  border-radius: 999px;
  color: #9a6400;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  margin-bottom: 10px;
  padding: 5px 11px;
}

.seo-table-wrap {
  border: 1px solid #dcecf2;
  border-radius: 18px;
  overflow-x: auto;
}

.seo-package-table {
  border-collapse: collapse;
  min-width: 620px;
  width: 100%;
}

.seo-package-table th,
.seo-package-table td {
  border-bottom: 1px solid #e8f2f6;
  color: #596874;
  padding: 15px 18px;
}

.seo-package-table th {
  background: #f7fcfe;
  color: #004e63;
  font-weight: 700;
}

.seo-package-table tr:last-child td {
  border-bottom: 0;
}

.seo-tip-list {
  color: #596874;
  line-height: 1.8;
  margin: 0;
  padding-left: 20px;
}

.seo-link-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.seo-link-cloud a {
  background: #f7fcfe;
  border: 1px solid #cfe9f2;
  border-radius: 999px;
  color: #004e63;
  font-weight: 700;
  padding: 9px 15px;
  transition: all 0.2s ease;
}

.seo-link-cloud a:hover,
.seo-link-cloud a:focus {
  background: #0096bd;
  border-color: #0096bd;
  color: #fff;
}

.seo-faq .accordion-item {
  border: 1px solid #dcecf2;
  border-radius: 16px;
  margin-bottom: 12px;
  overflow: hidden;
}

.seo-faq .accordion-button {
  color: #111b24;
  font-size: 1rem;
  font-weight: 600;
  padding: 18px 20px;
}

.seo-faq .accordion-button:not(.collapsed) {
  background: #eefaff;
  box-shadow: none;
  color: #004e63;
}

.seo-faq .accordion-body {
  color: #596874;
  line-height: 1.7;
}

.seo-side-card {
  padding: 28px;
}

.seo-side-card + .seo-side-card {
  margin-top: 24px;
}

.seo-side-card a:not(.btn) {
  align-items: center;
  border-bottom: 1px solid #e8f2f6;
  color: #111b24;
  display: flex;
  font-weight: 600;
  justify-content: space-between;
  padding: 13px 0;
}

.seo-side-card a:not(.btn)::after {
  color: #0096bd;
  content: ">";
  font-weight: 700;
}

.seo-highlight-card {
  background: linear-gradient(145deg, #fff8e8 0%, #eefaff 100%);
}

.seo-highlight-card span {
  color: #0096bd;
  display: inline-block;
  font-weight: 700;
  margin-bottom: 8px;
}

.cookie-consent {
  align-items: center;
  background: linear-gradient(135deg, #e8f8fd 0%, #d5f0f8 100%);
  border: 1px solid #a7ddea;
  border-radius: 18px;
  bottom: 18px;
  box-shadow: 0 16px 38px rgba(0, 76, 98, 0.2);
  display: flex;
  gap: 16px;
  left: 50%;
  max-width: min(820px, calc(100vw - 32px));
  padding: 14px 16px;
  position: fixed;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1080;
}

.cookie-consent[hidden],
.cookie-modal[hidden] {
  display: none !important;
}

.cookie-consent__content {
  flex: 1;
}

.cookie-consent__content span,
.cookie-modal__head span {
  color: #0096bd;
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cookie-consent__content p {
  color: #3f515c;
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 3px 0 0;
}

.cookie-consent__actions,
.cookie-modal__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cookie-consent__primary,
.cookie-consent__ghost,
.cookie-consent__link {
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
  min-height: 36px;
  padding: 0 15px;
}

.cookie-consent__primary {
  background: linear-gradient(135deg, var(--gogeo-blue), var(--gogeo-blue-light));
  border: 0;
  color: #ffffff;
}

.cookie-consent__ghost {
  background: #ffffff;
  border: 1px solid #94d2e3;
  color: #004e63;
}

.cookie-consent__link {
  background: transparent;
  border: 0;
  color: #006f8a;
  padding: 0 6px;
}

.cookie-modal {
  align-items: center;
  background: rgba(3, 27, 38, 0.48);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 1090;
}

.cookie-modal__panel {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0, 30, 44, 0.24);
  max-width: 620px;
  padding: 26px;
  width: 100%;
}

.cookie-modal__head {
  align-items: flex-start;
  border-bottom: 1px solid #e1e9ee;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.cookie-modal__head h2 {
  color: #101820;
  font-size: 1.65rem;
  font-weight: 700;
  margin: 2px 0 0;
}

.cookie-modal__close {
  align-items: center;
  background: #eefaff;
  border: 0;
  border-radius: 50%;
  color: #004e63;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.cookie-option {
  align-items: center;
  border: 1px solid #e1e9ee;
  border-radius: 18px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 16px;
}

.cookie-option strong {
  color: #101820;
  display: block;
  font-weight: 700;
}

.cookie-option p {
  color: #61707a;
  line-height: 1.5;
  margin: 4px 0 0;
}

.cookie-option input {
  accent-color: var(--gogeo-blue);
  height: 20px;
  width: 20px;
}

.cookie-required {
  background: #eefaff;
  border-radius: 999px;
  color: #004e63;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 7px 12px;
  white-space: nowrap;
}

.content-page-hero {
  min-height: 330px;
}

.content-page-section {
  background: #ffffff;
  padding: 72px 0 86px;
}

.content-page-card {
  background: #ffffff;
  border: 1px solid #dcecf2;
  border-radius: 24px;
  box-shadow: 0 14px 36px rgba(0, 86, 112, 0.07);
  margin-bottom: 24px;
  padding: 32px;
  scroll-margin-top: calc(var(--gg-header-h) + 24px);
}

.content-page-card h2 {
  color: #111b24;
  font-size: 1.68rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 14px;
}

.content-page-card p {
  color: #596874;
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0;
}

.content-page-card p + p {
  margin-top: 14px;
}

.content-faq-accordion {
  display: grid;
  gap: 14px;
}

.content-faq-item {
  background: #ffffff;
  border: 1px solid #dcecf2;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(0, 86, 112, 0.07);
  overflow: hidden;
}

.content-faq-item .accordion-button {
  background: #ffffff;
  border: 0;
  box-shadow: none;
  color: #111b24;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0;
  padding: 20px 24px;
}

.content-faq-item .accordion-button:not(.collapsed) {
  background: #f2fbff;
  color: #005a70;
}

.content-faq-item .accordion-button:focus {
  border-color: transparent;
  box-shadow: 0 0 0 0.18rem rgba(0, 146, 178, 0.16);
}

.content-faq-item .accordion-body {
  background: #ffffff;
  color: #596874;
  font-size: 1rem;
  line-height: 1.75;
  padding: 0 24px 22px;
}

.content-faq-item .accordion-body p {
  margin-bottom: 0;
}

.content-feature-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-feature-grid div {
  align-items: center;
  background: #f7fcfe;
  border: 1px solid #dcecf2;
  border-radius: 16px;
  color: #111b24;
  display: flex;
  gap: 10px;
  font-weight: 650;
  padding: 16px;
}

.content-feature-grid i {
  color: #0096bd;
  font-size: 0.82rem;
}

@media (max-width: 1199.98px) {
  .tour-search-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-search-btn {
    grid-column: 1 / -1;
    min-height: 52px;
  }

  .tour-search-field:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 991.98px) {
  .seo-side-card {
    position: static;
  }

  .tour-list-hero {
    min-height: 300px;
    padding-bottom: 44px;
  }

  .tour-list-hero .gg-bc__content {
    transform: translateY(0);
  }

  .tour-list-search {
    margin-top: -52px;
  }

  .tour-listing-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .gg-bc__text--single {
    white-space: normal;
  }

  .tour-search-panel {
    border-radius: 18px;
    grid-template-columns: 1fr;
    padding: 16px;
    min-height: auto;
  }

  .tour-search-field {
    border-left: 0 !important;
    border-bottom: 1px solid #e4eef2;
    padding: 14px 4px;
  }

  .tour-search-field:last-of-type {
    border-bottom: 0;
  }

  .tour-guest-menu {
    left: 0;
    right: auto;
    min-width: min(300px, calc(100vw - 48px));
    padding: 16px;
  }

  .tour-guest-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .tour-listing-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .tour-sort-select,
  .tour-filter-toggle {
    width: 100%;
  }
}

/* =========================
   Tour Detail Page
========================= */

.tour-detail-page {
  background: #ffffff;
}

.tour-detail-hero {
  background: #ffffff;
  border-top: 1px solid #e8eef2;
  padding: 26px 0 22px;
}

.tour-booking-selector {
  align-items: stretch;
  background: #08283a;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(6, 79, 99, 0.16);
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr 1.25fr auto;
  margin-bottom: 24px;
  padding: 10px;
  position: relative;
  z-index: 12;
}

.tour-booking-select-field {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  min-width: 0;
  padding: 10px 12px;
}

.tour-booking-select-field label {
  color: #74cae2;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.tour-booking-select-field select,
.tour-booking-select-field input,
.tour-room-trigger {
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  outline: 0;
  padding: 0;
  width: 100%;
}

.tour-booking-select-field select option {
  color: #101820;
}

.tour-booking-select-field input::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

.tour-room-field {
  position: relative;
}

.tour-room-trigger {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  text-align: left;
}

.tour-room-menu {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(7, 19, 28, 0.2);
  color: #101820;
  display: none;
  left: 0;
  min-width: 480px;
  overflow: hidden;
  position: absolute;
  top: calc(100% + 10px);
  z-index: 40;
}

.tour-room-menu.show {
  display: block;
}

.tour-room-limit {
  background: linear-gradient(90deg, #e8f8fd 0%, #fff7e8 100%);
  border-bottom: 1px solid #e4eef3;
  color: #0b5a70;
  font-size: 14px;
  padding: 13px 18px;
  text-align: left;
}

.tour-room-list {
  max-height: 420px;
  overflow-y: auto;
  padding: 16px 18px 6px;
}

.tour-room-item {
  background: #fbfdfe;
  border: 1px solid #edf2f5;
  border-radius: 14px;
  margin-bottom: 16px;
  padding: 16px;
}

.tour-room-title {
  color: #7b858c;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: space-between;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.tour-remove-room {
  background: transparent;
  border: 0;
  color: #d93b32;
  font-size: 12px;
  font-weight: 700;
}

.tour-room-counters {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tour-room-counter label {
  color: #4b4f54;
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}

.tour-room-counter small {
  color: #8a949b;
  font-weight: 400;
}

.tour-room-stepper {
  align-items: center;
  background: #f7fbfc;
  border: 1px solid #e1e9ee;
  border-radius: 999px;
  box-shadow: none;
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  max-width: 150px;
  min-height: 42px;
}

.tour-room-stepper button {
  background: #ffffff;
  border: 0;
  border-radius: 999px;
  color: #4b4f54;
  font-size: 22px;
  height: 34px;
  line-height: 1;
  margin: 4px;
}

.tour-room-stepper button:disabled {
  color: #c6cfd5;
  cursor: not-allowed;
}

.tour-room-stepper span {
  color: #3b3f43;
  font-size: 1.35rem;
  text-align: center;
}

.tour-child-ages {
  margin-top: 16px;
}

.tour-child-ages-title {
  color: #4b4f54;
  font-weight: 600;
  margin-bottom: 8px;
}

.tour-child-age-row {
  margin-bottom: 10px;
}

.tour-child-age-row label {
  color: #53626c;
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}

.tour-child-age-options {
  background: #ffffff;
  border: 1px solid #e1e9ee;
  border-radius: 999px;
  box-shadow: none;
  display: flex;
  overflow: hidden;
  padding: 3px;
}

.tour-child-age-options button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #4b4f54;
  flex: 1;
  font-size: 13px;
  min-height: 36px;
}

.tour-child-age-options button.active {
  background: #dff5fb;
  color: var(--gogeo-blue-dark);
  font-weight: 700;
}

.tour-room-actions {
  align-items: center;
  border-top: 1px solid #edf2f5;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 18px;
}

.tour-add-room,
.tour-apply-room,
.tour-availability-btn {
  border-radius: 999px;
  font-weight: 700;
}

.tour-add-room {
  background: #ffffff;
  border: 1px solid var(--gogeo-blue);
  color: var(--gogeo-blue);
  padding: 9px 18px;
}

.tour-add-room:disabled {
  border-color: #cbd5db;
  color: #9aa5ab;
  cursor: not-allowed;
}

.tour-apply-room {
  background: var(--gogeo-blue);
  border: 0;
  color: #ffffff;
  padding: 10px 24px;
}

.tour-availability-btn {
  align-self: stretch;
  border: 0;
  min-width: 190px;
  padding: 0 24px;
}

.tour-availability-status {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(116, 202, 226, 0.38);
  border-radius: 999px;
  bottom: -16px;
  box-shadow: 0 12px 28px rgba(7, 19, 28, 0.12);
  color: var(--gogeo-blue-dark);
  font-size: 0.86rem;
  font-weight: 600;
  left: 18px;
  max-width: calc(100% - 36px);
  padding: 7px 13px;
  position: absolute;
}

.tour-availability-status.is-warning {
  border-color: rgba(255, 153, 0, 0.42);
  color: #8a5a00;
}

.tour-availability-status.is-error {
  border-color: rgba(255, 92, 77, 0.38);
  color: #b22d23;
}

.tour-detail-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.tour-detail-heading h1 {
  color: #07131c;
  font-size: clamp(1.65rem, 1.25rem + 0.9vw, 2.15rem);
  font-weight: 600;
  line-height: 1.12;
  margin: 0 0 12px;
}

.tour-detail-meta {
  align-items: center;
  color: #34414a;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.95rem;
}

.tour-detail-meta strong {
  font-weight: 600;
}

.tour-detail-meta i {
  background: #101820;
  border-radius: 999px;
  display: inline-block;
  height: 6px;
  width: 6px;
}

.tour-pill {
  border: 1px solid #cfdde3;
  border-radius: 999px;
  color: #34414a;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 11px;
}

.tour-pill-orange {
  background: #fff3e1;
  border-color: #ffd79b;
  color: #9b5700;
}

.tour-back-link {
  align-items: center;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  font-weight: 700;
  gap: 8px;
  white-space: nowrap;
}

.tour-gallery-grid {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: 1.55fr 0.95fr 0.95fr;
  grid-template-rows: repeat(2, minmax(0, 156px));
}

.tour-gallery-grid button {
  border: 0;
  padding: 0;
}

.tour-gallery-main,
.tour-gallery-tile {
  background: #0f1f29;
  border-radius: 8px;
  cursor: pointer;
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  text-align: left;
}

.tour-gallery-main {
  grid-column: 1;
  grid-row: 1 / 3;
}

.tour-gallery-tile-wide:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1;
}

.tour-gallery-tile-wide:nth-of-type(3) {
  grid-column: 2;
  grid-row: 2;
}

.tour-gallery-tile-tall {
  grid-column: 3;
  grid-row: 1 / 3;
}

.tour-gallery-main img,
.tour-gallery-tile img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  width: 100%;
}

.tour-gallery-main:hover img,
.tour-gallery-tile:hover img {
  transform: scale(1.04);
}

.tour-gallery-main::after,
.tour-gallery-tile::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.68) 100%);
  content: "";
  inset: 0;
  position: absolute;
}

.tour-gallery-main span,
.tour-gallery-tile span {
  align-items: center;
  background: rgba(0, 0, 0, 0.64);
  border-radius: 999px;
  bottom: 18px;
  color: #ffffff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  left: 18px;
  padding: 9px 15px;
  position: absolute;
  z-index: 2;
}

.tour-gallery-tile span {
  background: transparent;
  border-radius: 0;
  bottom: 14px;
  left: 14px;
  padding: 0;
}
.tour-detail-tabs {
  background: #ffffff;
  border-bottom: 1px solid #e1e9ee;
  border-top: 1px solid #e1e9ee;
  box-shadow: 0 10px 24px rgba(6, 79, 99, 0.08);
  position: sticky;
  top: var(--gg-header-h);
  z-index: 20;
}

.tour-detail-tabs .container {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.tour-detail-tabs .nav {
  gap: 18px;
}

.tour-detail-tabs .nav-link {
  border: 0;
  border-bottom: 4px solid transparent;
  border-radius: 0;
  color: #4b4f54;
  font-size: 15px;
  font-weight: 600;
  padding: 15px 18px 12px;
  text-transform: uppercase;
}

.tour-detail-tabs .nav-link.active {
  background: transparent;
  border-bottom-color: var(--gogeo-blue);
  color: var(--gogeo-blue);
}

.tour-share-btn {
  align-items: center;
  background: transparent;
  border: 0;
  color: #34414a;
  display: inline-flex;
  gap: 8px;
  font-weight: 600;
}

.tour-detail-content {
  background: #f5f8fa;
  padding: 28px 0 72px;
}

.tour-info-card,
.tour-price-card,
.tour-offer-card {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(6, 79, 99, 0.1);
}

.tour-info-card {
  margin-bottom: 22px;
  padding: 26px 28px;
}

.tour-info-card h2 {
  color: #101820;
  font-size: 1.18rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.tour-info-card p {
  color: #53626c;
  line-height: 1.65;
  margin-bottom: 0;
}

.tour-ticket-note {
  align-items: flex-start;
  background: #fff7e6;
  border: 1px solid #ffe1a8;
  border-radius: 14px;
  color: #6d4a00 !important;
  display: flex;
  gap: 10px;
  margin-top: 18px;
  padding: 12px 14px;
}

.tour-ticket-note i {
  color: #ff9800;
  margin-top: 4px;
}

.tour-transport-summary {
  align-items: flex-start;
  background: linear-gradient(135deg, #eefaff 0%, #ffffff 55%, #fff7e8 100%);
  border: 1px solid #d7edf6;
  border-radius: 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 58px minmax(0, 1fr);
  padding: 18px;
}

.tour-transport-icon {
  align-items: center;
  background: linear-gradient(135deg, #0c9fc6, #0d66c2);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(12, 159, 198, 0.2);
  color: #ffffff;
  display: inline-flex;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.tour-transport-summary span,
.tour-block-label {
  color: #008db4;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 7px;
  letter-spacing: 0.04em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.tour-transport-summary h3 {
  color: #101820;
  font-size: 1.12rem;
  font-weight: 650;
  margin: 0 0 5px;
}

.tour-transport-summary p {
  color: #34414a;
  font-weight: 500;
  margin-bottom: 6px;
}

.tour-transport-summary small {
  color: #6a7882;
  display: block;
  line-height: 1.55;
}

.tour-about-grid i {
  color: var(--gogeo-blue);
}

.tour-about-grid,
.tour-summary-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
}

.tour-about-grid span,
.tour-summary-grid span {
  background: #f7fbfc;
  border: 1px solid #e1edf2;
  border-radius: 999px;
  color: #34414a;
  font-weight: 600;
  padding: 12px 16px;
}

.tour-summary-grid span {
  border-radius: 14px;
}

.tour-summary-grid strong {
  color: var(--gogeo-blue-dark);
  display: block;
  margin-bottom: 4px;
}

.tour-day-accordion .accordion-item {
  border: 1px solid #e1edf2;
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}

.tour-day-accordion .accordion-button {
  background: #ffffff;
  box-shadow: none;
  color: #101820;
  gap: 14px;
  padding: 16px 18px;
}

.tour-day-accordion .accordion-button span {
  background: #ff6b4a;
  border-radius: 999px;
  color: #ffffff;
  font-weight: 700;
  padding: 8px 14px;
}

.tour-day-accordion .accordion-button strong {
  font-size: 1rem;
  font-weight: 600;
}

.tour-day-accordion .accordion-button small {
  color: #53626c;
  font-weight: 500;
}

.tour-day-accordion .accordion-body {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.tour-day-block {
  background: #ffffff;
  border: 1px solid #e0edf3;
  border-radius: 14px;
  display: grid;
  gap: 16px;
  grid-template-columns: 190px minmax(0, 1fr);
  padding: 14px;
}

.tour-hotel-block {
  background: #f4fbff;
}

.tour-day-block img {
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
}

.tour-day-accordion h4 {
  color: #101820;
  font-size: 1.02rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.tour-block-label i {
  margin-top: 1px;
}

.tour-data-alert {
  align-items: flex-start;
  background: #fff4e5;
  border: 1px solid #ffd79b;
  border-radius: 12px;
  color: #7a4f00;
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px 14px;
}

.tour-data-alert-soft {
  background: #f5fbff;
  border-color: #d8edf6;
  color: #46606d;
  margin-bottom: 0;
}

.tour-day-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.tour-day-tags span {
  background: #fff4d8;
  border-radius: 999px;
  color: #8a5a00;
  font-size: 12px;
  font-weight: 600;
  padding: 7px 11px;
}

.tour-policy-list {
  color: #53626c;
  line-height: 1.8;
  margin: 0;
}

.tour-booking-card {
  position: sticky;
  top: calc(var(--gg-header-h) + 84px);
}

.tour-price-card,
.tour-offer-card {
  padding: 24px;
}

.tour-price-card {
  margin-bottom: 20px;
}

.tour-discount {
  align-items: center;
  display: flex;
  gap: 8px;
}

.tour-discount span {
  color: #8d969d;
  font-size: 0.88rem;
  text-decoration: line-through;
}

.tour-discount strong {
  color: #ff3b30;
  font-size: 0.88rem;
  font-weight: 700;
}

.tour-price {
  align-items: baseline;
  display: flex;
  gap: 6px;
  margin-top: 4px;
}

.tour-price strong {
  color: #101820;
  font-size: 1.58rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.15;
}

.tour-price span {
  color: #53626c;
  font-size: 0.95rem;
}

.tour-price-card p {
  color: #687781;
  margin: 4px 0 18px;
}

.tour-book-note {
  align-items: flex-start;
  background: #fff8e4;
  border: 1px solid #ffe0a3;
  border-radius: 14px;
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  padding: 14px;
}

.tour-book-note i {
  align-items: center;
  background: #008875;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 28px;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.tour-book-note strong {
  color: #101820;
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 2px;
}

.tour-book-note span {
  color: #008875;
  display: block;
  font-size: 13px;
}

.tour-payment-btn,
.tour-enquiry-btn {
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: center;
  min-height: 52px;
  text-transform: uppercase;
  width: 100%;
}

.tour-enquiry-btn {
  background: #ffffff;
  border: 1px solid rgba(6, 145, 185, 0.28);
  color: var(--gogeo-blue-dark);
  margin-top: 12px;
}

.tour-enquiry-btn:hover {
  background: #e8f6fb;
  color: var(--gogeo-blue-dark);
}

.tour-offer-card h3 {
  color: #3b3f43;
  font-size: 1.22rem;
  font-weight: 600;
  margin-bottom: 18px;
}

.tour-coupon {
  align-items: flex-start;
  background: #f5f1ff;
  border-radius: 14px;
  display: flex;
  gap: 12px;
  padding: 14px;
}

.tour-coupon > span {
  background: #8e44ff;
  border-radius: 999px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
}

.tour-coupon strong {
  color: #101820;
  font-weight: 600;
}

.tour-coupon p {
  color: #687781;
  font-size: 13px;
  margin: 2px 0 0;
}

.tour-coupon-code {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}

.tour-coupon-code span {
  color: #687781;
  font-size: 13px;
}

.tour-coupon-code button {
  background: transparent;
  border: 0;
  color: var(--gogeo-blue);
  font-weight: 600;
}

.tour-gallery-modal .modal-content {
  border: 0;
  border-radius: 0;
}

.tour-gallery-modal .modal-header {
  align-items: flex-start;
  border-bottom: 0;
  padding: 32px 10vw 18px;
}

.tour-gallery-modal .modal-title {
  color: #07131c;
  font-size: clamp(1.55rem, 1.25rem + 0.8vw, 2.1rem);
  font-weight: 600;
}

.tour-gallery-modal .modal-header p {
  color: #687781;
  margin: 6px 0 0;
}

.tour-gallery-modal .btn-close {
  font-size: 1.3rem;
}

.tour-gallery-modal .modal-body {
  padding: 0 10vw 60px;
}

.tour-gallery-tabs {
  border-bottom: 1px solid #d6e0e6;
  gap: 10px;
  margin-bottom: 26px;
  padding-bottom: 22px;
}

.tour-gallery-tabs .nav-link {
  align-items: center;
  border: 1px solid #cfdde3;
  border-radius: 12px;
  color: #101820;
  display: flex;
  flex-direction: column;
  font-weight: 600;
  min-width: 176px;
  padding: 10px 14px;
}

.tour-gallery-tabs .nav-link.active {
  background: #eef8ff;
  border-color: var(--gogeo-blue);
  color: #101820;
}

.tour-gallery-tabs span {
  color: #53626c;
  font-weight: 500;
}

.tour-gallery-filter {
  border-bottom: 1px solid #d6e0e6;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
  padding-bottom: 24px;
}

.tour-gallery-filter .nav-link {
  background: #ffffff;
  border: 1px solid #cfdde3;
  border-radius: 999px;
  color: #34414a;
  font-weight: 600;
  padding: 9px 22px;
}

.tour-gallery-filter .nav-link.active {
  background: #eaf7ff;
  border-color: var(--gogeo-blue);
  color: var(--gogeo-blue);
}

.tour-gallery-tab-content h3 {
  color: #07131c;
  font-size: 1.28rem;
  font-weight: 600;
  margin-bottom: 22px;
}

.tour-modal-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 2fr 1fr 1fr;
}

.tour-modal-grid img {
  aspect-ratio: 4 / 3;
  border-radius: 4px;
  object-fit: cover;
  width: 100%;
}

.tour-modal-grid .is-large {
  grid-row: span 2;
  aspect-ratio: auto;
  height: 100%;
}

/* =========================
   Booking Review Page
========================= */

.booking-review-page {
  background: #f4f8fa;
}

.booking-review-hero {
  background: #08283a;
  color: #ffffff;
  overflow: hidden;
  padding: 34px 0 92px;
  position: relative;
}

.booking-review-hero-bg {
  background-image: url("../images/banner/banner-main.webp");
  background-position: center;
  background-size: cover;
  inset: 0;
  position: absolute;
  transform: scale(1.02);
}

.booking-review-hero-overlay {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.48) 52%, rgba(0, 0, 0, 0.34) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.44) 100%);
  inset: 0;
  position: absolute;
}

.booking-review-hero .container {
  position: relative;
  z-index: 2;
}

.booking-review-top {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.booking-review-label {
  color: #73c9e2;
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.booking-review-top h1 {
  font-size: clamp(1.85rem, 1.35rem + 1vw, 2.55rem);
  font-weight: 650;
  line-height: 1.12;
  margin: 0 0 10px;
}

.booking-review-route {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.booking-review-route span {
  color: #d9edf3;
  font-weight: 600;
}

.booking-review-route i {
  background: #73c9e2;
  border-radius: 999px;
  height: 5px;
  width: 5px;
}

.booking-back-link {
  align-items: center;
  color: #ffffff;
  display: inline-flex;
  font-weight: 700;
  gap: 8px;
  white-space: nowrap;
}

.booking-review-content {
  margin-top: -48px;
  padding-bottom: 72px;
}

.booking-progress-rail {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dcecf1;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(6, 79, 99, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 6px;
  position: sticky;
  top: calc(var(--gg-header-h) + 24px);
  width: 58px;
}

.booking-progress-rail a {
  align-items: center;
  border-radius: 999px;
  color: #65737c;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 54px;
  padding: 6px 4px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  width: 46px;
}

.booking-progress-rail a::after {
  background: #dcecf1;
  content: "";
  display: block;
  height: 12px;
  margin-top: 4px;
  width: 1px;
}

.booking-progress-rail a:last-child::after {
  display: none;
}

.booking-progress-rail span {
  align-items: center;
  background: #eef6f9;
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.booking-progress-rail small {
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

.booking-progress-rail a:hover,
.booking-progress-rail a:focus,
.booking-progress-rail a.active {
  background: #e7f8fd;
  color: var(--gogeo-blue-dark);
}

.booking-progress-rail a.active span {
  background: var(--gogeo-blue);
  color: #ffffff;
}

.booking-panel,
.booking-price-card,
.booking-coupon-card {
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(6, 79, 99, 0.08);
}

.booking-panel {
  margin-bottom: 18px;
  padding: 24px 26px;
  scroll-margin-top: calc(var(--gg-header-h) + 24px);
}

.booking-summary-panel {
  padding: 0;
  overflow: hidden;
  position: relative;
}

.booking-summary-panel::before {
  background: linear-gradient(180deg, var(--gogeo-blue) 0%, #59c5e4 100%);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 5px;
}

.booking-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.booking-summary-grid div {
  border-right: 1px solid #e3eef3;
  padding: 18px 20px;
}

.booking-summary-grid div:last-child {
  border-right: 0;
}

.booking-summary-grid small {
  color: #687781;
  display: block;
  font-size: 0.78rem;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.booking-summary-grid strong {
  color: #101820;
  font-weight: 600;
}

.booking-panel-head {
  align-items: center;
  border-bottom: 1px solid #e5eef3;
  display: flex;
  justify-content: space-between;
  margin: -2px 0 20px;
  padding-bottom: 16px;
}

.booking-panel-head > div {
  align-items: center;
  display: flex;
  gap: 12px;
}

.booking-panel-head span {
  align-items: center;
  background: linear-gradient(135deg, #dff5fb 0%, #fff0d2 100%);
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.booking-panel-head h2 {
  color: #101820;
  font-size: 1.18rem;
  font-weight: 600;
  margin: 0;
}

.booking-panel-head button {
  background: transparent;
  border: 0;
  color: var(--gogeo-blue);
  font-weight: 700;
}

.booking-panel-head small {
  color: #687781;
}

.booking-traveller-card {
  align-items: flex-start;
  border-bottom: 1px dashed #d6e3e9;
  display: grid;
  gap: 18px;
  grid-template-columns: 42px 1fr;
  padding: 18px 0;
}

.booking-traveller-card:first-child {
  padding-top: 0;
}

.booking-traveller-card:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.booking-traveller-avatar,
.booking-addon-icon {
  align-items: center;
  background: #dff5fb;
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.booking-traveller-title {
  align-items: baseline;
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}

.booking-traveller-title strong {
  color: #101820;
  font-weight: 600;
}

.booking-traveller-title small {
  color: #7d8a92;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.booking-review-page .form-label {
  color: #4b5962;
  font-size: 0.88rem;
  font-weight: 600;
}

.booking-review-page .form-control,
.booking-review-page .form-select {
  border-color: #d6e4eb;
  border-radius: 8px;
  min-height: 48px;
}

.booking-review-page textarea.form-control {
  min-height: 98px;
}

.booking-review-page .form-control:focus,
.booking-review-page .form-select:focus {
  border-color: var(--gogeo-blue);
  box-shadow: 0 0 0 0.2rem rgba(6, 145, 185, 0.12);
}

.booking-addon-card {
  align-items: flex-start;
  background: linear-gradient(135deg, #fbfdfe 0%, #ffffff 56%, #fffaf0 100%);
  border: 1px solid #e4eef3;
  border-radius: 14px;
  display: grid;
  gap: 16px;
  grid-template-columns: 46px 1fr auto;
  margin-bottom: 14px;
  padding: 18px;
}

.booking-addon-card:last-child {
  margin-bottom: 0;
}

.booking-addon-icon-orange {
  background: #fff0d2;
  color: #bc6900;
}

.booking-addon-card h3 {
  color: #101820;
  font-size: 1.04rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.booking-addon-card p {
  color: #5c6b74;
  margin-bottom: 10px;
}

.booking-addon-card ul {
  color: #5c6b74;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.booking-addon-card li {
  background: #ffffff;
  border: 1px solid #e1e9ee;
  border-radius: 999px;
  font-size: 0.8rem;
  padding: 6px 10px;
}

.booking-addon-action {
  text-align: right;
}

.booking-addon-action strong,
.booking-addon-action small {
  display: block;
}

.booking-addon-action strong {
  color: #101820;
  font-weight: 700;
}

.booking-addon-action small {
  color: #687781;
  margin-bottom: 10px;
}

.booking-addon-action button {
  background: #ffffff;
  border: 1px solid var(--gogeo-blue);
  border-radius: 999px;
  color: var(--gogeo-blue);
  font-weight: 700;
  padding: 8px 18px;
}

.booking-review-accordion .accordion-item {
  border: 1px solid #e1e9ee;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}

.booking-review-accordion .accordion-item:last-child {
  margin-bottom: 0;
}

.booking-review-accordion .accordion-button {
  box-shadow: none;
  color: #101820;
  font-weight: 600;
}

.booking-price-sidebar {
  position: sticky;
  top: calc(var(--gg-header-h) + 24px);
}

.booking-price-card,
.booking-coupon-card {
  padding: 20px;
  scroll-margin-top: calc(var(--gg-header-h) + 24px);
}

.booking-price-card {
  margin-bottom: 18px;
}

.booking-alert {
  background: #fff0d2;
  border-radius: 12px;
  color: #815100;
  margin: -4px -4px 18px;
  padding: 14px;
}

.booking-alert strong,
.booking-alert span {
  display: block;
}

.booking-alert strong {
  font-weight: 700;
}

.booking-alert span {
  font-size: 0.85rem;
}

.booking-session-box,
.booking-session-expired {
  border: 1px solid #d8ecf3;
  border-radius: 16px;
  margin-bottom: 18px;
  padding: 14px;
}

.booking-session-box {
  align-items: center;
  background: #f6fcfe;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.booking-session-box span,
.booking-session-expired span {
  color: #61707a;
  display: block;
  font-size: 0.86rem;
}

.booking-session-box strong {
  color: #004e63;
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.15;
}

.booking-session-box button {
  background: #ffffff;
  border: 1px solid #bde7f4;
  border-radius: 999px;
  color: #004e63;
  font-size: 0.86rem;
  font-weight: 700;
  min-height: 38px;
  padding: 0 14px;
  white-space: nowrap;
}

.booking-session-expired {
  background: #fff3d7;
  border-color: #ffd99a;
  color: #815100;
}

.booking-session-expired strong {
  display: block;
  font-weight: 700;
}

.booking-payment-btn.is-disabled {
  opacity: 0.58;
  pointer-events: none;
}

.booking-total {
  border-bottom: 1px solid #e1e9ee;
  padding-bottom: 16px;
}

.booking-total small,
.booking-total span {
  color: #687781;
  display: block;
}

.booking-total strong {
  color: #101820;
  display: block;
  font-size: 2rem;
  font-weight: 650;
  line-height: 1.15;
  margin: 4px 0;
}

.booking-payment-options {
  border-bottom: 1px solid #e1e9ee;
  padding: 16px 0;
}

.booking-payment-options label,
.booking-terms label {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  margin: 0;
}

.booking-payment-options label + label {
  margin-top: 14px;
}

.booking-payment-options input,
.booking-terms input {
  accent-color: var(--gogeo-blue);
  margin-top: 4px;
}

.booking-payment-options label span {
  color: var(--gogeo-blue);
  font-weight: 700;
}

.booking-installments {
  border-left: 2px solid #cdebf4;
  margin: 12px 0 14px 7px;
  padding-left: 16px;
}

.booking-installments div,
.booking-breakup div {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 9px;
}

.booking-installments span,
.booking-breakup span {
  color: #53626c;
}

.booking-installments strong,
.booking-breakup strong {
  color: #101820;
  font-weight: 650;
}

.booking-breakup {
  border-bottom: 1px solid #e1e9ee;
  padding: 16px 0 8px;
}

.booking-breakup h3,
.booking-coupon-card h3 {
  color: #101820;
  font-size: 1.08rem;
  font-weight: 600;
  margin-bottom: 14px;
}

.booking-terms {
  padding: 16px 0;
}

.booking-terms span {
  color: #53626c;
  font-size: 0.88rem;
}

.booking-payment-btn {
  border: 0;
  min-height: 52px;
  width: 100%;
}

.booking-coupon-row {
  align-items: center;
  border: 1px solid #e1e9ee;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 14px;
}

.booking-coupon-row:last-child {
  margin-bottom: 0;
}

.booking-coupon-row.active {
  background: #eaf7ff;
  border-color: #bfe5f1;
}

.booking-coupon-row strong,
.booking-coupon-row span {
  display: block;
}

.booking-coupon-row strong {
  color: #101820;
  font-weight: 700;
}

.booking-coupon-row span {
  color: #687781;
  font-size: 0.84rem;
}

.booking-coupon-row b {
  color: var(--gogeo-blue-dark);
}

.booking-coupon-row button {
  background: transparent;
  border: 0;
  color: var(--gogeo-blue);
  font-weight: 700;
}

/* =========================
   Booking Status Page
========================= */

.booking-status-page {
  background: #f4f8fa;
}

.booking-status-hero {
  color: #ffffff;
  overflow: hidden;
  padding: 72px 0 118px;
  position: relative;
}

.booking-status-bg {
  background-image: url("../images/banner/banner-main.webp");
  background-position: center;
  background-size: cover;
  inset: 0;
  position: absolute;
  transform: scale(1.02);
}

.booking-status-overlay {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.64) 0%, rgba(0, 0, 0, 0.48) 55%, rgba(0, 0, 0, 0.34) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.48) 100%);
  inset: 0;
  position: absolute;
}

.booking-status-hero .container {
  position: relative;
  z-index: 2;
}

.booking-status-hero-content {
  max-width: 720px;
}

.booking-status-hero h1 {
  font-size: clamp(2rem, 1.35rem + 1.6vw, 3.2rem);
  font-weight: 650;
  line-height: 1.08;
  margin: 0 0 14px;
}

.booking-status-hero p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.08rem;
  line-height: 1.65;
  margin: 0;
}

.booking-status-content {
  margin-top: -34px;
  padding-bottom: 76px;
  position: relative;
  z-index: 3;
}

.booking-status-main-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dcecf1;
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(6, 79, 99, 0.1);
  display: grid;
  gap: 20px;
  grid-template-columns: 76px 1fr;
  margin-bottom: 18px;
  padding: 26px;
}

.booking-status-icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1.8rem;
  height: 76px;
  justify-content: center;
  width: 76px;
}

.booking-status-success .booking-status-icon {
  background: #dff8e9;
  color: #087a3d;
}

.booking-status-failed .booking-status-icon {
  background: #ffe7e3;
  color: #c43d2e;
}

.booking-status-pending .booking-status-icon {
  background: #fff0d2;
  color: #ad6700;
}

.booking-status-ref {
  color: #687781;
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.booking-status-main-card h2 {
  color: #101820;
  font-size: 2rem;
  font-weight: 650;
  margin: 0 0 4px;
}

.booking-status-main-card p {
  color: #53626c;
  margin: 0;
}

.booking-status-summary {
  overflow: hidden;
  padding: 0;
}

.booking-status-summary .booking-panel-head {
  margin: 0;
  padding: 20px 24px;
}

.booking-doc-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-doc-card {
  background: linear-gradient(135deg, #fbfdfe 0%, #ffffff 58%, #fffaf0 100%);
  border: 1px solid #e1e9ee;
  border-radius: 16px;
  color: #101820;
  padding: 18px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.booking-doc-card:hover,
.booking-doc-card:focus {
  box-shadow: 0 14px 28px rgba(6, 79, 99, 0.12);
  color: #101820;
  transform: translateY(-2px);
}

.booking-doc-card i {
  align-items: center;
  background: #dff5fb;
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  margin-bottom: 14px;
  width: 42px;
}

.booking-doc-card strong,
.booking-doc-card span {
  display: block;
}

.booking-doc-card strong {
  font-weight: 650;
  margin-bottom: 4px;
}

.booking-doc-card span {
  color: var(--gogeo-blue);
  font-size: 0.88rem;
  font-weight: 700;
}

.booking-next-steps {
  display: grid;
  gap: 12px;
}

.booking-next-steps div {
  align-items: center;
  background: #fbfdfe;
  border: 1px solid #e4eef3;
  border-radius: 999px;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px 1fr;
  padding: 10px 14px;
}

.booking-next-steps b {
  align-items: center;
  background: #e7f8fd;
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  font-size: 0.86rem;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.booking-next-steps span {
  color: #53626c;
}

.booking-status-sidebar {
  position: sticky;
  top: calc(var(--gg-header-h) + 28px);
}

.booking-status-sidebar .booking-price-card {
  border-radius: 16px;
  padding: 26px;
}

.booking-status-sidebar .booking-total {
  padding-bottom: 20px;
}

.booking-status-sidebar .booking-total small {
  font-size: 0.86rem;
  letter-spacing: 0;
  text-transform: none;
}

.booking-status-sidebar .booking-total strong {
  font-size: clamp(1.55rem, 1.25rem + 0.9vw, 2.05rem);
  letter-spacing: 0;
  margin: 8px 0 6px;
}

.booking-status-sidebar .booking-total span {
  font-size: 0.98rem;
}

.booking-status-actions {
  display: grid;
  gap: 14px;
  padding-top: 22px;
}

.booking-status-actions .section-action-btn,
.booking-status-actions .booking-outline-btn {
  align-items: center;
  display: flex;
  justify-content: center;
  line-height: 1.2;
  min-height: 54px;
  padding-left: 18px;
  padding-right: 18px;
  text-align: center;
}

/* ===== Global Enquiry Modal ===== */
.gogeo-enquiry-modal .modal-dialog {
  max-width: 980px;
}

.gogeo-enquiry-modal .modal-content {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(7, 19, 28, 0.34);
  overflow: hidden;
  position: relative;
}

.gogeo-enquiry-modal .enquiry-close {
  background-color: #ffffff;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(7, 19, 28, 0.18);
  opacity: 1;
  padding: 12px;
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 5;
}

.enquiry-visual {
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

.enquiry-visual img {
  display: block;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  width: 100%;
}

.enquiry-visual-overlay {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.74)),
    radial-gradient(circle at 18% 22%, rgba(246, 182, 66, 0.24), transparent 34%);
  inset: 0;
  position: absolute;
}

.enquiry-visual-content {
  bottom: 36px;
  color: #ffffff;
  left: 34px;
  position: absolute;
  right: 34px;
  z-index: 2;
}

.enquiry-visual-content span,
.enquiry-kicker {
  color: #ffbf49;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
  text-transform: none;
}

.enquiry-kicker {
  background: transparent;
  color: var(--gogeo-blue);
  padding: 0;
}

.enquiry-visual-content h2 {
  font-size: clamp(1.8rem, 1.25rem + 1.25vw, 2.6rem);
  font-weight: 500;
  line-height: 1.12;
  margin-bottom: 22px;
  max-width: 12ch;
}

.enquiry-visual-content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.enquiry-visual-content li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.98rem;
  line-height: 1.45;
  padding: 13px 0;
}

.enquiry-visual-content li::before {
  color: #ffbf49;
  content: "\f058";
  font-family: "Font Awesome 7 Free", "Font Awesome 5 Free";
  font-size: 0.85rem;
  font-weight: 900;
  margin-right: 9px;
}

.enquiry-form-panel {
  background: #ffffff;
  min-height: 560px;
  padding: 54px 46px 38px;
}

.enquiry-form-panel h3 {
  color: #101820;
  font-size: clamp(1.7rem, 1.25rem + 1vw, 2.35rem);
  font-weight: 500;
  line-height: 1.15;
  margin-bottom: 10px;
}

.enquiry-form-panel p {
  color: #61707a;
  font-size: 1rem;
  line-height: 1.55;
  margin-bottom: 26px;
  max-width: 520px;
}

.enquiry-form-panel .form-label {
  color: #34414a;
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 7px;
}

.enquiry-form-panel .form-control {
  border: 1px solid #d8e8ef;
  border-radius: 12px;
  min-height: 52px;
  padding: 0.75rem 0.95rem;
}

.enquiry-form-panel .form-control:focus {
  border-color: var(--gogeo-blue);
  box-shadow: 0 0 0 0.18rem rgba(6, 145, 185, 0.14);
}

.enquiry-privacy {
  align-items: flex-start;
  color: #61707a;
  display: flex;
  font-size: 0.88rem;
  gap: 10px;
  line-height: 1.45;
  margin: 22px 0 20px;
}

.enquiry-privacy input {
  accent-color: var(--gogeo-blue);
  margin-top: 3px;
}

.enquiry-privacy a {
  color: var(--gogeo-blue);
  font-weight: 700;
}

.enquiry-submit {
  border-radius: 999px;
  min-height: 54px;
  width: 100%;
}

.enquiry-response {
  border-radius: 12px;
  font-size: 0.92rem;
  font-weight: 700;
  margin-top: 14px;
  padding: 11px 13px;
}

.enquiry-response.is-success {
  background: #e8f8ef;
  color: #047047;
}

.enquiry-response.is-error {
  background: #fff0ed;
  color: #b22d23;
}

@media (max-width: 991.98px) {
  .gogeo-enquiry-modal .modal-dialog {
    margin: 18px;
  }

  .enquiry-visual img {
    min-height: 260px;
  }

  .enquiry-visual-content {
    bottom: 22px;
    left: 24px;
    right: 56px;
  }

  .enquiry-visual-content ul {
    display: none;
  }

  .enquiry-form-panel {
    min-height: auto;
    padding: 30px 24px 24px;
  }
}

.booking-outline-btn {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(6, 145, 185, 0.28);
  border-radius: 999px;
  color: var(--gogeo-blue-dark);
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 50px;
}

.booking-outline-btn:hover,
.booking-outline-btn:focus {
  background: #e8f6fb;
  color: var(--gogeo-blue-dark);
}

.booking-help-card p {
  color: #53626c;
  margin-bottom: 14px;
}

.booking-help-card a {
  align-items: center;
  color: var(--gogeo-blue-dark);
  display: flex;
  font-weight: 700;
  gap: 10px;
  margin-top: 10px;
  text-decoration: none;
}

.booking-help-card i {
  align-items: center;
  background: #e7f8fd;
  border-radius: 999px;
  color: var(--gogeo-blue);
  display: inline-flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.booking-status-failed .booking-price-card {
  border-color: #ffd6cf;
}

.booking-status-pending .booking-price-card {
  border-color: #ffe0a3;
}

@media (max-width: 1199.98px) {
  .booking-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-summary-grid div:nth-child(2) {
    border-right: 0;
  }

  .booking-summary-grid div:nth-child(-n + 2) {
    border-bottom: 1px solid #e3eef3;
  }

  .tour-booking-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-availability-btn {
    min-height: 54px;
  }

  .tour-gallery-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
  }
}

@media (max-width: 991.98px) {
  .booking-status-sidebar {
    position: static;
  }

  .booking-status-hero {
    padding: 52px 0 96px;
  }

  .booking-review-hero {
    padding-bottom: 64px;
  }

  .booking-review-top {
    flex-direction: column;
  }

  .booking-price-sidebar {
    position: static;
  }

  .tour-detail-tabs {
    top: var(--gg-header-h-sm);
  }

  .tour-detail-tabs .container,
  .tour-detail-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .tour-booking-selector {
    grid-template-columns: 1fr;
  }

  .tour-room-menu {
    left: 0;
    min-width: min(480px, calc(100vw - 48px));
    right: auto;
  }

  .tour-gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .tour-gallery-main,
  .tour-gallery-tile-wide,
  .tour-gallery-tile-tall {
    grid-column: auto;
    grid-row: auto;
  }

  .tour-gallery-tile-wide:nth-of-type(2),
  .tour-gallery-tile-wide:nth-of-type(3),
  .tour-gallery-tile-tall {
    grid-column: auto;
    grid-row: auto;
  }

  .tour-gallery-main {
    grid-column: 1 / -1;
    min-height: 320px;
  }

  .tour-gallery-tile {
    min-height: 220px;
  }

  .tour-booking-card {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .cookie-consent {
    align-items: stretch;
    border-radius: 16px;
    bottom: 12px;
    flex-direction: column;
    gap: 12px;
    max-width: calc(100vw - 24px);
    padding: 14px;
  }

  .cookie-consent__content p {
    font-size: 0.84rem;
  }

  .cookie-consent__actions,
  .cookie-modal__actions {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .cookie-consent__primary,
  .cookie-consent__ghost {
    width: 100%;
  }

  .cookie-consent__link {
    grid-column: 1 / -1;
    min-height: 30px;
    width: 100%;
  }

  .cookie-modal__panel {
    border-radius: 18px;
    padding: 20px;
  }

  .cookie-option {
    align-items: flex-start;
    flex-direction: column;
  }

  .booking-session-box {
    align-items: stretch;
    flex-direction: column;
  }

  .booking-session-box button {
    width: 100%;
  }

  .seo-content-section {
    padding: 48px 0 62px;
  }

  .seo-copy-card,
  .seo-side-card {
    border-radius: 18px;
    padding: 22px;
  }

  .seo-copy-card h2,
  .seo-side-card h2 {
    font-size: 1.35rem;
  }

  .seo-place-grid {
    grid-template-columns: 1fr;
  }

  .seo-season-grid {
    grid-template-columns: 1fr;
  }

  .booking-status-content {
    margin-top: -26px;
  }

  .booking-status-main-card,
  .booking-doc-grid {
    grid-template-columns: 1fr;
  }

  .booking-status-main-card {
    padding: 22px;
  }

  .booking-status-main-card h2 {
    font-size: 1.55rem;
  }

  .booking-next-steps div {
    align-items: flex-start;
    border-radius: 16px;
  }

  .booking-review-content {
    margin-top: -36px;
  }

  .booking-panel,
  .booking-price-card,
  .booking-coupon-card {
    border-radius: 10px;
  }

  .booking-panel {
    padding: 20px;
  }

  .booking-summary-grid,
  .booking-traveller-card,
  .booking-addon-card {
    grid-template-columns: 1fr;
  }

  .booking-summary-grid div {
    border-bottom: 1px solid #e3eef3;
    border-right: 0;
  }

  .booking-summary-grid div:last-child {
    border-bottom: 0;
  }

  .booking-panel-head,
  .booking-traveller-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .booking-addon-action {
    text-align: left;
  }

  .tour-detail-hero {
    padding-top: 24px;
  }

  .tour-gallery-grid,
  .tour-about-grid,
  .tour-summary-grid,
  .tour-day-accordion .accordion-body,
  .tour-day-block,
  .tour-transport-summary,
  .tour-modal-grid {
    grid-template-columns: 1fr;
  }

  .tour-detail-tabs .nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
  }

  .tour-detail-tabs .nav-link {
    white-space: nowrap;
  }

  .tour-info-card {
    padding: 22px;
  }

  .tour-room-counters {
    grid-template-columns: 1fr;
  }

  .tour-room-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tour-add-room,
  .tour-apply-room {
    width: 100%;
  }

  .tour-gallery-main,
  .tour-gallery-tile {
    min-height: 210px;
  }

  .tour-gallery-modal .modal-header,
  .tour-gallery-modal .modal-body {
    padding-left: 20px;
    padding-right: 20px;
  }

  .tour-gallery-tabs .nav-link {
    min-width: 160px;
  }
}

/* ===== Final Home Header + Hero Overrides ===== */
.gg-header {
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
}
.gg-header-top {
  min-height: 82px;
}
.gg-header-bottom {
  justify-content: center;
  min-height: 72px;
  padding: 10px 0 12px;
}
.gg-navbar {
  flex: 0 1 auto;
}
.gg-navbar .navbar-nav {
  gap: clamp(16px, 2.3vw, 34px);
}
.gg-header .nav-link {
  font-size: 15px;
  font-weight: 650;
  padding: 16px 4px;
  position: relative;
}
.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  color: #0d66c2;
}
.gg-header .nav-link.active::after {
  background: #0d66c2;
  border-radius: 999px;
  bottom: 5px;
  content: "";
  height: 3px;
  left: 4px;
  position: absolute;
  right: 4px;
}
.gg-lang-btn {
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  font-weight: 650;
  min-height: 42px;
}
.gg-lang-btn::after {
  color: #111820;
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-size: 10px;
  font-weight: 900;
  margin-left: 2px;
}
.gg-signup-btn,
.btn-search {
  background: linear-gradient(135deg, #0c9fc6 0%, #0d66c2 100%);
  box-shadow: 0 14px 30px rgba(6, 94, 168, 0.2);
}
.gg-signup-btn:hover,
.gg-signup-btn:focus,
.btn-search:hover,
.btn-search:focus {
  background: linear-gradient(135deg, #087fa2 0%, #0955ad 100%);
}
.gg-icon-btn {
  background: #fff;
  border: 1px solid #e7eef4;
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  flex: 0 0 44px;
  height: 44px;
  min-width: 44px;
}
.gg-header-search {
  display: none;
}
.gg-home-hero {
  min-height: 650px;
}
.gg-home-hero .gg-hero-bg {
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 183, 77, 0.24), transparent 24%),
    linear-gradient(90deg, rgba(3, 24, 42, 0.88), rgba(3, 28, 48, 0.58) 48%, rgba(3, 27, 44, 0.22)),
    linear-gradient(0deg, rgba(3, 24, 42, 0.3), rgba(3, 24, 42, 0.04)),
    url("../images/slider/slide-1.jpg") center / cover no-repeat;
}
.gg-home-hero .container {
  min-height: 650px;
}
.gg-home-hero .gg-hero-content {
  max-width: 760px;
  padding-top: 82px;
}
.gg-home-hero .gg-hero-kicker {
  color: #ffc247;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 12px;
  text-transform: none;
}
.gg-home-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.1rem, 5.4vw, 6rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
  margin-bottom: 22px;
  max-width: 720px;
  white-space: normal;
}
.gg-home-hero h1 span {
  color: #ffc247;
  display: inline-block;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.82em;
  font-weight: 600;
  line-height: 1;
}
.gg-home-hero p {
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(1rem, 1.2vw, 1.22rem);
  line-height: 1.55;
  max-width: 610px;
  white-space: normal;
}
.gg-hero-proof {
  align-items: center;
  display: inline-flex;
  gap: 14px;
  margin-top: 34px;
  padding: 0;
}
.gg-proof-avatars {
  display: flex;
}
.gg-proof-avatars img {
  border: 2px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  height: 38px;
  margin-left: -8px;
  object-fit: cover;
  width: 38px;
}
.gg-proof-avatars img:first-child {
  margin-left: 0;
}
.gg-proof-copy {
  color: #fff;
  display: grid;
  gap: 3px;
}
.gg-proof-copy strong {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.15;
}
.gg-proof-copy span {
  align-items: center;
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 2px;
  line-height: 1.25;
}
.gg-proof-copy i {
  color: #ffc247;
  font-size: 11px;
}
.gogeo-search {
  margin-top: -94px;
  padding-bottom: 0;
}
.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 94px, #fff 94px 100%);
}
.gg-home-search-card {
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(6, 55, 86, 0.2);
  padding: 24px;
}
.gg-home-search-card::before {
  background: linear-gradient(90deg, #0c9fc6, #ffc247, #7c58d6);
  border-radius: 999px;
  content: "";
  height: 4px;
  left: 26px;
  position: absolute;
  right: 26px;
  top: 0;
}
.gg-home-search-card .search-card-heading {
  margin-bottom: 22px;
}
.gg-home-search-card .search-card-heading span {
  color: #102434;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 700;
}
.gg-home-search-card .search-card-heading small {
  color: #52616b;
  font-size: 14px;
}
.gg-home-search-card .search-card-heading small strong {
  color: #0d66c2;
  font-weight: 750;
}
.gg-search-field {
  background: #fff;
  border: 1px solid #dfeaf0;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  display: grid;
  min-height: 74px;
  padding: 15px 14px 13px 66px;
  position: relative;
}
.gg-search-icon {
  align-items: center;
  border-radius: 13px;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  left: 14px;
  position: absolute;
  top: 17px;
  width: 40px;
}
.gg-search-icon-blue {
  background: #e8f4ff;
  color: #0d66c2;
}
.gg-search-icon-green {
  background: #eaf8ef;
  color: #18a05e;
}
.gg-search-icon-orange {
  background: #fff2df;
  color: #ff9800;
}
.gg-search-icon-purple {
  background: #f4ecff;
  color: #8d57dc;
}
.gogeo-search .gg-search-field .form-label {
  color: #3d4a55;
  font-size: 11px;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0 0 7px;
  text-transform: uppercase;
}
#packageSearchForm .gg-search-field .form-select,
#packageSearchForm .gg-search-field .form-control {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #111820;
  font-size: 14px;
  height: auto;
  min-height: 20px;
  padding: 0;
}
#packageSearchForm .gg-search-field .form-select:focus,
#packageSearchForm .gg-search-field .form-control:focus {
  box-shadow: none;
}
.btn-search {
  align-items: center;
  border: 0;
  border-radius: 16px;
  display: inline-flex;
  gap: 12px;
  height: 74px;
  justify-content: center;
  min-width: 100%;
}
.gg-trust-strip {
  background: #fff;
  padding: 28px 0 48px;
}
.gg-trust-panel {
  border: 0;
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(6, 79, 99, 0.08);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.gg-trust-item {
  align-items: center;
  min-height: 88px;
  padding: 20px 22px;
}
.gg-trust-icon {
  border-radius: 50%;
  flex-basis: 44px;
  height: 44px;
  width: 44px;
}
.gg-trust-item:nth-child(1) .gg-trust-icon,
.gg-trust-item:nth-child(4) .gg-trust-icon {
  background: #e8f4ff;
  color: #0d66c2;
}
.gg-trust-item:nth-child(2) .gg-trust-icon {
  background: #eaf8ef;
  color: #18a05e;
}
.gg-trust-item:nth-child(3) .gg-trust-icon {
  background: #fff2df;
  color: #ff9800;
}
.gg-trust-item strong {
  color: #152331;
  font-size: 14px;
  font-weight: 750;
}
.gg-trust-item span:last-child {
  color: #5d6a74;
  font-size: 12px;
}
@media (max-width: 1199.98px) {
  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 620px;
  }
  .gg-home-hero h1 {
    font-size: clamp(2.8rem, 6vw, 4.9rem);
  }
}
@media (max-width: 991.98px) {
  .gg-header-bottom {
    display: none;
  }
  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 620px;
  }
  .gg-home-hero .gg-hero-content {
    padding-top: 72px;
  }
  .gg-home-search-card {
    padding: 22px;
  }
  .btn-search {
    height: 58px;
  }
}
@media (max-width: 767.98px) {
  .gg-home-hero,
  .gg-home-hero .container {
    min-height: 590px;
  }
  .gg-home-hero .gg-hero-bg {
    background:
      linear-gradient(90deg, rgba(3, 24, 42, 0.88), rgba(3, 28, 48, 0.62)),
      url("../images/slider/slide-1.jpg") center / cover no-repeat;
  }
  .gg-home-hero .gg-hero-content {
    padding-top: 62px;
  }
  .gg-home-hero .gg-hero-kicker {
    font-size: 20px;
  }
  .gg-home-hero h1 {
    font-size: clamp(2.65rem, 13vw, 4rem);
  }
  .gg-hero-proof {
    margin-top: 24px;
  }
  .gogeo-search {
    margin-top: -72px;
  }
  .gogeo-search.section {
    background: linear-gradient(to bottom, transparent 0 72px, #fff 72px 100%);
  }
  .gg-home-search-card {
    border-radius: 22px;
    padding: 20px 16px;
  }
  .gg-home-search-card .search-card-heading span {
    font-size: 24px;
  }
  .gg-home-search-card .search-card-heading {
    gap: 4px;
  }
}


/* ===== Merged home redesign overrides ===== */

/* GoGeo home hero/header redesign overrides. Loaded after style.css. */
:root {
  --gg-header-h: 148px;
}

.gg-header-top {
  min-height: 78px;
}

.gg-header-bottom {
  min-height: 70px;
}

.gg-header .nav-link,
.gg-header .nav-link.active,
.gg-header .nav-link:hover,
.gg-header .nav-link:focus {
  font-weight: 500;
}

.gg-lang-btn::after {
  content: none !important;
}

.gg-call-icon {
  background: linear-gradient(135deg, #0c9fc6 0%, #0d66c2 100%);
  box-shadow: 0 12px 26px rgba(6, 94, 168, 0.18);
}

.gg-signup-btn,
.btn-search,
.btn-primary,
.section-action-btn,
.tour-list-btn,
.tour-payment-btn,
.booking-payment-btn,
.booking-status-card .btn,
.cookie-consent__primary,
.gogeo-blogs .btn-card,
.gogeo-blogs .btn.btn-nav,
.gogeo-popular-packages .btn-nav,
.gogeo-themes .theme-nav.hdr {
  background: linear-gradient(135deg, #0c9fc6 0%, #0d66c2 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

.gg-signup-btn:hover,
.gg-signup-btn:focus,
.btn-search:hover,
.btn-search:focus,
.btn-primary:hover,
.btn-primary:focus,
.section-action-btn:hover,
.section-action-btn:focus,
.tour-list-btn:hover,
.tour-list-btn:focus,
.tour-payment-btn:hover,
.tour-payment-btn:focus,
.booking-payment-btn:hover,
.booking-payment-btn:focus,
.booking-status-card .btn:hover,
.booking-status-card .btn:focus,
.cookie-consent__primary:hover,
.cookie-consent__primary:focus,
.gogeo-blogs .btn-card:hover,
.gogeo-blogs .btn-card:focus,
.gogeo-blogs .btn.btn-nav:hover,
.gogeo-blogs .btn.btn-nav:focus,
.gogeo-popular-packages .btn-nav:hover,
.gogeo-popular-packages .btn-nav:focus,
.gogeo-themes .theme-nav.hdr:hover,
.gogeo-themes .theme-nav.hdr:focus {
  background: linear-gradient(135deg, #087fa2 0%, #0955ad 100%) !important;
  color: #ffffff !important;
}

.gg-home-hero,
.gg-home-hero .container,
.gg-hero-layout {
  min-height: 470px;
}

.gg-home-hero .gg-hero-bg {
  background:
    linear-gradient(90deg, rgba(2, 22, 39, 0.92), rgba(3, 29, 49, 0.7) 48%, rgba(3, 30, 49, 0.34)),
    url("../images/slider/slide-1.jpg") center / cover no-repeat;
}

.gg-hero-layout {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 360px;
  position: relative;
  z-index: 2;
}

.gg-home-hero .gg-hero-content {
  max-width: 920px;
  padding-top: 0;
  transform: translateY(-44px);
}

.gg-home-hero .gg-hero-kicker {
  align-items: center;
  color: #ffc247;
  display: inline-flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.01em;
  margin-bottom: 16px;
  text-transform: none;
}

.gg-home-hero .gg-hero-kicker i {
  color: #4bbaf0;
}

.gg-home-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.9rem, 4.1vw, 4.35rem);
  font-weight: 500;
  line-height: 1.08;
  margin-bottom: 18px;
  max-width: 920px;
}

.gg-home-hero h1 .gg-hero-line {
  color: #fff;
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1em;
  font-weight: 500;
  white-space: nowrap;
}

.gg-home-hero h1 em {
  color: #ffc247;
  display: inline-block;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 0.96em;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}

.gg-home-hero p {
  font-size: 17px;
  line-height: 1.55;
  max-width: 700px;
}

.gg-hero-metrics {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 28px;
  transform: translateY(0);
}

.gg-hero-metric {
  align-items: center;
  color: #fff;
  display: grid;
  gap: 1px 12px;
  grid-template-columns: 42px auto;
  min-width: 142px;
  padding-right: 20px;
}

.gg-hero-metric + .gg-hero-metric {
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  padding-left: 20px;
}

.gg-hero-metric-icon {
  align-items: center;
  border: 1px solid rgba(24, 144, 255, 0.9);
  border-radius: 50%;
  color: #4bbaf0;
  display: inline-flex;
  grid-row: span 2;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.gg-hero-metric strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
}

.gg-hero-metric small {
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  line-height: 1.15;
}

.gg-hero-side {
  align-self: end;
  display: flex;
  justify-content: flex-end;
  padding-bottom: 82px;
}

.gg-hero-proof {
  align-items: center;
  background: rgba(5, 20, 34, 0.46);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
  display: inline-flex;
  gap: 12px;
  margin: 0 24px 0 0;
  padding: 10px 16px 10px 12px;
}

.gogeo-search {
  margin-top: -96px;
  padding-bottom: 0;
}

.gogeo-search.section {
  background: linear-gradient(to bottom, transparent 0 96px, #fff 96px 100%);
}

.gg-home-search-card {
  border: 0;
  border-radius: 18px 18px 24px 24px;
  box-shadow: 0 28px 80px rgba(8, 50, 78, 0.18);
  clip-path: path("M 0 0 H 940 Q 990 0 1018 32 Q 1034 48 1068 48 H 1512 Q 1536 48 1536 72 V 236 Q 1536 260 1512 260 H 24 Q 0 260 0 236 Z");
  overflow: hidden;
  padding: 18px 24px 18px;
}

.gg-home-search-card::before {
  background: linear-gradient(90deg, #0c9fc6, #ffc247, #7c58d6);
  border-radius: 999px;
  content: "";
  height: 4px;
  left: 28px;
  position: absolute;
  right: 34px;
  top: 0;
  z-index: 4;
}

.gg-home-search-card::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(13, 102, 194, 0.045));
  content: "";
  height: 100%;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 48px;
  width: 38.5%;
  z-index: 0;
}

.gg-home-search-card .search-card-heading {
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
}

.gg-home-search-card .search-card-heading > i {
  color: #0d66c2;
  font-size: 22px;
}

.gg-home-search-card .search-card-heading span {
  color: #102434;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0;
}

.gg-search-field,
.btn-search {
  min-height: 70px;
}

.gg-search-field {
  border-color: #deebf1;
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
  padding-bottom: 10px;
  padding-top: 12px;
}

.gg-search-icon {
  top: 16px;
}

.btn-search {
  border-radius: 14px;
  height: 70px;
  white-space: nowrap;
}

#packageSearchForm {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(230px, 1.35fr) minmax(220px, 1.18fr) minmax(180px, 0.95fr) minmax(180px, 0.95fr) minmax(190px, 0.8fr);
  margin-top: 2px;
  position: relative;
  z-index: 2;
}

#packageSearchForm > [class*="col-"] {
  max-width: none;
  padding: 0;
  width: auto;
}

#packageSearchForm .gg-search-field {
  align-items: center;
  grid-template-columns: 50px minmax(0, 1fr);
  grid-template-rows: auto auto;
  min-height: 78px;
  padding: 13px 16px 13px 14px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#packageSearchForm .gg-search-field:focus-within {
  border-color: rgba(12, 159, 198, 0.55);
  box-shadow: 0 16px 34px rgba(6, 79, 99, 0.12);
  transform: translateY(-1px);
}

#packageSearchForm .gg-search-field .gg-search-icon {
  grid-row: 1 / 3;
  left: auto;
  position: static;
  top: auto;
}

#packageSearchForm .gg-search-field .form-label {
  color: #263848;
  font-size: 11px;
  font-weight: 700 !important;
  letter-spacing: 0.045em;
  margin-bottom: 8px;
}

#packageSearchForm .gg-search-field .form-select,
#packageSearchForm .gg-search-field .form-control,
#packageSearchForm.was-validated .gg-search-field .form-select:valid,
#packageSearchForm.was-validated .gg-search-field .form-control:valid,
#packageSearchForm .gg-search-field .form-select.is-valid,
#packageSearchForm .gg-search-field .form-control.is-valid {
  background-color: transparent;
  border: 0;
  box-shadow: none;
  color: #061626;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  min-height: 24px;
  padding: 0;
}

#packageSearchForm .gg-search-field .form-select,
#packageSearchForm.was-validated .gg-search-field .form-select:valid,
#packageSearchForm .gg-search-field .form-select.is-valid {
  --gg-select-arrow: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23111820' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3e%3c/svg%3e");
  appearance: none;
  background-image: var(--gg-select-arrow);
  background-position: right 2px center;
  background-repeat: no-repeat;
  background-size: 14px 12px;
  cursor: pointer;
  padding-right: 24px;
}

#packageSearchForm .gg-search-field .form-control[type="date"],
#packageSearchForm.was-validated .gg-search-field .form-control[type="date"]:valid,
#packageSearchForm .gg-search-field .form-control[type="date"].is-valid {
  background-image: none;
  padding-right: 0;
}

#packageSearchForm .gg-search-field .form-control[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.78;
}

#packageSearchForm .gg-search-field .form-select:focus,
#packageSearchForm .gg-search-field .form-control:focus {
  background-color: transparent;
  border: 0;
  box-shadow: none;
  outline: 0;
}

.gg-home-search-card .btn-search span {
  display: inline-block;
  max-width: none;
}

.gg-search-assurance {
  align-items: center;
  color: #243746;
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-top: 16px;
  padding-top: 2px;
  position: relative;
  z-index: 2;
}

.gg-home-search-card .form-select,
.gg-home-search-card .form-control {
  padding-right: 34px;
}

.gg-search-assurance span {
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  gap: 8px;
  white-space: nowrap;
}

.gg-search-assurance i {
  color: #0d66c2;
  font-size: 14px;
}

.gg-trust-strip {
  margin-top: -8px;
  padding-top: 4px;
}

.gg-trust-panel {
  border-radius: 20px;
}

.pre-footer-enquiry {
  background:
    radial-gradient(circle at 82% 6%, rgba(18, 158, 194, 0.16), transparent 28%),
    linear-gradient(135deg, #071b25 0%, #0c1117 62%, #111820 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 42px 0;
}

.pre-footer-enquiry-card {
  align-items: center;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.6fr);
}

.pre-footer-enquiry .section-kicker {
  background: rgba(91, 194, 227, 0.12);
  border-color: rgba(91, 194, 227, 0.28);
  color: #62d8f6;
}

.pre-footer-enquiry-copy h2 {
  color: #ffffff;
  font-size: clamp(1.6rem, 2.2vw, 2.15rem);
  font-weight: 700;
  letter-spacing: 0;
  margin: 8px 0 8px;
}

.pre-footer-enquiry-copy p {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
  margin: 0;
}

.pre-footer-enquiry-form {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.pre-footer-enquiry-form .form-control {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(215, 232, 238, 0.22);
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
  min-height: 52px;
  padding: 0 18px;
}

.pre-footer-enquiry-form .btn {
  border-radius: 999px;
  min-height: 52px;
  padding-left: 24px;
  padding-right: 24px;
  white-space: nowrap;
}

.thank-you-hero {
  min-height: 580px;
  padding: 86px 0;
  position: relative;
}

.thank-you-bg {
  background: url("../images/slider/slide-1.jpg") center / cover no-repeat;
  inset: 0;
  position: absolute;
}

.thank-you-overlay {
  background:
    linear-gradient(90deg, rgba(2, 22, 39, 0.82), rgba(3, 29, 49, 0.6)),
    linear-gradient(180deg, rgba(2, 22, 39, 0.08), rgba(2, 22, 39, 0.5));
  inset: 0;
  position: absolute;
}

.thank-you-page .container {
  position: relative;
  z-index: 2;
}

.thank-you-card {
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 26px;
  box-shadow: 0 34px 90px rgba(2, 22, 39, 0.24);
  max-width: 720px;
  padding: 42px;
}

.thank-you-icon {
  align-items: center;
  background: #e8f8ef;
  border-radius: 50%;
  color: #078846;
  display: inline-flex;
  font-size: 26px;
  height: 64px;
  justify-content: center;
  margin-bottom: 20px;
  width: 64px;
}

.thank-you-card h1 {
  color: #102434;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 10px 0 14px;
}

.thank-you-card p {
  color: #5f6e78;
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0;
}

.thank-you-reference {
  background: #eefaff;
  border: 1px solid #cceaf3;
  border-radius: 999px;
  color: #064f63;
  display: inline-flex;
  font-weight: 700;
  margin-top: 22px;
  padding: 9px 16px;
}

.thank-you-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.thank-you-call {
  align-items: center;
  border: 1px solid #bfe8f5;
  border-radius: 999px;
  color: #064f63;
  display: inline-flex;
  font-weight: 700;
  min-height: 48px;
  padding: 0 22px;
}

html,
body {
  overflow-x: hidden;
}

.gogeo-themes,
.gogeo-search,
.gg-trust-strip {
  overflow-x: clip;
}

.cookie-consent {
  align-items: center;
  bottom: 14px !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  left: auto !important;
  max-width: 640px !important;
  right: 18px !important;
  transform: none !important;
  width: calc(100vw - 36px) !important;
  gap: 12px;
  padding: 10px 12px;
  z-index: 1100;
}

.cookie-consent__content p {
  font-size: 0.82rem;
  line-height: 1.3;
  margin: 0;
}

.cookie-consent__content span {
  font-size: 0.68rem;
}

.cookie-consent__primary,
.cookie-consent__ghost,
.cookie-consent__link,
.cookie-consent__close {
  font-size: 0.82rem;
  min-height: 34px;
  padding: 0 13px;
}

.cookie-consent__actions {
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.cookie-consent__close {
  align-items: center;
  background: #ffffff;
  border: 1px solid #bfe8f5;
  border-radius: 50%;
  color: #0b5d73;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-width: 34px;
  padding: 0;
  width: 34px;
}

@media (max-width: 1199.98px) {
  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 500px;
  }

  .gg-hero-layout {
    grid-template-columns: 1fr;
  }

  .gg-hero-side {
    display: none;
  }

  #packageSearchForm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gg-home-search-card {
    clip-path: none;
  }

  .gg-home-search-card::after {
    display: none;
  }
}

@media (max-width: 991.98px) {
  :root {
    --gg-header-h: var(--gg-header-h-sm);
  }

  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 560px;
  }

  .gg-home-hero h1 .gg-hero-line {
    white-space: normal;
  }
}

@media (max-width: 767.98px) {
  .gg-home-hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.25rem);
  }

  .gg-hero-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 16px;
  }

  .gg-hero-metric,
  .gg-hero-metric + .gg-hero-metric {
    border-left: 0;
    min-width: 0;
    padding: 0;
  }

  #packageSearchForm {
    grid-template-columns: 1fr;
  }

  .gg-search-assurance {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --gg-header-h: 70px;
  }

  .gg-header {
    min-height: 70px;
  }

  .gg-header-inner {
    padding-left: 12px;
    padding-right: 12px;
  }

  .gg-header-top {
    min-height: 70px;
  }

  .gg-brand img {
    max-width: 150px;
  }

  .gg-mobile-actions {
    gap: 8px;
    min-width: 0;
  }

  .gg-mobile-actions .gg-signup-btn {
    border-radius: 999px;
    font-size: 0.78rem;
    min-width: 90px;
    padding: 0.58rem 0.9rem;
    white-space: nowrap;
  }

  .gg-mobile-actions .gg-icon-btn {
    flex: 0 0 46px;
    height: 46px;
    width: 46px;
  }

  .gg-home-hero,
  .gg-home-hero .container,
  .gg-hero-layout {
    min-height: 570px;
  }

  .gg-home-hero .gg-hero-content {
    max-width: 100%;
    transform: translateY(-18px);
  }

  .gg-home-hero h1 {
    font-size: clamp(2.12rem, 9.1vw, 2.65rem);
    line-height: 1.08;
    max-width: 100%;
    overflow-wrap: normal;
  }

  .gg-home-hero h1 .gg-hero-line {
    max-width: 100%;
    white-space: normal !important;
  }

  .gg-home-hero h1 em {
    display: inline-block;
  }

  .gg-home-hero .lead {
    font-size: 0.9rem;
    line-height: 1.5;
    max-width: 34ch;
  }

  .gg-hero-metrics {
    gap: 10px;
    margin-top: 18px;
  }

  .gg-hero-metric {
    align-items: center;
    display: grid;
    gap: 4px 8px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 58px;
  }

  .gg-hero-metric-icon {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
  }

  .gg-hero-metric-icon i {
    font-size: 0.76rem;
  }

  .gg-hero-metric strong {
    font-size: 0.76rem;
    line-height: 1.1;
    min-width: 0;
    white-space: normal;
  }

  .gg-hero-metric small {
    font-size: 0.64rem;
    grid-column: 2;
    line-height: 1.25;
    min-width: 0;
    white-space: normal;
  }

  .gogeo-search {
    margin-top: -56px;
  }

  .gogeo-search.section {
    background: linear-gradient(to bottom, transparent 0 56px, #fff 56px 100%);
  }

  .gg-home-search-card {
    border-radius: 18px;
    padding: 18px 14px 16px;
    box-shadow: 0 18px 48px rgba(8, 50, 78, 0.16);
  }

  .gg-home-search-card::before {
    left: 26px;
    right: 26px;
  }

  .search-card-heading {
    align-items: center;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
    text-align: center;
  }

  .search-card-heading > i {
    font-size: 20px;
  }

  .search-card-heading span {
    font-size: 1.45rem;
    line-height: 1.15;
    max-width: 100%;
    white-space: normal;
    width: 100%;
  }

  .search-card-heading small {
    border-left: 0;
    font-size: 0.78rem;
    padding-left: 0;
  }

  #packageSearchForm {
    gap: 12px;
  }

  .gg-search-field {
    border-radius: 13px;
    min-height: 64px;
    padding: 11px 42px 10px 58px;
  }

  .gg-search-icon {
    height: 34px;
    left: 12px;
    top: 15px;
    width: 34px;
  }

  .gg-home-search-card .btn-search {
    border-radius: 13px;
    height: 54px;
    width: 100%;
  }

  .gg-search-assurance {
    align-items: flex-start;
    gap: 6px;
    margin-top: 12px;
    padding-left: 8px;
  }

  .gg-search-assurance span {
    font-size: 0.72rem;
    gap: 6px;
  }

  .gg-trust-strip {
    margin-top: 0;
    padding: 14px 0 28px;
  }

  .gg-trust-panel {
    border-radius: 18px;
    grid-template-columns: 1fr !important;
    overflow: hidden;
  }

  .gg-trust-item {
    min-height: auto;
    padding: 14px 16px;
  }

  .gg-trust-item + .gg-trust-item,
  .gg-trust-item:nth-child(n + 3) {
    border-left: 0 !important;
    border-top: 1px solid #e7f1f4;
  }

  .gg-trust-icon {
    flex: 0 0 38px;
    height: 38px;
    width: 38px;
  }

  .gg-trust-item strong {
    font-size: 0.82rem;
  }

  .gg-trust-item span:last-child {
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .gogeo-themes .row.align-items-center {
    display: block;
  }

  .gogeo-themes .col-auto {
    margin-top: 14px;
    width: 100%;
  }

  .gogeo-themes .header-ctrls {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) 42px 42px;
    width: 100%;
  }

  .gogeo-themes .themes-call {
    margin-right: 0 !important;
    min-width: 0;
    width: 100%;
  }

  .gogeo-themes .themes-call .small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gogeo-themes .theme-nav.hdr {
    flex: 0 0 42px;
    height: 42px;
    width: 42px;
  }

  .gogeo-themes .themes-viewport {
    margin-inline: 0;
    overflow: hidden;
    width: 100%;
  }

  .gogeo-themes .themes-track {
    gap: 0 !important;
    padding-right: 0 !important;
  }

  .gogeo-themes .theme-slide {
    flex: 0 0 100% !important;
    height: 236px;
    max-width: 100%;
    width: 100%;
  }

  .gogeo-themes .themes-dots {
    margin-top: 14px;
  }

  .pre-footer-enquiry {
    padding: 28px 0 12px;
  }

  .pre-footer-enquiry-card {
    border-radius: 20px;
    gap: 18px;
    grid-template-columns: 1fr;
    padding: 20px 16px;
  }

  .pre-footer-enquiry-copy h2 {
    font-size: 1.45rem;
  }

  .pre-footer-enquiry-form {
    grid-template-columns: 1fr;
  }

  .pre-footer-enquiry-form .form-control,
  .pre-footer-enquiry-form .btn {
    border-radius: 14px;
    width: 100%;
  }

  .thank-you-hero {
    min-height: auto;
    padding: 46px 0;
  }

  .thank-you-card {
    border-radius: 22px;
    padding: 28px 20px;
  }

  .thank-you-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .thank-you-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .cookie-consent {
    bottom: 12px !important;
    grid-template-columns: 1fr;
    left: 12px !important;
    max-width: none !important;
    padding: 10px;
    right: 12px !important;
    width: auto !important;
  }

  .cookie-consent__content p {
    white-space: normal;
  }

  .cookie-consent__actions {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr 34px;
    width: 100%;
  }

  .cookie-consent__primary,
  .cookie-consent__ghost,
  .cookie-consent__link {
    justify-content: center;
    min-width: 0;
    padding: 0 8px;
    width: 100%;
  }
}

