/* ==========================================================================
   Custom Transfer Theme Additions - Inspired by srilankatransfer.lk
   Enhanced for Platinum Drive CH (Switzerland)
   100% Mobile Responsive across Mobile, Tablet, and Desktop Viewports
   ========================================================================== */

/* Prevent horizontal overflow & right-side white space on mobile screens (Samsung Galaxy, etc.) */
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

/* Allow text selection and cursor in form inputs so bookings and inquiries work seamlessly */
input, textarea, select, [contenteditable="true"], .select2-search__field {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Prevent image dragging */
img {
  -webkit-user-drag: none;
  user-drag: none;
}

/* SEO Heading Hierarchy Styling */
.request-form h1.ch-hero-title {
  color: #ffffff !important;
  font-size: 1.28rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.faq-question-wrap {
  margin: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.ftco-footer .ftco-heading-2 {
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}



/* --------------------------------------------------------------------------
   1. Top Contact Info Bar
   -------------------------------------------------------------------------- */
.ch-topbar {
  background: #0b1a2d;
  color: #c9d6df;
  font-size: 11.5px;
  padding: 3px 0 !important;
  line-height: 1.25 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 1001;
  white-space: nowrap !important;
}

.ch-topbar .container,
.ch-topbar .container-fluid {
  max-width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
}

.ch-topbar .topbar-left,
.ch-topbar .topbar-right {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.ch-topbar a,
.ch-topbar span {
  white-space: nowrap !important;
  display: inline-block;
}

.ch-topbar a {
  color: #e0e6ed;
  text-decoration: none;
  transition: color 0.2s ease;
}

.ch-topbar a:hover {
  color: #ff9800;
}

.ch-topbar i.fas,
.ch-topbar i.far,
.ch-topbar .topbar-icon,
.ch-topbar .icon-highlight {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  color: #ff9800 !important;
  margin-right: 5px;
  display: inline-block;
  speak: none;
}

.ch-topbar-divider {
  color: rgba(255, 255, 255, 0.2);
  margin: 0 8px;
  display: inline-block;
}

.ch-hub-flag {
  width: 14px;
  height: 14px;
  object-fit: cover;
  border-radius: 2px;
  margin-right: 4px;
  margin-left: 2px;
  vertical-align: -2px;
  display: inline-block;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* Transparent Nav View Logo Size */
#ftco-navbar:not(.scrolled) .navbar-brand img,
#ftco-navbar:not(.scrolled) #logo,
.navbar-brand #logo {
  height: 68px !important;
  max-height: 68px !important;
  width: auto !important;
  transition: all 0.25s ease !important;
}

#ftco-navbar.scrolled .navbar-brand img,
#ftco-navbar.scrolled #logo {
  height: 60px !important;
  max-height: 60px !important;
  width: auto !important;
  position: static !important;
  top: 0 !important;
  transition: all 0.25s ease !important;
}

/* Mobile Navigation - Scrolling Nav Bar Style with Toggle */
@media (max-width: 991.98px) {
  /* Topbar */
  .ch-topbar {
    font-size: 10px !important;
    padding: 2.5px 0 !important;
    line-height: 1.2 !important;
  }
  .ch-topbar .topbar-left {
    display: none !important;
  }
  .ch-topbar .topbar-right {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 8px;
  }

  @media (max-width: 575.98px) {
    .ch-topbar .topbar-right a[href^="mailto"],
    .ch-topbar .topbar-right .ch-topbar-divider:nth-of-type(2) {
      display: none !important;
    }
  }

  /* Before Scrolling: Transparent Nav Bar Style (like web view) */
  #ftco-navbar.ftco_navbar {
    position: absolute !important;
    top: 20px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
  }

  /* While Scrolling: Fixed Solid Navy Nav Bar Style */
  #ftco-navbar.ftco_navbar.scrolled,
  #ftco-navbar.ftco_navbar.scrolled.awake {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: #102c4e !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
    padding: 0 !important;
    margin-top: 0 !important;
  }

  #ftco-navbar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    position: relative !important;
    flex-wrap: wrap !important;
  }

  #ftco-navbar .navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  #ftco-navbar:not(.scrolled) .navbar-brand img,
  #ftco-navbar:not(.scrolled) #logo {
    height: 54px !important;
    max-height: 54px !important;
    width: auto !important;
    transition: height 0.25s ease !important;
  }

  #ftco-navbar.scrolled .navbar-brand img,
  #ftco-navbar.scrolled #logo {
    height: 50px !important;
    max-height: 50px !important;
    width: auto !important;
    position: static !important;
    top: 0 !important;
    transition: height 0.25s ease !important;
  }

  /* Mobile Toggle Button - No Transparent Box, Clean Menu Button */
  #ftco-navbar .navbar-toggler {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    outline: none !important;
    transition: color 0.2s ease !important;
  }

  #ftco-navbar .navbar-toggler:hover,
  #ftco-navbar .navbar-toggler:focus {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #d09c00 !important;
    outline: none !important;
  }

  /* Navigation Dropdown List on Toggle Click */
  #ftco-navbar .navbar-collapse {
    width: 100% !important;
    background: #09192e !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-top: 10px !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4) !important;
    padding: 12px 16px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    flex-basis: 100% !important;
  }

  #ftco-navbar .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }

  #ftco-navbar .navbar-collapse.collapse.show,
  #ftco-navbar .navbar-collapse.collapsing {
    display: block !important;
  }

  #ftco-navbar .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 4px !important;
  }

  #ftco-navbar .navbar-nav > .nav-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  }

  #ftco-navbar .navbar-nav > .nav-item:last-child {
    border-bottom: none !important;
  }

  #ftco-navbar .navbar-nav > .nav-item > .nav-link {
    display: block !important;
    padding: 12px 14px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
  }

  #ftco-navbar .navbar-nav > .nav-item > .nav-link:hover,
  #ftco-navbar .navbar-nav > .nav-item.active > .nav-link {
    background: rgba(208, 156, 0, 0.15) !important;
    color: #d09c00 !important;
    padding-left: 20px !important;
  }
}

/* --------------------------------------------------------------------------
   2. Trust Pillars Bar (Why Us Section)
   -------------------------------------------------------------------------- */
.trust-pillars-section {
  padding: 35px 0;
  background: #ffffff;
  border-bottom: 1px solid #e9ecef;
}

.trust-pillar-card {
  display: flex;
  align-items: flex-start;
  padding: 18px 20px;
  background: #f8f9fa;
  border-radius: 10px;
  border: 1px solid #eef0f3;
  transition: all 0.3s ease;
  height: 100%;
}

.trust-pillar-card:hover {
  background: #ffffff;
  border-color: #102c4e;
  box-shadow: 0 10px 25px rgba(16, 44, 78, 0.08);
  transform: translateY(-4px);
}

.trust-pillar-icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  background: linear-gradient(135deg, #102c4e, #1a4273);
  color: #ff9800;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-right: 16px;
}

.trust-pillar-body h5 {
  font-size: 16px;
  font-weight: 700;
  color: #102c4e;
  margin-bottom: 4px;
}

.trust-pillar-body p {
  font-size: 13px;
  color: #6c757d;
  margin-bottom: 0;
  line-height: 1.4;
}

@media (max-width: 767.98px) {
  .trust-pillars-section {
    padding: 24px 0;
  }

  .trust-pillar-card {
    padding: 14px 16px;
  }

  .trust-pillar-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 18px;
    margin-right: 12px;
  }

  .trust-pillar-body h5 {
    font-size: 15px;
  }

  .trust-pillar-body p {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   3. Enhanced Fleet Details Cards
   -------------------------------------------------------------------------- */
.car-wrap {
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.car-wrap:hover {
  box-shadow: 0 12px 28px rgba(16, 44, 78, 0.12);
  transform: translateY(-4px);
}

.fleet-specs-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 15px;
}

.fleet-badge {
  background: #edf2f7;
  color: #2d3748;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
}

.fleet-badge i {
  color: #ff9800;
  margin-right: 4px;
}

/* --------------------------------------------------------------------------
   4. Featured Swiss Destinations & Popular Routes
   -------------------------------------------------------------------------- */
.destinations-section {
  padding: 70px 0;
  background: #fdfdfd;
}

.destination-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
  transition: all 0.35s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid #edf2f7;
}

.destination-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 35px rgba(16, 44, 78, 0.12);
}

.destination-img-wrap {
  position: relative;
  height: 210px;
  overflow: hidden;
}

.destination-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

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

.destination-badge-time {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(16, 44, 78, 0.88);
  backdrop-filter: blur(4px);
  color: #ffffff;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.destination-badge-tag {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: #ff9800;
  color: #ffffff;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.destination-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.destination-route {
  font-size: 17px;
  font-weight: 700;
  color: #102c4e;
  margin-bottom: 6px;
}

.destination-desc,
#destinations-section .destination-desc,
#destinations-section .destination-card p {
  font-size: 13px;
  color: #343a40;
  margin-bottom: 16px;
  line-height: 1.5;
  flex-grow: 1;
  text-align: justify !important;
  text-justify: inter-word !important;
}

.destination-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #edf2f7;
  padding-top: 14px;
}

.destination-price-tag {
  display: flex;
  flex-direction: column;
}

.destination-price-tag .label {
  font-size: 11px;
  color: #a0aec0;
  text-transform: uppercase;
}

.destination-price-tag .price {
  font-size: 18px;
  font-weight: 800;
  color: #ff9800;
}

.btn-book-transfer {
  background: #102c4e;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-book-transfer:hover {
  background: #ff9800;
  color: #ffffff;
}

@media (max-width: 767.98px) {
  .destinations-section {
    padding: 45px 0;
  }

  .destination-img-wrap {
    height: 180px;
  }

  .destination-route {
    font-size: 16px;
  }

  .destination-body {
    padding: 16px;
  }

  .destination-footer {
    padding-top: 12px;
  }

  .btn-book-transfer {
    padding: 8px 14px;
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   5. Review Trust Badges
   -------------------------------------------------------------------------- */
.review-stars {
  color: #ffc107;
  font-size: 14px;
  margin-bottom: 8px;
}

.verified-tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  color: #28a745;
  font-weight: 600;
  margin-top: 4px;
}

.verified-tag i {
  margin-right: 4px;
}

/* --------------------------------------------------------------------------
   6. Floating WhatsApp Widget
   -------------------------------------------------------------------------- */
.floating-whatsapp-widget {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
}

.floating-whatsapp-btn {
  width: 56px;
  height: 56px;
  background: #25d366;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.floating-whatsapp-btn:hover {
  transform: scale(1.1);
  color: #ffffff;
}

.floating-whatsapp-tooltip {
  background: #ffffff;
  color: #102c4e;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
  display: none;
}

@media (min-width: 992px) {
  .floating-whatsapp-widget:hover .floating-whatsapp-tooltip {
    display: block;
  }
}

@media (max-width: 767.98px) {
  .floating-whatsapp-widget {
    bottom: 18px;
    right: 18px;
  }

  .floating-whatsapp-btn {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }
}

/* --------------------------------------------------------------------------
   7. User-Friendly Mobile Hero Sections (Homepage & All Subpages)
   -------------------------------------------------------------------------- */

/* Subpage Heroes (hero-wrap-2) Mobile & Tablet Optimization */
@media (max-width: 767.98px) {

  .hero-wrap.hero-wrap-2,
  .hero-wrap.hero-wrap-2.js-fullheight,
  .hero-wrap.hero-wrap-2 .slider-text,
  .hero-wrap.hero-wrap-2 .slider-text.js-fullheight,
  .hero-wrap.hero-wrap-2 .overlay {
    height: 290px !important;
    min-height: 290px !important;
  }

  .hero-wrap.hero-wrap-2 .slider-text {
    padding: 0 15px 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }

  .hero-wrap.hero-wrap-2 h1.bread {
    font-size: 26px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }

  .hero-wrap.hero-wrap-2 .breadcrumbs {
    font-size: 12px !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.5px !important;
  }

  .hero-wrap.hero-wrap-2 .breadcrumbs span {
    font-size: 12px !important;
  }

  .hero-wrap.hero-wrap-2 p.lead {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {

  .hero-wrap.hero-wrap-2,
  .hero-wrap.hero-wrap-2.js-fullheight,
  .hero-wrap.hero-wrap-2 .slider-text,
  .hero-wrap.hero-wrap-2 .slider-text.js-fullheight,
  .hero-wrap.hero-wrap-2 .overlay {
    height: 380px !important;
    min-height: 380px !important;
  }

  .hero-wrap.hero-wrap-2 .slider-text {
    padding-bottom: 40px !important;
  }

  .hero-wrap.hero-wrap-2 h1.bread {
    font-size: 36px !important;
  }
}

@media (min-width: 992px) {

  .hero-wrap.hero-wrap-2,
  .hero-wrap.hero-wrap-2.js-fullheight,
  .hero-wrap.hero-wrap-2 .slider-text,
  .hero-wrap.hero-wrap-2 .slider-text.js-fullheight,
  .hero-wrap.hero-wrap-2 .overlay {
    height: 340px !important;
    min-height: 340px !important;
  }

  .hero-wrap.hero-wrap-2 .slider-text {
    padding-bottom: 30px !important;
  }
}

/* Ensure fleet and destination cards are immediately visible */
.fleet-page-section,
.fleet-page-section .heading-section,
.fleet-item-col,
.fleet-card-luxury,
.destinations-section {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Homepage Hero & Booking Form Mobile Optimization */
@media (max-width: 767.98px) {

  /* Prevent massive empty gap on mobile phones */
  .hero-wrap:not(.hero-wrap-2),
  .hero-wrap:not(.hero-wrap-2) .overlay,
  .hero-wrap:not(.hero-wrap-2) .slider-text {
    height: 360px !important;
    min-height: 360px !important;
    background-position: center center !important;
  }

  /* Form and features section on mobile */
  .featured-top {
    margin-top: -145px !important;
    padding: 0 10px;
    position: relative;
    z-index: 5 !important;
  }

  /* Booking Card on Mobile */
  .request-form {
    padding: 22px 18px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    margin-bottom: 16px !important;
  }

  .request-form .step-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 12px !important;
  }

  .request-form .step-badge {
    font-size: 12px;
    padding: 4px 10px;
  }

  .request-form .step-text h2 {
    font-size: 19px !important;
    line-height: 1.3 !important;
  }

  .request-form .step-text small {
    font-size: 12px !important;
  }

  .request-form .form-group {
    margin-bottom: 14px !important;
  }

  .request-form .form-group label.label {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
  }

  .request-form .form-control {
    height: 48px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
  }

  .request-form button.btn[type="submit"] {
    width: 100% !important;
    height: 50px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    margin-top: 6px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 3-Step Advantage wrap below form on mobile */
  .services-wrap.rounded-right {
    border-radius: 12px !important;
    padding: 24px 18px !important;
    margin-top: 15px !important;
  }

  .services-wrap .heading-section,
  .services-wrap h2.heading-section,
  .services-wrap h3.heading-section {
    font-size: 21px !important;
    text-align: center !important;
    margin-bottom: 22px !important;
    color: #102c4e !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .services-wrap .services {
    margin-bottom: 22px !important;
  }

  .services-wrap .services .icon {
    width: 68px !important;
    height: 68px !important;
    border-radius: 14px !important;
    border: 1.5px solid #102c4e !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(16, 44, 78, 0.08) !important;
    margin: 0 auto 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .services-wrap .services .icon span {
    font-size: 35px !important;
    line-height: 1 !important;
    color: #d09c00 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .services-wrap .services h3.heading {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #102c4e !important;
    margin-bottom: 0 !important;
  }

  @media (max-width: 575.98px) {
    .services-wrap .services .icon {
      width: 62px !important;
      height: 62px !important;
      border-radius: 12px !important;
      margin: 0 auto 10px !important;
    }

    .services-wrap .services .icon span {
      font-size: 32px !important;
    }

    .services-wrap .services h3.heading {
      font-size: 14px !important;
    }
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {

  .hero-wrap:not(.hero-wrap-2),
  .hero-wrap:not(.hero-wrap-2) .overlay,
  .hero-wrap:not(.hero-wrap-2) .slider-text {
    height: 480px !important;
  }

  .featured-top {
    margin-top: -210px !important;
    padding: 0 15px;
  }

  .request-form {
    padding: 26px 20px !important;
    border-radius: 10px !important;
  }

  .services-wrap.rounded-right {
    border-radius: 10px !important;
  }

  .services-wrap .services .icon {
    width: 76px !important;
    height: 76px !important;
    border-radius: 14px !important;
    border: 1.5px solid #102c4e !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(16, 44, 78, 0.08) !important;
    margin: 0 auto 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .services-wrap .services .icon span {
    font-size: 40px !important;
    line-height: 1 !important;
  }

  .services-wrap .services h3.heading {
    font-size: 14px !important;
  }
}

/* --------------------------------------------------------------------------
   8. Universal User-Friendly & Responsive Typography (All Pages)
   -------------------------------------------------------------------------- */

/* Fluid & User-Friendly Headings on Mobile (< 768px) */
@media (max-width: 767.98px) {

  /* Prevent word breaking and oversized headings */
  h1,
  .h1 {
    font-size: 26px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.3px;
  }

  h2,
  .h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.2px;
  }

  h3,
  .h3 {
    font-size: 19px !important;
    line-height: 1.35 !important;
  }

  h4,
  .h4 {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  h5,
  .h5 {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  h6,
  .h6 {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* Specific theme heading sections */
  .heading-section h2 {
    font-size: 23px !important;
    line-height: 1.28 !important;
    margin-bottom: 8px !important;
  }

  .heading-section .subheading {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 4px !important;
  }

  .heading-section p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  /* Subpage Breadcrumbs & Titles */
  .slider-text .bread {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }

  .slider-text .breadcrumbs {
    font-size: 12px !important;
    margin-bottom: 8px !important;
  }

  .slider-text .breadcrumbs span,
  .slider-text .breadcrumbs span a {
    font-size: 12px !important;
  }

  /* Body Text & Paragraph Readability */
  body,
  p,
  li {
    font-size: 14.5px;
    line-height: 1.6;
  }

  /* Avoid awkward text-justify gaps on narrow mobile screens */
  p[style*="text-align: justify"],
  p[style*="text-align:justify"] {
    text-align: left !important;
  }

  /* Form Labels & Inputs (Prevent iOS Safari auto-zoom on focus) */
  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="date"],
  input[type="time"],
  select.form-control,
  textarea.form-control {
    font-size: 16px !important;
    /* 16px standard prevents iOS zoom-in */
  }

  label,
  .label {
    font-size: 13px !important;
    font-weight: 600;
  }

  /* Buttons */
  .btn {
    font-size: 14.5px !important;
    padding: 10px 20px !important;
    letter-spacing: 0.3px;
  }

  .btn-sm {
    font-size: 13px !important;
    padding: 6px 14px !important;
  }

  .btn-lg {
    font-size: 16px !important;
    padding: 12px 24px !important;
  }

  /* Fleet & Car Cards Typography */
  .car-wrap .text h2 {
    font-size: 19px !important;
    line-height: 1.3 !important;
  }

  .car-wrap .text .cat {
    font-size: 12.5px !important;
  }

  .fleet-badge {
    font-size: 10.5px !important;
    padding: 3px 7px !important;
  }

  /* Destinations Section Typography */
  .destination-route {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .destination-desc,
  #destinations-section .destination-desc,
  #destinations-section .destination-card p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
  }

  .destination-price-tag .price {
    font-size: 18px !important;
  }

  .destination-badge-time {
    font-size: 11px !important;
    padding: 3px 8px !important;
  }

  .destination-badge-tag {
    font-size: 10px !important;
    padding: 2px 7px !important;
  }

  /* Testimonials Typography & Uniform Card Sizing */
  .testimony-modern-section .owl-stage {
    display: flex !important;
    align-items: stretch !important;
  }

  .testimony-modern-section .owl-item {
    display: flex !important;
    align-items: stretch !important;
    height: auto !important;
  }

  .testimony-modern-section .owl-item .item {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .testimony-card-modern {
    display: block !important;
    height: calc(100% - 16px) !important;
    min-height: 220px !important;
  }

  .testimony-card-modern::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
  }

  .testimony-photo-col {
    float: left !important;
    width: 70px !important;
    margin: 0 16px 8px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .client-header {
    margin-bottom: 6px !important;
    padding-right: 28px !important;
  }

  .testimony-card-modern .testimonial-text {
    font-size: 13px !important;
    line-height: 1.55 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    color: #475569 !important;
    min-height: auto !important;
    margin-bottom: 0 !important;
  }

  .client-header .name,
  .testimony-card-modern .name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #102c4e !important;
    margin-bottom: 1px !important;
    line-height: 1.25 !important;
  }

  .client-header .position,
  .testimony-card-modern .position {
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    display: block !important;
    line-height: 1.25 !important;
  }

  .client-header .review-stars,
  .testimony-card-modern .review-stars {
    color: #f59e0b !important;
    font-size: 11px !important;
    margin-top: 3px !important;
    display: flex !important;
    gap: 2px !important;
  }

  .user-verified-badge {
    color: #198754 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  /* Statistics Counter Numbers */
  .counter-content .number,
  .ftco-counter .text strong.number {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  .counter-content h3,
  .counter-content h4,
  .counter-content h5 {
    font-size: 15px !important;
  }

  .counter-content p {
    font-size: 12.5px !important;
  }

  /* About & Story Section Typography */
  .wrap-about .heading-section h2 {
    font-size: 24px !important;
  }

  .wrap-about p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .premium-info-box h2 {
    font-size: 21px !important;
    line-height: 1.3 !important;
  }

  .premium-info-box p {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  /* FAQ Section Typography */
  .faq-section h3,
  .accordion .card-header button,
  .accordion-button {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .accordion .card-body {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }

  /* Contact Page Typography */
  .contact-info .heading {
    font-size: 15px !important;
  }

  .contact-info p,
  .contact-info span {
    font-size: 13px !important;
  }

  /* Compact & User-Friendly Mobile Footer Optimization */
  .ftco-footer.ftco-section {
    padding: 36px 0 20px !important;
  }

  .ftco-footer .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ftco-footer .ftco-footer-widget {
    margin-bottom: 22px !important;
  }

  .ftco-footer .ftco-footer-widget img {
    height: 52px !important;
    width: auto !important;
    margin-bottom: 10px !important;
  }

  .ftco-footer .ftco-footer-widget p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 14px !important;
    text-align: justify !important;
    text-justify: inter-word !important;
  }

  .ftco-footer .ftco-heading-2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.3px;
    color: #ffffff !important;
    text-transform: uppercase;
  }

  .ftco-footer .col-md-4.d-flex {
    display: block !important;
  }

  /* 2-Column Responsive Grid for Quick Links to reduce vertical height */
  .ftco-footer .ftco-footer-widget ul.list-unstyled:not(.ftco-footer-social) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px 16px !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
  }

  .ftco-footer .ftco-footer-widget ul.list-unstyled li a {
    font-size: 13px !important;
    line-height: 1.4 !important;
    padding: 4px 0 !important;
    display: inline-block !important;
    color: #e2e8f0 !important;
  }

  .ftco-footer .ftco-footer-widget ul.list-unstyled li a:hover {
    color: #d09c00 !important;
  }

  /* Compact Contact Details */
  .ftco-footer .block-23 ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
  }

  .ftco-footer .block-23 ul li {
    margin-bottom: 0 !important;
    padding: 0 !important;
  }

  .ftco-footer .block-23 ul li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #e2e8f0 !important;
  }

  .ftco-footer .block-23 ul li a .icon {
    font-size: 14px !important;
    color: #d09c00 !important;
    width: 20px !important;
  }

  /* Streamlined Copyright Row */
  .ftco-footer .row:last-child {
    margin-top: 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .ftco-footer .row:last-child p {
    font-size: 11.5px !important;
    margin-bottom: 0 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    line-height: 1.5 !important;
  }
}

/* Extra Small Mobile Devices (< 380px) */
@media (max-width: 379.98px) {

  h1,
  .h1 {
    font-size: 23px !important;
  }

  h2,
  .h2 {
    font-size: 20px !important;
  }

  .heading-section h2 {
    font-size: 20px !important;
  }

  .request-form .step-text h2 {
    font-size: 17px !important;
  }

  .ch-topbar {
    font-size: 10px !important;
  }

  .ch-topbar a {
    font-size: 10px !important;
  }

  .ftco-footer.ftco-section {
    padding: 28px 0 16px !important;
  }

  .ftco-footer .ftco-footer-widget {
    margin-bottom: 18px !important;
  }

  .ftco-footer .ftco-footer-widget img {
    height: 44px !important;
  }

  .ftco-footer .ftco-footer-widget ul.list-unstyled li a {
    font-size: 12px !important;
  }
}

/* Tablet Viewport Optimization (768px – 991.98px) */
@media (min-width: 768px) and (max-width: 991.98px) {

  h1,
  .h1 {
    font-size: 32px !important;
  }

  h2,
  .h2 {
    font-size: 28px !important;
  }

  .heading-section h2 {
    font-size: 30px !important;
  }

  body,
  p,
  li {
    font-size: 15px;
  }
}

/* --------------------------------------------------------------------------
   9. Swiss Market (CH) Executive Precision & Color Consistency
   -------------------------------------------------------------------------- */

/* Disable automatic browser word hyphenation across UI */
*,
*::before,
*::after,
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
label,
button,
input,
select,
textarea,
div {
  -webkit-hyphens: none !important;
  -moz-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
}

/* Universal Typography: Cambria Font Style */
:root {
  --font-family-sans-serif: Cambria, Georgia, "Times New Roman", serif !important;
  --font-family-base: Cambria, Georgia, "Times New Roman", serif !important;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p,
label,
li,
ul,
ol,
dl,
dt,
dd,
blockquote,
figcaption,
input,
button,
select,
textarea,
optgroup,
.btn,
.navbar,
.navbar-brand,
.navbar-nav,
.nav-link,
.nav-item,
.dropdown-item,
.heading-section,
.subheading,
.hero-wrap,
.slider-text,
.car-wrap,
.fleet-card-luxury,
.destination-card,
.trust-pillar-card,
.ch-topbar,
.ftco-footer,
.ftco-section,
.form-control,
.select2,
.select2-container,
.select2-selection,
table,
th,
td {
  font-family: Cambria, Georgia, "Times New Roman", serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

/* Inline text elements inherit Cambria without overriding icon fonts */
span:not([class*="fa-"]):not([class*="icon-"]):not([class*="flaticon-"]):not([class*="ion-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.oi):not(.flag-icon),
a:not([class*="fa-"]):not([class*="icon-"]):not([class*="flaticon-"]):not([class*="ion-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.oi):not(.flag-icon) {
  font-family: Cambria, Georgia, "Times New Roman", serif !important;
}

/* Booking Badges & "Swiss Transfer" Color */
.booking-summary-card .badge,
.booking-panel .service-badge,
.booking-confirm-section .badge,
.service-badge {
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn.btn-primary:hover,
.btn.btn-primary:focus {
  background: #d09c00 !important;
  border-color: #d09c00 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(208, 156, 0, 0.35) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn.btn-secondary:hover,
.btn.btn-secondary:focus {
  background: #b88a00 !important;
  border-color: #b88a00 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(184, 138, 0, 0.35) !important;
}

/* Executive Swiss Form Focus Glow */
.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
  border-color: #102c4e !important;
  box-shadow: 0 0 0 0.2rem rgba(16, 44, 78, 0.18) !important;
}

/* Refined Link Transitions */
a {
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:hover,
a:focus {
  color: #d09c00;
}

/* Loader Circle Swiss Gold Accent */
#ftco-loader .path {
  stroke: #d09c00 !important;
}

/* Quick Links 2-Column Grid Layout (Desktop & Web View) */
.ftco-footer .ftco-footer-widget ul.list-unstyled:not(.ftco-footer-social) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(105px, 1fr)) !important;
  column-gap: 28px !important;
  row-gap: 6px !important;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.ftco-footer .ftco-footer-widget ul.list-unstyled:not(.ftco-footer-social) li {
  margin-bottom: 0 !important;
}

.ftco-footer .ftco-footer-widget ul.list-unstyled:not(.ftco-footer-social) li a {
  padding: 4px 0 !important;
  display: inline-block !important;
  font-size: 14px !important;
  color: #e2e8f0 !important;
  transition: color 0.2s ease, transform 0.2s ease;
}

.ftco-footer .ftco-footer-widget ul.list-unstyled:not(.ftco-footer-social) li a:hover {
  color: #d09c00 !important;
  transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   10. Dedicated Fleet Showcase Page Styles (Inspired by srilankatransfer.lk)
   -------------------------------------------------------------------------- */
.fleet-page-section {
  padding: 60px 0 80px;
  background: #f8fafc;
}

.fleet-filter-wrapper {
  margin-bottom: 40px;
  text-align: center;
}

.fleet-filter-btn {
  background: #ffffff;
  color: #102c4e;
  border: 1px solid #e2e8f0;
  padding: 8px 20px;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: 30px;
  margin: 4px 6px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.fleet-filter-btn:hover,
.fleet-filter-btn.active {
  background: #102c4e;
  color: #ffffff;
  border-color: #102c4e;
  box-shadow: 0 4px 12px rgba(16, 44, 78, 0.2);
}

.fleet-filter-btn.active {
  background: linear-gradient(135deg, #102c4e, #1a4273);
}

/* Rearranged Fleet Card Design */
.fleet-card-luxury {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fleet-card-luxury:hover {
  transform: translateY(-6px);
  border-color: #d09c00;
  box-shadow: 0 16px 36px rgba(16, 44, 78, 0.12);
}

/* 1. Header of Card: Category Badge + Vehicle Title */
.fleet-card-header {
  padding: 22px 22px 14px;
  background: #ffffff;
  border-bottom: 1px solid #f1f5f9;
}

.fleet-card-header-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.fleet-category-badge {
  background: #102c4e;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  padding: 4px 10px;
  border-radius: 4px;
}

.fleet-feature-tag {
  background: rgba(208, 156, 0, 0.12);
  color: #b88a00;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.fleet-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #102c4e;
  margin-bottom: 2px;
  line-height: 1.3;
}

.fleet-card-subtitle {
  font-size: 13px;
  color: #64748b;
  margin-bottom: 0;
}

/* 2. Vehicle Showcase Stage */
.fleet-card-stage {
  height: 195px;
  background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 15px;
}

.fleet-card-stage img {
  max-width: 88%;
  max-height: 85%;
  object-fit: contain;
  transition: transform 0.4s ease;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.12));
}

.fleet-card-luxury:hover .fleet-card-stage img {
  transform: scale(1.06);
}

/* 3. Specs & Highlights Body */
.fleet-card-content {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.fleet-specs-pills {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}

.fleet-pill-badge {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  color: #334155;
  display: flex;
  align-items: center;
}

.fleet-pill-badge i {
  color: #d09c00;
  width: 18px;
  font-size: 13px;
  margin-right: 6px;
}

.fleet-highlights-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

.fleet-highlights-list li {
  font-size: 12.5px;
  color: #64748b;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
}

.fleet-highlights-list li i {
  color: #10b981;
  margin-right: 7px;
  font-size: 12px;
}

/* 4. Footer Pricing & Dual Action */
.fleet-card-bottom {
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fleet-rate-box {
  display: flex;
  flex-direction: column;
}

.fleet-rate-caption {
  font-size: 10.5px;
  color: #94a3b8;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.fleet-rate-price {
  font-size: 21px;
  font-weight: 800;
  color: #d09c00;
  line-height: 1.1;
}

.fleet-rate-vat {
  font-size: 10px;
  color: #94a3b8;
  margin-top: 2px;
}

.fleet-cta-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-fleet-book {
  background: #102c4e;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 18px !important;
  border-radius: 6px;
  text-decoration: none !important;
  transition: all 0.25s ease;
  border: 1px solid #102c4e;
}

.btn-fleet-book:hover {
  background: #d09c00;
  border-color: #d09c00;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(208, 156, 0, 0.35);
}

.btn-fleet-whatsapp {
  background: #25d366;
  color: #ffffff !important;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.btn-fleet-whatsapp:hover {
  background: #20ba5a;
  transform: scale(1.05);
}


/* Fleet Page Trust Inclusions Strip */
.fleet-standards-section {
  background: #ffffff;
  padding: 60px 0;
  border-top: 1px solid #e2e8f0;
}

.fleet-standard-item {
  text-align: center;
  padding: 20px 15px;
}

.fleet-standard-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 16px;
  background: #f1f5f9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #102c4e;
  font-size: 24px;
  transition: all 0.3s ease;
}

.fleet-standard-item:hover .fleet-standard-icon {
  background: #102c4e;
  color: #d09c00;
  transform: translateY(-4px);
}

.fleet-standard-item h5 {
  font-size: 16px;
  font-weight: 700;
  color: #102c4e;
  margin-bottom: 8px;
}

.fleet-standard-item p {
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 0;
}

/* Fleet VIP CTA Banner */
.fleet-vip-cta {
  background: linear-gradient(135deg, #102c4e 0%, #0b1a2d 100%);
  border-radius: 14px;
  padding: 40px;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(16, 44, 78, 0.25);
  margin-top: 50px;
}

@media (max-width: 767.98px) {
  .fleet-page-section {
    padding: 35px 0 50px;
  }

  .fleet-filter-btn {
    font-size: 12px;
    padding: 6px 14px;
    margin: 3px 4px;
  }

  .fleet-card-header {
    padding: 16px 16px 12px;
  }

  .fleet-card-title {
    font-size: 18px;
  }

  .fleet-card-stage {
    height: 165px;
  }

  .fleet-card-content {
    padding: 16px;
  }

  .fleet-specs-pills {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .fleet-pill-badge {
    padding: 5px 8px;
    font-size: 11px;
  }

  .fleet-card-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .fleet-cta-group {
    width: 100%;
  }

  .btn-fleet-book {
    flex-grow: 1;
    text-align: center;
    padding: 10px !important;
  }

  .fleet-vip-cta {
    padding: 26px 18px;
    text-align: center;
  }

  .fleet-vip-cta .btn {
    width: 100%;
    margin-top: 15px;
  }
}

/* --------------------------------------------------------------------------
   11. Swiss Multilingual Language Selector & Google Translate Styling
   -------------------------------------------------------------------------- */

/* Hide Google's default frames, banners, tooltips, and prevent body shift */
.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
iframe.goog-te-banner-frame {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
}

body {
  top: 0px !important;
  position: static !important;
}

#google_translate_element {
  display: none !important;
}

.goog-tooltip,
.goog-tooltip:hover {
  display: none !important;
}

.goog-text-highlight {
  background-color: transparent !important;
  box-shadow: none !important;
}

.skiptranslate>iframe {
  display: none !important;
}

.goog-te-gadget {
  display: none !important;
}

/* Custom Swiss Luxury Language Switcher */
.ch-lang-dropdown {
  position: relative;
  display: inline-block;
  margin-left: 8px;
}

.ch-lang-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 7px;
  line-height: 1.25;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ch-lang-btn:hover,
.ch-lang-btn:focus {
  background: #d09c00;
  border-color: #d09c00;
  color: #ffffff;
  outline: none;
}

.ch-lang-btn i.fa-globe {
  color: #d09c00;
  font-size: 11px;
}

.ch-lang-btn:hover i.fa-globe {
  color: #ffffff;
}

.ch-lang-menu {
  background: #0b1a2d !important;
  border: 1px solid rgba(208, 156, 0, 0.35) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45) !important;
  padding: 6px 0 !important;
  min-width: 145px !important;
  margin-top: 6px !important;
  z-index: 1050 !important;
}

.ch-lang-menu .dropdown-item {
  color: #e2e8f0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  display: flex !important;
  align-items: center !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  cursor: pointer;
}

.ch-lang-menu .dropdown-item:hover,
.ch-lang-menu .dropdown-item:focus {
  background: rgba(208, 156, 0, 0.18) !important;
  color: #d09c00 !important;
  padding-left: 20px !important;
}

.ch-flag-icon {
  width: 17px;
  height: 12px;
  object-fit: cover;
  border-radius: 2px;
  margin-right: 5px;
  vertical-align: middle;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  display: inline-block;
}

.ch-lang-menu .ch-flag-icon {
  width: 20px;
  height: 14px;
  margin-right: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.ch-lang-menu .lang-flag {
  margin-right: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #d09c00;
  background: rgba(208, 156, 0, 0.12);
  border: 1px solid rgba(208, 156, 0, 0.3);
  padding: 1px 5px;
  border-radius: 3px;
  letter-spacing: 0.5px;
  display: inline-block;
  min-width: 26px;
  text-align: center;
}

/* --------------------------------------------------------------------------
   Logo & Navbar Height Synchronization (#102c4e Nav Bar)
   Desktop: Scrolled navbar 55px with 55px logo, NO menu toggle
   Mobile: 55px navbar with 55px logo, menu toggle ONLY in mobile view
   -------------------------------------------------------------------------- */

/* Hide menu toggle on all desktop screens */
@media (min-width: 992px) {

  .navbar-toggler,
  .ftco-navbar-light .navbar-toggler,
  .ftco-navbar-light.scrolled .navbar-toggler {
    display: none !important;
    visibility: hidden !important;
  }

  .ftco-navbar-light.scrolled {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
    z-index: 1040 !important;
  }

  .ftco-navbar-light.scrolled .container {
    height: 74px !important;
    max-height: 74px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
  }

  .ftco-navbar-light.scrolled .navbar-brand {
    height: 74px !important;
    max-height: 74px !important;
    padding: 0 !important;
    margin: 0 1.5rem 0 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }

  .ftco-navbar-light.scrolled #logo {
    height: 60px !important;
    max-height: 60px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    position: static !important;
    top: 0 !important;
    transition: none !important;
  }

  .ftco-navbar-light.scrolled .navbar-nav {
    height: 74px !important;
    display: flex !important;
    align-items: center !important;
  }

  .ftco-navbar-light.scrolled .nav-link {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 74px !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* Mobile View: 72px height for mobile dark color nav bar */
@media (max-width: 991.98px) {

  .ftco-navbar-light {
    background: #102c4e !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    top: 0 !important;
    overflow: visible !important;
    z-index: 1040 !important;
  }

  .ftco-navbar-light.scrolled {
    background: #102c4e !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    top: 0 !important;
    overflow: visible !important;
    z-index: 1040 !important;
  }

  .ftco-navbar-light .container {
    height: 72px !important;
    max-height: 72px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .ftco-navbar-light.scrolled .container {
    height: 72px !important;
    max-height: 72px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .ftco-navbar-light .navbar-brand {
    height: 72px !important;
    max-height: 72px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .ftco-navbar-light.scrolled .navbar-brand {
    height: 72px !important;
    max-height: 72px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .ftco-navbar-light #logo {
    height: 58px !important;
    max-height: 58px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  .ftco-navbar-light.scrolled #logo {
    height: 58px !important;
    max-height: 58px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    position: static !important;
    top: 0 !important;
  }

  .ftco-navbar-light .navbar-toggler {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 72px !important;
    line-height: 72px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .ftco-navbar-light.scrolled .navbar-toggler {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 72px !important;
    line-height: 72px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .ftco-navbar-light .navbar-toggler,
  .ftco-navbar-light.scrolled .navbar-toggler {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    margin: 0 !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 15px !important;
  }

  .ftco-navbar-light .navbar-collapse {
    position: absolute !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #102c4e !important;
    padding: 14px 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
    z-index: 9999 !important;
  }

  .ftco-navbar-light.scrolled .navbar-collapse {
    position: absolute !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #102c4e !important;
    padding: 14px 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
    z-index: 9999 !important;
  }

  .ftco-navbar-light .navbar-nav>.nav-item>.nav-link,
  .ftco-navbar-light.scrolled .navbar-nav>.nav-item>.nav-link {
    line-height: 1.5 !important;
    padding: 10px 0 !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .ftco-navbar-light .navbar-nav>.nav-item:last-child>.nav-link,
  .ftco-navbar-light.scrolled .navbar-nav>.nav-item:last-child>.nav-link {
    border-bottom: none !important;
  }
}

/* --------------------------------------------------------------------------
   Discover More About Who We Are - Mobile View Single Image Composition
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
  #get-info .image-layout {
    position: relative !important;
    min-height: 280px !important;
    margin-bottom: 35px !important;
    display: block !important;
  }

  #get-info .main-image {
    width: 78% !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #get-info .main-image img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
  }

  #get-info .small-image {
    position: absolute !important;
    right: 0 !important;
    bottom: -15px !important;
    width: 50% !important;
    margin-top: 0 !important;
    z-index: 2 !important;
  }

  #get-info .small-image img {
    width: 100% !important;
    height: 165px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
  }
}

@media (max-width: 575.98px) {
  #get-info .image-layout {
    min-height: 240px !important;
    margin-bottom: 30px !important;
  }

  #get-info .main-image {
    width: 76% !important;
  }

  #get-info .main-image img {
    height: 210px !important;
    border-radius: 14px !important;
  }

  #get-info .small-image {
    width: 52% !important;
    bottom: -12px !important;
  }

  #get-info .small-image img {
    height: 140px !important;
    border-radius: 14px !important;
    border: 3px solid #ffffff !important;
  }
}

/* ==========================================================================
   PREMIUM STYLES: OUR PREMIUM SERVICES SECTION
   ========================================================================== */
.services-modern-section {
  position: relative !important;
  padding: 4rem 0 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #edf3fa 100%) !important;
  overflow: visible !important;
}

.services-modern-section .heading-section .subheading {
  display: inline-block !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #c5a059 !important;
  background: rgba(197, 160, 89, 0.12) !important;
  padding: 5px 16px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(197, 160, 89, 0.25) !important;
  margin-bottom: 14px !important;
}

.services-modern-section .heading-section h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #0b2239 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 12px !important;
}

.services-modern-section .heading-section p {
  font-size: 15px !important;
  color: #64748b !important;
  max-width: 620px;
  margin: 0 auto !important;
}

/* Service Cards */
.service-card-modern {
  position: relative !important;
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 36px 30px 32px !important;
  box-shadow: 0 10px 30px rgba(11, 34, 57, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(11, 34, 57, 0.08) !important;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.service-card-modern::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #07306b 0%, #c5a059 100%) !important;
  opacity: 0 !important;
  transform: scaleX(0.4) !important;
  transform-origin: center !important;
  transition: all 0.35s ease !important;
}

.service-card-modern:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 22px 45px rgba(11, 34, 57, 0.12), 0 4px 10px rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(197, 160, 89, 0.35) !important;
}

.service-card-modern:hover::before {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

/* Service Icon */
.service-icon-modern {
  width: 76px !important;
  height: 76px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #07306b 0%, #0c3e7e 60%, #102c4e 100%) !important;
  color: #ffd700 !important;
  font-size: 32px !important;
  margin-bottom: 24px !important;
  border: 2px solid rgba(197, 160, 89, 0.3) !important;
  box-shadow: 0 10px 22px rgba(7, 48, 107, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.4s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.service-card-modern:hover .service-icon-modern {
  transform: scale(1.08) rotate(-3deg) !important;
  box-shadow: 0 14px 28px rgba(7, 48, 107, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  border-color: #ffd700 !important;
}

/* Service Content */
.service-content-modern {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.service-content-modern .heading {
  color: #0b2239 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
  margin-bottom: 12px !important;
  transition: color 0.3s ease !important;
}

.service-card-modern:hover .service-content-modern .heading {
  color: #07306b !important;
}

.service-content-modern p {
  color: #556987 !important;
  font-size: 13.5px !important;
  line-height: 1.75 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   PREMIUM STYLES: WHY CHOOSE US (COUNTER LUXURY SECTION)
   ========================================================================== */
#section-counter.counter-luxury-section {
  position: relative !important;
  padding: 4.5rem 0 !important;
  background: radial-gradient(circle at 50% 15%, #153863 0%, #0a1f38 60%, #051324 100%) !important;
  overflow: visible !important;
}

#section-counter.counter-luxury-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: radial-gradient(circle at 80% 80%, rgba(197, 160, 89, 0.08) 0%, transparent 60%),
              radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.04) 0%, transparent 50%) !important;
  pointer-events: none !important;
}

#section-counter.counter-luxury-section .heading-section .subheading {
  display: inline-block !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #ffd700 !important;
  background: rgba(197, 160, 89, 0.15) !important;
  padding: 5px 16px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255, 215, 0, 0.3) !important;
  margin-bottom: 14px !important;
}

#section-counter.counter-luxury-section .heading-section h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 12px !important;
}

#section-counter.counter-luxury-section .heading-section p {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 15px !important;
  max-width: 650px;
  margin: 0 auto !important;
}

/* Glassmorphism Luxury Counter Cards */
.counter-card {
  position: relative !important;
  height: 100% !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-radius: 22px !important;
  padding: 38px 26px 34px !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  text-align: center !important;
  overflow: hidden !important;
}

.counter-card::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at 50% 0%, rgba(197, 160, 89, 0.18) 0%, transparent 70%) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
  pointer-events: none !important;
}

.counter-card:hover {
  transform: translateY(-8px) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(197, 160, 89, 0.45) !important;
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.35), 0 0 25px rgba(197, 160, 89, 0.18) !important;
}

.counter-card:hover::after {
  opacity: 1 !important;
}

/* Counter Icon */
.counter-icon {
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 22px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(197, 160, 89, 0.25) 0%, rgba(197, 160, 89, 0.08) 100%) !important;
  border: 1.5px solid rgba(255, 215, 0, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffd700 !important;
  font-size: 32px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2), inset 0 0 15px rgba(197, 160, 89, 0.15) !important;
  transition: all 0.4s ease !important;
}

.counter-card:hover .counter-icon {
  transform: scale(1.1) rotate(4deg) !important;
  border-color: #ffd700 !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.3), 0 0 20px rgba(255, 215, 0, 0.3) !important;
}

/* Counter Number */
.counter-content .number {
  display: block !important;
  font-size: 46px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 60%, #c5a059 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  letter-spacing: -1px !important;
}

#section-counter .counter-content h3,
#section-counter .counter-content h4,
#section-counter .counter-content h5,
.counter-content h3,
.counter-content h4,
.counter-content h5,
.counter-card h3,
.counter-card h4,
.counter-card h5 {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 10px !important;
  letter-spacing: -0.2px !important;
}

.counter-content p {
  font-size: 13.5px !important;
  color: rgba(255, 255, 255, 0.72) !important;
  line-height: 1.65 !important;
  margin-bottom: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .services-modern-section,
  #section-counter.counter-luxury-section {
    padding: 3rem 0 !important;
  }

  .services-modern-section .heading-section h2,
  #section-counter.counter-luxury-section .heading-section h2 {
    font-size: 28px !important;
  }

  .service-card-modern,
  .counter-card {
    padding: 28px 22px !important;
  }
}

/* ==========================================================================
   Footer Location Map Integration (Compact & Premium)
   ========================================================================== */
.footer-map-address {
  margin-top: 12px;
  margin-bottom: 7px;
  font-size: 11.5px;
  color: #cbd5e1;
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.3;
}

.footer-map-address i {
  color: #d09c00;
  font-size: 11px;
}

.footer-map-box {
  width: 100%;
  height: 110px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(208, 156, 0, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
  position: relative;
  margin-top: 0;
  background: #0f172a;
}

.footer-map-box iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block;
  opacity: 0.92;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

.footer-map-box:hover iframe {
  opacity: 1;
}

@media (max-width: 767.98px) {
  .footer-map-address {
    margin-top: 10px;
    margin-bottom: 6px;
  }

  .footer-map-box {
    height: 120px;
    margin-top: 0;
  }
}

/* ==========================================================================
   Hero Booking Form Position Adjustment (Small Up Direction)
   ========================================================================== */
@media (min-width: 992px) {
  .featured-top {
    margin-top: -320px !important;
    position: relative;
    z-index: 5 !important;
  }
}

/* ==========================================================================
   Mobile Swiper / Carousel for Services, Counter & Destinations
   ========================================================================== */
@media (max-width: 767.98px) {
  .services-modern-section .row.g-4,
  #section-counter .row.g-4,
  #destinations-section .row.g-4 {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
    gap: 16px !important;
    padding: 10px 18px 20px 18px !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .services-modern-section .row.g-4::-webkit-scrollbar,
  #section-counter .row.g-4::-webkit-scrollbar,
  #destinations-section .row.g-4::-webkit-scrollbar {
    display: none !important;
  }

  .services-modern-section .row.g-4 > div,
  #section-counter .row.g-4 > div,
  #destinations-section .row.g-4 > div {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    width: 85% !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
    margin-bottom: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .services-modern-section .service-card-modern,
  #destinations-section .destination-card,
  #section-counter .counter-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  .services-modern-section .service-content-modern {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .services-modern-section .service-content-modern p {
    text-align: justify !important;
    text-justify: inter-word !important;
  }

  #destinations-section .destination-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #destinations-section .destination-body p,
  #destinations-section .destination-desc {
    text-align: justify !important;
    text-justify: inter-word !important;
  }
}

/* Mobile Swiper Pagination Dots */
.ch-swiper-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  margin-bottom: 10px;
  width: 100%;
}

.ch-swiper-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(208, 156, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  border: none;
  padding: 0;
}

.ch-swiper-dot.active {
  width: 24px;
  border-radius: 12px;
  background: #d09c00;
  box-shadow: 0 2px 8px rgba(208, 156, 0, 0.45);
}

@media (min-width: 768px) {
  .ch-swiper-dots {
    display: none !important;
  }
}

/* ==========================================================================
   Estimated Fleet Rates for this Route - Two Columns Mobile View
   ========================================================================== */
@media (max-width: 767.98px) {
  .re-fleet-rates-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    max-width: 330px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 22px !important;
  }

  .re-fleet-rate-card {
    padding: 8px 6px !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* Center the 3rd card on its own row with matching decreased width */
  .re-fleet-rate-card:nth-child(3):last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    margin: 0 auto !important;
  }

  .re-fleet-card-img {
    width: 100% !important;
    height: 40px !important;
    object-fit: contain !important;
    margin-bottom: 5px !important;
  }

  .re-fleet-card-cat {
    font-size: 0.68rem !important;
    line-height: 1.2 !important;
  }

  .re-fleet-card-name {
    font-size: 0.76rem !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .re-fleet-card-price {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }

  .re-fleet-card-price span {
    font-size: 0.68rem !important;
  }
}

/* ==========================================================================
   Homepage About Us Section - Mobile User-Friendly Optimization
   ========================================================================== */
@media (max-width: 767.98px) {
  .ftco-section.ftco-about {
    padding: 2.8rem 0 3.2rem 0 !important;
    background: #102c4e !important;
    overflow: hidden !important;
  }

  .ftco-about:after {
    width: 100% !important;
    background: #102c4e !important;
  }

  .ftco-about .img.img-2 {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    margin-bottom: 22px !important;
    border-radius: 14px !important;
    border: 2px solid rgba(208, 156, 0, 0.45) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35) !important;
    background-size: cover !important;
    background-position: center center !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .ftco-about .wrap-about {
    padding: 0 !important;
  }

  .ftco-about .wrap-about .heading-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
  }

  .ftco-about .wrap-about .subheading {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    color: #d09c00 !important;
    display: inline-block !important;
    margin-bottom: 10px !important;
    background: rgba(208, 156, 0, 0.14) !important;
    padding: 3px 12px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(208, 156, 0, 0.35) !important;
  }

  .ftco-about .wrap-about h2 {
    font-size: 23px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 14px !important;
    letter-spacing: -0.3px !important;
  }

  .ftco-about .wrap-about p {
    text-align: justify !important;
    text-justify: inter-word !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    color: #cbd5e1 !important;
    margin-bottom: 14px !important;
    word-spacing: normal !important;
  }

  .ftco-about .wrap-about p:last-child {
    margin-bottom: 0 !important;
  }
}

/* ==========================================================================
   Footer & Popular Routes Justify Text Alignment (Web & Mobile)
   ========================================================================== */
.ftco-footer .ftco-footer-widget p {
  text-align: justify !important;
  text-justify: inter-word !important;
}

.re-description-text,
#reDescriptionText {
  text-align: justify !important;
  text-justify: inter-word !important;
}

/* ==========================================================================
   Footer Contact Us Section Icons Color (Web & Mobile)
   ========================================================================== */
.ftco-footer .block-23 ul li .icon,
.ftco-footer .block-23 ul li a .icon,
.ftco-footer .block-23 ul li span.icon,
.ftco-footer .block-23 .icon {
  color: #d09c00 !important;
}

/* ==========================================================================
   Footer Logo Size (Web View & Responsive Mobile Auto Sizing)
   ========================================================================== */
@media (min-width: 992px) {
  .ftco-footer .ftco-footer-widget img {
    height: 60px !important;
    max-height: 60px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

/* Mobile & Tablet Views: Auto size matching to any mobile responsive screen sizes */
@media (max-width: 991.98px) {
  .ftco-footer .ftco-footer-widget img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: clamp(38px, 8vw, 52px) !important;
    object-fit: contain !important;
    display: inline-block !important;
  }
}

/* Small Smartphone Screen Sizes (<= 576px) */
@media (max-width: 575.98px) {
  .ftco-footer .ftco-footer-widget img {
    width: auto !important;
    height: auto !important;
    max-width: 80% !important;
    max-height: clamp(32px, 10vw, 44px) !important;
    object-fit: contain !important;
    display: inline-block !important;
  }

  /* Responsive Brand Logo auto size */
  #ftco-navbar .navbar-brand img,
  #ftco-navbar #logo {
    width: auto !important;
    height: auto !important;
    max-height: clamp(38px, 9vw, 50px) !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
}


/* ==========================================================================
   Hide Leaflet & OpenStreetMap Attribution
   ========================================================================== */
.leaflet-control-attribution,
.leaflet-container .leaflet-control-attribution,
.leaflet-bottom.leaflet-right .leaflet-control-attribution {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   Booking Page: Full Vehicle Image Display (Desktop & Mobile)
   ========================================================================== */
.vehicle-card .vehicle-img,
img.card-img-top.vehicle-img {
  height: 190px !important;
  width: 100% !important;
  object-fit: contain !important;
  background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%) !important;
  padding: 14px 18px !important;
  border-top-left-radius: .75rem !important;
  border-top-right-radius: .75rem !important;
  transition: transform .3s ease !important;
}

.vehicle-card:hover .vehicle-img {
  transform: scale(1.04) !important;
}

@media (max-width: 575.98px) {
  .vehicle-card .vehicle-img,
  img.card-img-top.vehicle-img {
    height: 170px !important;
    padding: 10px 14px !important;
    object-fit: contain !important;
  }
}

/* ==========================================================================
   Confirm Booking Page: Luxury Total Fixed Rate Box
   ========================================================================== */
.confirm-total-box {
  background: linear-gradient(135deg, #f8fbff 0%, #edf4fc 100%) !important;
  border: 1.5px solid #cbdff2 !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  box-shadow: 0 4px 16px rgba(16, 44, 78, 0.06) !important;
}

.confirm-total-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #102c4e !important;
  display: flex !important;
  align-items: center !important;
}

.confirm-total-badge {
  background: rgba(208, 156, 0, 0.14) !important;
  color: #a07800 !important;
  border: 1px solid rgba(208, 156, 0, 0.35) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.7px !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
}

.confirm-total-amount {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.confirm-total-amount .confirm-currency {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #102c4e !important;
  letter-spacing: 0.5px !important;
}

.confirm-total-amount .confirm-val {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #00874e !important;
  letter-spacing: -0.5px !important;
  line-height: 1 !important;
}

.confirm-calc-note {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

.confirm-total-included {
  border-top: 1px dashed #cbd5e1 !important;
  font-size: 12px !important;
  color: #475569 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.4 !important;
}

/* ==========================================================================
   Luxury Booking Confirmation Modal Popup
   ========================================================================== */

/* Modal Popup Overlay */
.booking-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(15, 23, 42, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

.booking-modal-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
}

.booking-modal-dialog {
  background: #ffffff !important;
  border-radius: 20px !important;
  max-width: 520px !important;
  width: 100% !important;
  padding: 36px 32px 30px !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
  position: relative !important;
  transform: scale(0.92) translateY(20px);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.booking-modal-overlay.active .booking-modal-dialog {
  transform: scale(1) translateY(0) !important;
}

.booking-modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 18px !important;
  background: #f1f5f9 !important;
  border: none !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  line-height: 1 !important;
  color: #64748b !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.booking-modal-close:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  transform: rotate(90deg) !important;
}

.booking-modal-header {
  margin-bottom: 24px !important;
}

.modal-icon-badge {
  width: 68px !important;
  height: 68px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35) !important;
  animation: pulseSuccess 2s infinite ease-in-out;
}

@keyframes pulseSuccess {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.modal-pretitle {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #059669 !important;
  background: #ecfdf5 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  margin-bottom: 10px !important;
}

.booking-modal-header .modal-title {
  color: #102c4e !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.3px !important;
}

.booking-modal-header .modal-desc {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}

.booking-ref-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px !important;
  margin-bottom: 24px !important;
}

.booking-ref-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  color: #64748b !important;
  margin-bottom: 6px !important;
}

.booking-ref-value {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.booking-ref-value #bookingRefText {
  font-family: 'Consolas', 'Monaco', monospace !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  color: #102c4e !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
}

.btn-copy-ref {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
  border-radius: 8px !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 15px !important;
  transition: all 0.2s ease !important;
}

.btn-copy-ref:hover {
  background: #102c4e !important;
  color: #ffffff !important;
  border-color: #102c4e !important;
}

.booking-ref-note {
  font-size: 12px !important;
  color: #64748b !important;
}

.booking-modal-footer {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.btn-modal-pdf {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 14px 20px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(5, 150, 105, 0.35) !important;
  transition: all 0.25s ease !important;
}

.btn-modal-pdf:hover {
  background: linear-gradient(135deg, #047857 0%, #065f46 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 22px rgba(5, 150, 105, 0.45) !important;
  transform: translateY(-2px) !important;
}

.btn-modal-close-stay {
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
}

.btn-modal-close-stay:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

@media (max-width: 576px) {
  .booking-modal-dialog {
    padding: 28px 20px 22px !important;
  }
  .booking-modal-header .modal-title {
    font-size: 20px !important;
  }
  .booking-ref-value #bookingRefText {
    font-size: 16px !important;
    padding: 6px 10px !important;
  }
}

/* ==========================================================================
   Mobile View Paragraph Justification
   ========================================================================== */
@media (max-width: 991.98px) {
  .ftco-about .wrap-about p,
  .wrap-about p,
  #get-info .info-content p,
  .premium-info-box p {
    text-align: justify !important;
    text-justify: inter-word !important;
  }
}

@media (max-width: 768px) {
  p,
  .ftco-about .wrap-about p,
  .wrap-about p,
  #get-info .info-content p,
  .premium-info-box p {
    text-align: justify !important;
    text-justify: inter-word !important;
  }
}

/* ==========================================================================
   Google Places Autocomplete Dropdown Styling
   ========================================================================== */
.pac-container {
  z-index: 999999 !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22) !important;
  border: 1px solid rgba(208, 156, 0, 0.35) !important;
  font-family: inherit !important;
  margin-top: 4px !important;
  background-color: #ffffff !important;
}

.pac-item {
  padding: 10px 14px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
  border-top: 1px solid #f1f5f9 !important;
  color: #334155 !important;
}

.pac-item:first-child {
  border-top: none !important;
}

.pac-item:hover,
.pac-item-selected {
  background-color: #f8fafc !important;
}

.pac-icon {
  margin-top: 4px !important;
}

.pac-item-query {
  font-size: 14px !important;
  color: #102c4e !important;
  font-weight: 700 !important;
}

.pac-matched {
  color: #d09c00 !important;
  font-weight: 700 !important;
}