:root {
      --primary-blue: #1e40af;
      --secondary-blue: #3b82f6;
      --accent-orange: #f59e0b;
      --success-green: #10b981;
      --error-red: #ef4444;
      --text-dark: #1f2937;
      --text-muted: #6b7280;
      --bg-white: #ffffff;
      --bg-light: #f8fafc;
      --bg-gray: #f1f5f9;
      --border-light: #e2e8f0;
      --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
      --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
      --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
      --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
      --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
      --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
      --border-radius: 8px;
      --border-radius-lg: 16px;
      --border-radius-xl: 24px;
      --hero-search-bg: rgba(255, 255, 255, 0.95);
      --dark-nav-bg: #101D3B;
      --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      --gradient-success: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
      --gradient-warm: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      line-height: 1.6;
      color: var(--text-dark);
      background-color: var(--bg-white);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    ::selection {
      background-color: var(--primary-blue);
      color: white;
    }

    .preloader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, var(--primary-blue), var(--secondary-blue));
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10000;
      transition: opacity 0.8s ease, visibility 0.8s ease;
    }

    .preloader.loaded {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .preloader .spinner-container {
      text-align: center;
      color: white;
    }

    .preloader .spinner {
      width: 60px;
      height: 60px;
      border: 4px solid rgba(255, 255, 255, 0.2);
      border-top: 4px solid white;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto 2rem;
    }

    @keyframes spin {
      0% {
        transform: rotate(0deg);
      }
      100% {
        transform: rotate(360deg);
      }
    }

    .preloader-text {
      font-size: 1.1rem;
      font-weight: 500;
      letter-spacing: 0.05em;
    }

    .site-header {
      background-color: #ffffff;
      padding-top: 1rem;
      padding-bottom: 0.5rem;
      position: sticky;
      top: 0;
      z-index: 1030;
      box-shadow: var(--shadow);
      transition: var(--transition);
    }

    .site-header.scrolled {
      padding-top: 0.5rem;
      padding-bottom: 0.25rem;
    }

    .header-logo-container {
      text-align: center;
      padding-bottom: 0.5rem;
    }

    .header-logo-container #brandLogo {
      max-height: 60px;
      width: auto;
      transition: var(--transition);
    }

    .site-header.scrolled #brandLogo {
      max-height: 50px;
    }

    .main-navigation {
      background-color: var(--dark-nav-bg);
      padding: 0.5rem 0;
      box-shadow: none;
      border-bottom: none;
    }

    .main-navigation .navbar-nav .nav-link {
      color: rgba(255, 255, 255, 0.85);
      padding: 0.8rem 1rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-size: 0.9rem;
      position: relative;
      border-radius: var(--border-radius);
      margin: 0 0.05rem;
      display: flex;
      align-items: center;
      transition: var(--transition-fast);
    }

    .main-navigation .navbar-nav .nav-link::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 2px;
      background-color: var(--accent-orange);
      transition: width 0.3s ease;
    }

    .main-navigation .navbar-nav .nav-link:hover::before,
    .main-navigation .navbar-nav .nav-link.active::before {
      width: 80%;
    }

    .main-navigation .navbar-nav .nav-link i.me-1 {
      margin-right: 0.3rem;
      font-size: 0.9rem;
    }

    .main-navigation .navbar-nav .nav-link:hover,
    .main-navigation .navbar-nav .nav-link.dropdown-toggle:hover {
      color: white;
      background-color: rgba(255, 255, 255, 0.05);
    }

    .main-navigation .dropdown-menu {
      border: none;
      box-shadow: var(--shadow-lg);
      border-radius: var(--border-radius);
      padding: 0.5rem 0;
      margin-top: 0.25rem;
      background-color: var(--dark-nav-bg);
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      animation: fadeInDown 0.3s ease;
    }

    @keyframes fadeInDown {
      from {
        opacity: 0;
        transform: translateY(-10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .main-navigation .dropdown-item {
      padding: 0.6rem 1.5rem;
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: rgba(255, 255, 255, 0.8);
      transition: var(--transition-fast);
    }

    .main-navigation .dropdown-item:hover,
    .main-navigation .dropdown-item:focus {
      color: white;
      background-color: rgba(255, 255, 255, 0.1);
      padding-left: 1.8rem;
    }

    .main-navigation .navbar-toggler {
      border-color: rgba(255, 255, 255, 0.3);
      padding: 0.25rem 0.5rem;
    }

    .main-navigation .navbar-toggler-icon {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
      width: 1.25em;
      height: 1.25em;
    }

    .navbar-nav.icons-nav .nav-link {
      padding: 0.8rem 0.7rem;
    }

    .navbar-nav.icons-nav .nav-link .icon-text {
      margin-left: 0.3rem;
    }

    .navbar-nav.icons-nav .nav-link i {
      font-size: 1rem;
      vertical-align: middle;
    }

    .hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: white;
      position: relative;
      padding-top: 5rem;
      padding-bottom: 2rem;
      overflow: hidden;
      text-align: center;
    }

    .hero .hero-video-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      z-index: -1;
    }

    .hero .hero-video-container::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5));
      z-index: 1;
    }

    .hero .hero-video-container iframe {
      filter: brightness(0.45);
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hero .container-fluid {
      width: 100%;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      justify-content: center;
      align-items: center;
      z-index: 2;
      padding: 0 1rem;
    }

    .hero-text-content {
      padding: 2rem 1rem;
      max-width: 800px;
      margin-bottom: 3rem;
      animation: fadeInUp 1s ease;
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
        font-weight: 500;
        margin-bottom: 0.5rem;
        color: rgba(255,255,255,0.9);
        text-transform: uppercase;
        letter-spacing: 0.1em;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
    }

    .hero-text-content h1 {
      font-size: clamp(2.8rem, 7vw, 4.5rem);
      font-weight: 700;
      margin-bottom: 1.5rem;
      font-family: 'Poppins', sans-serif;
      text-shadow: 2px 3px 6px rgba(0, 0, 0, 0.4);
      line-height: 1.2;
      letter-spacing: -0.02em;
    }

    .hero-text-content p.lead {
      font-size: 1.2rem;
      margin-bottom: 0;
      opacity: 0.95;
      max-width: 700px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.7;
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    }

    .hero-search-wrapper {
      width: 100%;
      max-width: 950px;
      padding-bottom: 2rem;
    }

    .search-container {
      background: var(--hero-search-bg);
      color: var(--text-dark);
      padding: 1.5rem;
      border-radius: var(--border-radius-lg);
      box-shadow: var(--shadow-2xl);
      width: 100%;
      border: 1px solid rgba(255, 255, 255, 0.5);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .search-tabs {
      border-bottom: 1px solid var(--border-light);
      margin-bottom: 1.5rem;
    }

    .search-tabs .nav-link {
      padding: 0.8rem 1.5rem;
      font-weight: 600;
      color: var(--text-muted);
      border: none;
      border-bottom: 3px solid transparent;
      transition: var(--transition);
      font-size: 0.9rem;
      text-align: center;
      flex: 1;
      border-radius: 0;
      background-color: transparent;
      position: relative;
    }

    .search-tabs .nav-link.active {
      color: var(--primary-blue);
      border-color: var(--primary-blue);
      background-color: transparent;
    }

    .search-tabs .nav-link:hover {
      color: var(--primary-blue);
      border-color: var(--border-light);
      background-color: transparent;
    }

    .search-filters {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1rem;
      align-items: flex-end;
    }

    .search-form-group {
      position: relative;
    }

    .search-form-group .form-label {
      margin-bottom: 0.5rem;
      display: block;
      font-weight: 500;
      font-size: 0.9rem;
      color: var(--text-muted);
      text-align: left;
    }

    .search-form-group .form-select-wrapper {
      position: relative;
    }

    .search-form-group .form-select-wrapper .form-select {
      padding-right: 2.5rem;
    }

    .search-form-group .form-select-wrapper i.fa-chevron-down {
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--text-muted);
      font-size: 0.85rem;
      pointer-events: none;
    }

    .form-select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }

    .form-control,
    .form-select {
      padding: 0.75rem 1rem;
      border: 1px solid var(--border-light);
      border-radius: var(--border-radius);
      font-size: 0.95rem;
      background: var(--bg-white);
      color: var(--text-dark);
      transition: var(--transition);
      width: 100%;
      height: 48px;
    }

    .form-control:focus,
    .form-select:focus {
      outline: none;
      border-color: var(--primary-blue);
      box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
    }

    .btn-search {
      background: var(--primary-blue);
      color: white;
      border: none;
      padding: 0.75rem 1.5rem;
      border-radius: var(--border-radius);
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      font-size: 0.95rem;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 48px;
      width: 100%;
    }

    .btn-search:hover {
      background: #1a3a8f;
      transform: translateY(-2px);
      box-shadow: var(--shadow-lg);
    }

    .btn-search i {
      margin-right: 0.5rem;
    }

    .interests-group {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem 1rem;
      margin-top: 0.5rem;
    }

    .interests-group .form-check {
      padding-left: 0;
    }

    .interests-group .form-check-input {
      margin-left: 0;
      float: none;
      margin-right: 0.3rem;
      cursor: pointer;
    }

    .interests-group .form-check-label {
      font-size: 0.9rem;
      color: var(--text-muted);
      cursor: pointer;
    }

/* Explore Options Section - MODIFIED FOR SINGLE LINE ON DESKTOP */
.explore-section {
  background-color: var(--bg-light);
  padding: 2.5rem 0; /* Slightly reduced padding */
  border-bottom: 1px solid var(--border-light);
}

.explore-carousel-wrapper {
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  overflow-x: hidden; /* Hide scrollbar by default on desktop */
}

.explore-carousel {
  display: flex;
  justify-content: center; /* Center items if they don't fill the full width */
  align-items: flex-start; /* Align items to the top */
  flex-wrap: nowrap; /* Default to no-wrap for desktop to try for one line */
  gap: 0.5rem; /* Reduced gap between items */
  padding-left: 15px;
  padding-right: 15px;
}

.explore-item {
  flex: 0 0 auto; /* Don't grow or shrink, base width on content or explicit width */
  width: 90px; /* Smaller fixed width */
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.explore-item a {
  text-decoration: none;
  color: var(--text-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  border-radius: var(--border-radius);
  overflow: hidden;
  background-color: var(--bg-white);
  box-shadow: var(--shadow-sm); /* Lighter shadow */
  transition: var(--transition-fast);
  padding: 0.3rem; /* Small padding inside the link */
  cursor: default; /* Make link non-clickable */
  opacity: 0.85;
}

.explore-item a:hover {
  transform: none; /* Disable hover effect */
  box-shadow: var(--shadow-sm); /* Disable hover effect */
}

.explore-item img {
  width: 100%;
  height: 75px; /* Smaller image height */
  object-fit: cover;
  border-radius: calc(var(--border-radius) - 3px); /* If padding on <a>, adjust radius */
  margin-bottom: 0.3rem; /* Space between image and text */
}

.explore-item span {
  font-size: 0.7rem; /* Smaller text */
  font-weight: 500;
  color: var(--text-muted);
  display: block;
  padding: 0.2rem 0.1rem; /* Minimal padding for text */
  line-height: 1.2;
  transition: color 0.2s ease;
  word-break: break-word; /* Helps if text is too long */
}

/* --- Media Queries for Explore Section --- */

/* For very large desktops where all items might fit */
@media (min-width: 1400px) { /* XL and above */
  .explore-carousel {
    justify-content: space-around; /* Spreads items nicely if they fit */
  }
  .explore-carousel-wrapper {
     overflow-x: hidden; /* Ensure no scrollbar if they fit */
  }
}


/* For standard desktops (lg) - may need scroll if 11 items are too wide */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .explore-carousel {
    justify-content: flex-start; /* Start align and allow scroll if needed */
  }
   .explore-carousel-wrapper {
    overflow-x: auto; /* Allow scroll if items don't fit in one line */
    -webkit-overflow-scrolling: touch;
  }
  .explore-carousel-wrapper::-webkit-scrollbar {
    height: 5px;
  }
  .explore-carousel-wrapper::-webkit-scrollbar-track {
    background: var(--bg-gray);
    border-radius: 3px;
  }
  .explore-carousel-wrapper::-webkit-scrollbar-thumb {
    background: var(--primary-blue);
    border-radius: 3px;
  }
}


/* For tablets - Force horizontal scroll */
@media (max-width: 991.98px) {
  .explore-carousel-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .explore-carousel {
    flex-wrap: nowrap; /* Essential for horizontal scroll */
    width: max-content; /* Allow carousel to be wider than viewport */
    justify-content: flex-start;
    gap: 0.8rem; /* Restore original gap for scrolling version */
  }
  .explore-item {
    width: 100px; /* Slightly larger for better touch on scroll */
    margin-right: 0; /* Gap is handled by parent */
  }
   .explore-item img {
    height: 90px;
  }
  .explore-item span {
    font-size: 0.75rem;
  }
  .explore-carousel-wrapper::-webkit-scrollbar {
    height: 6px;
  }
  .explore-carousel-wrapper::-webkit-scrollbar-track {
    background: var(--bg-gray);
    border-radius: 3px;
  }
  .explore-carousel-wrapper::-webkit-scrollbar-thumb {
    background: var(--primary-blue);
    border-radius: 3px;
  }
}

/* For mobile phones - Wrap items */
@media (max-width: 576px) {
  .explore-carousel-wrapper {
    overflow-x: visible; /* No horizontal scroll, allow wrapping */
  }
  .explore-carousel {
    flex-wrap: wrap; /* Allow items to wrap to multiple lines */
    justify-content: center; /* Center wrapped items */
    width: auto; /* Fit to container */
    gap: 0.6rem;
  }
  .explore-item {
    width: calc(33.333% - 0.6rem); /* Approx 3 items per row */
    min-width: 80px; /* Ensure readability */
  }
   .explore-item img {
    height: 70px;
  }
  .explore-item span {
    font-size: 0.65rem;
  }
}

    .section-padding {
      padding: 5rem 0;
    }

    section:not(.hero):not(.explore-section) {
      padding: 5rem 0;
    }

    .section-title {
      text-align: center;
      margin-bottom: 3rem;
    }

    .section-title h2 {
      font-size: clamp(2rem, 5vw, 2.8rem);
      font-weight: 700;
      margin-bottom: 0.5rem;
      font-family: 'Poppins', sans-serif;
      color: var(--text-dark);
      position: relative;
      display: inline-block;
    }

    .section-title h2::after {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: 3px;
      background: var(--accent-orange);
    }

    .section-title p {
      font-size: 1rem;
      color: var(--text-muted);
      max-width: 600px;
      margin: 1.5rem auto 0;
    }

    /* Adventure Categories Grid (Original) */
    .adventure-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 3rem;
      max-width: 1000px;
      margin: 0 auto;
      padding: 2rem 1rem;
    }
    /* Styles for .adventure-item, .adventure-circle, .adventure-icon, .adventure-content, etc. remain as defined for the grid */
    /* These classes are used by the Grid Adventure Categories */
    .adventure-item {
      text-align: center;
      cursor: pointer;
      transition: transform 0.3s ease;
      animation: fadeInUp 0.6s ease-out forwards;
      opacity: 0;
    }
    .adventure-item:nth-child(1) { animation-delay: 0.1s; }
    .adventure-item:nth-child(2) { animation-delay: 0.2s; }
    .adventure-item:nth-child(3) { animation-delay: 0.3s; }
    .adventure-item:nth-child(4) { animation-delay: 0.4s; }
    .adventure-item:nth-child(5) { animation-delay: 0.5s; }
    .adventure-item:nth-child(6) { animation-delay: 0.6s; }

    .adventure-item a {
      text-decoration: none;
      color: inherit;
      display: block;
    }
    .adventure-item:hover {
      transform: translateY(-10px);
    }
    .adventure-circle {
      width: 180px;
      height: 180px;
      margin: 0 auto 1.5rem;
      border-radius: 50%;
      overflow: hidden;
      position: relative;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
    }
     .adventure-item:hover .adventure-circle {
      box-shadow: 0 15px 40px rgba(0,0,0,0.2);
      transform: scale(1.05);
    }
    .adventure-beach { background: linear-gradient(135deg, #fa709a 0%, #fee140 100%); }
    .adventure-cultural { background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); }
    .adventure-shopping { background: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%); }
    .adventure-nature { background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%); }
    .adventure-luxury { background: linear-gradient(135deg, #fbc2eb 0%, #a6c1ee 100%); }
    .adventure-wellness { background: linear-gradient(135deg, #a1c4fd 0%, #c2e9fb 100%); }

    .adventure-icon {
        font-size: 3.5rem;
        color: white;
        filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.2));
    }
    .adventure-content h3 {
        font-size: 1.2rem;
        font-weight: 600;
        color: var(--text-dark);
        margin-bottom: 0.5rem;
    }
    .adventure-content p {
        font-size: 0.9rem;
        color: var(--text-muted);
        margin: 0;
    }


    /* Adventure Showcase Carousel (Let's go on an adventure) - MODIFIED */
    .adventure-carousel-wrapper { /* Wrapper for the scrolling icon section */
      width: 100%;
      overflow: hidden;
      position: relative;
      padding: 2rem 0;
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
      mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
    }

    .adventure-carousel { /* The scrolling container */
      display: flex;
      /* Width for 6 items * 280px width + gap, duplicated for loop */
      width: calc((280px + 1.5rem) * 6 * 2); 
      animation: scrollRightAdventureAnimation 40s linear infinite; /* Adjusted speed */
    }

    .adventure-carousel-wrapper:hover .adventure-carousel {
      animation-play-state: paused;
    }

    .adventure-scroll-item { /* Individual item in the scrolling icon carousel */
      flex: 0 0 280px; /* Fixed width to match animation calculation */
      margin-right: 1.5rem;
      text-align: center;
      display: flex; /* To center content if needed */
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 1rem;
      cursor: pointer;
      transition: var(--transition);
    }
    .adventure-scroll-item a {
        text-decoration: none;
        color: inherit;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .adventure-scroll-item .adventure-circle { /* Re-use .adventure-circle styling but ensure it fits */
      width: 150px; /* Adjust size as needed for carousel item */
      height: 150px;
      margin-bottom: 1rem; /* Space between circle and text */
    }
    .adventure-scroll-item:hover .adventure-circle { /* Hover effect for carousel item circle */
         box-shadow: 0 10px 30px rgba(0,0,0,0.25);
         transform: scale(1.08);
    }

    .adventure-scroll-item .adventure-icon { /* Re-use .adventure-icon */
      font-size: 3rem; /* Adjust if needed */
    }

    .adventure-scroll-item .adventure-content-scrolling h3 {
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--text-dark);
      margin: 0;
    }
     .adventure-scroll-item:hover  .adventure-content-scrolling h3 {
        color: var(--primary-blue);
     }


    @keyframes scrollRightAdventureAnimation { /* Animation to scroll right */
      0% {
        transform: translateX(calc(-1 * (280px + 1.5rem) * 6)); /* Start from the end of the first set */
      }
      100% {
        transform: translateX(0); /* Scroll to the beginning of the first set */
      }
    }


    .package-card {
      background: white;
      border-radius: var(--border-radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      height: 100%;
      margin-bottom: 2rem;
    }

    .package-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-xl);
    }

    .package-img {
      position: relative;
      height: 250px;
      overflow: hidden;
    }

    .package-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }

    .package-card:hover .package-img img {
      transform: scale(1.1);
    }

    .package-overlay {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 2;
    }

    .package-tag {
      background: var(--accent-orange);
      color: white;
      padding: 0.3rem 0.8rem;
      border-radius: 50px;
      font-size: 0.8rem;
      font-weight: 600;
      box-shadow: var(--shadow);
    }

    .package-content {
      padding: 1.5rem;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
    }

    .package-content .package-title {
      font-size: 1.4rem;
      font-weight: 700;
      margin-bottom: 0.75rem;
      color: var(--text-dark);
      font-family: 'Poppins', sans-serif;
    }

    .package-description {
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 1.25rem;
      flex-grow: 1;
    }

    .package-details {
      margin-bottom: 1.5rem;
    }

    .package-detail-item {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 0.5rem;
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    .package-detail-item i {
      color: var(--primary-blue);
      min-width: 16px;
    }

    .package-actions {
      display: flex;
      gap: 0.5rem;
      margin-top: auto;
    }

    .country-card {
      position: relative;
      border-radius: var(--border-radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: var(--transition);
      height: 250px;
      text-decoration: none;
      color: inherit;
      display: block;
    }

    .country-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-xl);
      text-decoration: none;
      color: inherit;
    }

    .country-image {
      position: relative;
      width: 100%;
      height: 100%;
    }

    .country-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }

    .country-card:hover .country-image img {
      transform: scale(1.1);
    }

    .country-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
      color: white;
      padding: 2rem 1.5rem 1.5rem;
      text-align: center;
    }

    .country-overlay h3 {
      font-size: 1.3rem;
      font-weight: 700;
      margin-bottom: 0.25rem;
      font-family: 'Poppins', sans-serif;
    }

    .country-overlay p {
      font-size: 0.9rem;
      opacity: 0.9;
      margin: 0;
    }

    .btn-primary {
      background: var(--accent-orange);
      color: white;
      border: none;
      padding: 0.9rem 1.8rem;
      border-radius: 50px;
      font-weight: 600;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition);
      cursor: pointer;
      font-size: 0.95rem;
      box-shadow: var(--shadow);
    }

    .btn-primary:hover {
      background: #d97706;
      transform: translateY(-2px);
      box-shadow: var(--shadow-lg);
      color: white;
    }

    .btn-primary i {
      margin-left: 0.5rem;
    }

    .btn-outline-primary {
      border: 2px solid var(--primary-blue);
      color: var(--primary-blue);
      background: transparent;
      padding: calc(0.9rem - 2px) calc(1.8rem - 2px);
      border-radius: 50px;
      font-weight: 600;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition);
      cursor: pointer;
      font-size: 0.95rem;
    }

    .btn-outline-primary:hover {
      background: var(--primary-blue);
      color: white;
      transform: translateY(-2px);
      box-shadow: var(--shadow);
    }

    .btn-sm {
      padding: 0.5rem 1rem;
      font-size: 0.85rem;
      border-radius: 50px;
    }

    .btn-primary-sm {
      background: var(--accent-orange);
      color: white;
      border: none;
    }

    .btn-primary-sm:hover {
      background: #d97706;
      color: white;
    }

    .btn-outline-sm {
      border: 1px solid var(--primary-blue);
      color: var(--primary-blue);
      background: transparent;
    }

    .btn-outline-sm:hover {
      background: var(--primary-blue);
      color: white;
    }

    .budget-content .lead,
    .community-content .lead {
      font-size: 1.1rem;
      color: var(--text-muted);
      margin-bottom: 2rem;
    }

    .budget-features,
    .community-benefits {
      margin-bottom: 2rem;
    }

    .budget-feature,
    .community-benefit {
      display: flex;
      align-items: center;
      margin-bottom: 1rem;
      font-size: 1rem;
      color: var(--text-dark);
    }

    .budget-feature i {
      color: var(--success-green);
      margin-right: 0.75rem;
      font-size: 1.2rem;
    }

    .benefit-number {
      background: var(--primary-blue);
      color: white;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      margin-right: 1rem;
      font-size: 1.1rem;
    }

    .budget-search .input-group,
    .community-signup .input-group {
      display: flex;
      align-items: stretch;
    }

    .budget-search .input-group .form-control,
    .community-signup .input-group .form-control {
      border-radius: var(--border-radius) 0 0 var(--border-radius);
      padding: 0.75rem 1rem;
      border: 1px solid var(--border-light);
      font-size: 1rem;
      height: 48px;
      flex: 1;
    }

    .budget-search .input-group .form-control:focus,
    .community-signup .input-group .form-control:focus {
      border-color: var(--primary-blue);
      box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
      z-index: 1;
    }

    .budget-search .input-group .btn-primary,
    .community-signup .input-group .btn-primary {
      border-radius: 0 var(--border-radius) var(--border-radius) 0;
      padding: 0.75rem;
      font-size: 1rem;
      line-height: 1.5;
      width: auto;
      min-width: 48px;
      height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: none;
    }
    .budget-search .input-group .btn-primary i,
    .community-signup .input-group .btn-primary i {
        margin-left: 0;
    }


    .budget-image img,
    .community-image img {
      width: 100%;
      border-radius: var(--border-radius-lg);
      box-shadow: var(--shadow-lg);
    }

    .whatsapp-btn {
      position: fixed;
      bottom: 100px;
      right: 30px;
      background-color: #25D366;
      color: white;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      text-decoration: none;
      box-shadow: var(--shadow-lg);
      z-index: 1000;
      transition: var(--transition);
    }

    .whatsapp-btn:hover {
      color: white;
      transform: scale(1.1);
      background-color: #1DAE52;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .scroll-to-top {
      position: fixed;
      bottom: 30px;
      right: 30px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: var(--primary-blue);
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transform: translateY(20px);
      transition: var(--transition);
      z-index: 1000;
      box-shadow: 0 4px 12px rgba(30, 64, 175, 0.3);
      text-decoration: none;
    }

    .scroll-to-top.show {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .scroll-to-top:hover {
      background: #1a3a8f;
      transform: translateY(-5px);
      color: white;
    }

    .footer {
      background: linear-gradient(135deg, #1e40af, #1a3a8f);
      color: white;
      padding-top: 3rem;
    }

    .footer-content {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 2rem;
      max-width: 1200px;
      margin: 0 auto 2rem;
      padding: 0 1rem;
    }

    .footer-section h4 {
      margin-bottom: 1.5rem;
      font-size: 1.2rem;
      position: relative;
      padding-bottom: 0.5rem;
    }

    .footer-section h4::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 50px;
      height: 2px;
      background: var(--accent-orange);
    }

    .footer-section p {
      color: rgba(255, 255, 255, 0.8);
      margin-bottom: 1rem;
      font-size: 0.9rem;
    }

    .footer-section ul {
      list-style: none;
      padding: 0;
    }

    .footer-section ul li {
        margin-bottom: 0.75rem;
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        font-size: 0.9rem;
        color: rgba(255, 255, 255, 0.8);
    }

    .footer-section ul li a {
        color: inherit;
        text-decoration: none;
        transition: var(--transition);
    }

    .footer-section ul li a:hover {
        color: white;
        text-decoration: underline;
    }

    .footer-section ul li i {
        width: 20px;
        text-align: center;
        flex-shrink: 0;
        margin-top: 0.2em;
    }

    .social-links {
      display: flex;
      gap: 0.75rem;
      margin-top: 1rem;
    }

    .social-links a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      background: rgba(255, 255, 255, 0.1);
      color: white;
      border-radius: 50%;
      transition: var(--transition);
    }

    .social-links a:hover {
      background: white;
      color: var(--primary-blue);
      transform: translateY(-3px);
    }

    .footer-bottom {
      text-align: center;
      padding: 1.5rem 0;
      color: rgba(255, 255, 255, 0.7);
      font-size: 0.9rem;
    }

    .payment-methods {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin-top: 0.5rem;
      gap: 0.5rem;
    }

    .payment-methods i {
      font-size: 1.8rem;
      transition: transform 0.3s ease, color 0.3s ease;
    }

    .payment-methods i:hover {
      transform: translateY(-3px);
      color: var(--accent-orange) !important;
    }
     .payment-methods img {
        height: 30px;
        margin: 0 5px;
    }


    @media (max-width: 1200px) {
      .adventure-grid { /* This is for the static grid, not the new carousel */
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 2.5rem;
      }
    }

    @media (max-width: 992px) {
      .search-filters {
        grid-template-columns: repeat(2, 1fr);
      }
      .hero-text-content h1 {
        font-size: clamp(2.2rem, 6vw, 3.5rem);
      }
      .hero-text-content p.lead {
        font-size: 1rem;
      }
      .main-navigation .navbar-nav.me-auto {
        margin-right: auto !important;
      }
      .main-navigation .navbar-nav.ms-auto {
        margin-left: auto !important;
      }
      /* .explore-item styles for tablet are handled by the main .explore-item and its wrapper's overflow change */
      .adventure-grid { /* Static grid */
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 2rem;
      }
      .adventure-circle { /* Static grid */
        width: 150px;
        height: 150px;
      }
      .adventure-icon { /* Static grid */
        font-size: 3rem;
      }
       .adventure-scroll-item .adventure-circle { /* Scrolling icons */
        width: 130px;
        height: 130px;
      }
      .adventure-scroll-item .adventure-icon { /* Scrolling icons */
        font-size: 2.5rem;
      }
    }

    @media (max-width: 768px) {
      .scroll-to-top {
        bottom: 25px;
        right: 25px;
        width: 45px;
        height: 45px;
      }
      .whatsapp-btn {
        bottom: 80px;
        right: 25px;
        width: 55px;
        height: 55px;
      }
      .search-filters {
        grid-template-columns: 1fr;
      }
      .search-tabs .nav-link {
        padding: 0.7rem 1rem;
        font-size: 0.85rem;
      }
      .hero {
        min-height: 90vh;
      }
      .hero-text-content {
        margin-bottom: 3rem;
      }
      .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
      }
      .footer-section h4::after {
        left: 50%;
        transform: translateX(-50%);
      }
      .social-links,
      .payment-methods {
        justify-content: center;
      }
      .footer-section ul li {
          justify-content: center;
          text-align: left;
      }
      .main-navigation .nav-item {
        margin-bottom: 0.5rem;
      }
      .main-navigation .navbar-collapse {
        justify-content: space-between;
      }
      .main-navigation .navbar-nav.me-auto,
      .main-navigation .navbar-nav.ms-auto {
        width: auto;
      }
       .adventure-carousel { /* Scrolling icons */
        width: calc((250px + 1.5rem) * 6 * 2); 
        animation: scrollRightAdventureMobileAnimation 60s linear infinite; 
      }
      .adventure-scroll-item { flex: 0 0 250px; } /* Scrolling icons */

      .adventure-grid { /* Static grid */
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 1.5rem;
      }
      .adventure-circle { /* Static grid */
        width: 120px;
        height: 120px;
      }
      .adventure-icon { /* Static grid */
        font-size: 2.5rem;
      }
      .adventure-content h3 { /* Static grid */
        font-size: 1rem;
      }
      .adventure-content p { /* Static grid */
        font-size: 0.8rem;
      }
      
      @keyframes scrollRightAdventureMobileAnimation {
        0% { transform: translateX(calc(-1 * (250px + 1.5rem) * 6)); } 
        100% { transform: translateX(0); }
      }
      .budget-search .input-group, .community-signup .input-group { flex-direction: row; } 
      .budget-search .form-control, .community-signup .form-control { 
          border-radius: var(--border-radius) 0 0 var(--border-radius); margin-bottom: 0; 
          flex-grow: 1; 
      }
      .budget-search .btn-primary, .community-signup .btn-primary { 
          border-radius: 0 var(--border-radius) var(--border-radius) 0; 
      }
    }

    @media (max-width: 576px) {
      .destination-card,
      .package-card {
        margin-bottom: 1.5rem;
      }
      .hero-text-content {
        margin-bottom: 2rem;
      }
      .main-navigation .nav-link {
        font-size: 0.8rem;
        padding: 0.6rem 0.4rem;
      }
      .main-navigation .navbar-nav.icons-nav .nav-link {
        padding: 0.6rem 0.4rem;
      }
      .main-navigation .navbar-nav.icons-nav .nav-link .icon-text {
        font-size: 0.75rem;
      }
      .main-navigation .navbar-collapse {
        flex-direction: column;
        align-items: stretch;
      }
      .main-navigation .navbar-nav.me-auto,
      .main-navigation .navbar-nav.ms-auto {
        width: 100%;
        margin-bottom: 0.5rem;
        text-align: center;
      }
      .main-navigation .navbar-nav.ms-auto {
        flex-direction: row;
        justify-content: center;
      }
      .main-navigation .navbar-nav.ms-auto .nav-item {
        margin: 0 0.25rem;
      }
      .package-actions {
        flex-direction: column;
      }
      .package-actions .btn-sm {
        text-align: center;
        width: 100%;
      }
       .adventure-carousel { /* Scrolling icons */
        width: calc((200px + 1rem) * 6 * 2); 
        animation: scrollRightAdventureSmallAnimation 70s linear infinite; 
      }
      .adventure-scroll-item { /* Scrolling icons */
        flex: 0 0 200px; 
        margin-right: 1rem;
      }
      .adventure-scroll-item .adventure-circle { /* Scrolling icons */
        width: 100px;
        height: 100px;
      }
      .adventure-scroll-item .adventure-icon { /* Scrolling icons */
        font-size: 2rem;
      }
       .adventure-scroll-item .adventure-content-scrolling h3 {
         font-size: 1rem;
       }


      .adventure-grid { /* Static grid */
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
        padding: 1rem 0.5rem;
      }
      .adventure-circle { /* Static grid */
        width: 100px;
        height: 100px;
      }
      .adventure-icon { /* Static grid */
        font-size: 2rem;
      }
      .adventure-content h3 { /* Static grid */
        font-size: 0.9rem;
        margin-bottom: 0.3rem;
      }
      .adventure-content p { /* Static grid */
        font-size: 0.75rem;
      }
      .explore-item { /* Traveller types */
        flex-basis: calc(50% - 0.5rem); /* Two items per row on smallest screens */
        margin-right: 0; /* Gap is handled by justify-content and flex gap */
      }
      .explore-item img {
        height: 80px;
      }
      .explore-item span {
        font-size: 0.65rem;
      }
       @keyframes scrollRightAdventureSmallAnimation {
        0% { transform: translateX(calc(-1 * (200px + 1rem) * 6)); } 
        100% { transform: translateX(0); }
      }
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border-width: 0;
    }

    :focus-visible {
      outline: 3px solid var(--primary-blue);
      outline-offset: 2px;
    }

    @media print {
      .whatsapp-btn,
      .scroll-to-top,
      .preloader,
      .hero-video-container {
        display: none !important;
      }
    }