

/* ==============================================
   PRODUCT SANS FONT FAMILY (Replaces Roboto)
   ============================================== */

/* Product Sans - Regular */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Product Sans - Light */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Light Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* Product Sans - Medium */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Medium Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* Product Sans - Bold */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Bold Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Product Sans - Black */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Black Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* Product Sans - Thin */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* Product Sans - Thin Italic */
@font-face {
  font-family: 'Product Sans';
  src: url('../css/fonts/static/ProductSans-ThinItalic.ttf') format('truetype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* ==============================================
   GLOBAL FONT USAGE
   ============================================== */

body {
  font-family: "Product Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Product Sans", sans-serif;
  font-weight: 700;
}
        .black_link{
            color: #212529;
            text-decoration: none;
        }
        .destination_icon{
            width: 20px;
            height: auto;
        }
        .logo{
            width:173px;
            height: 40px;
        }

        .bold {
            font-weight: 600;
        }

        /* Sticky Navbar */
        .sticky-top {
            background: #fff;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            z-index: 1030;
        }

        .destination-wrapper {
            width: 80%;
            margin: 0 auto;
            /* centers horizontally */
            position: relative;
            display: flex;
            align-items: center;
        }

        .destination-menu {
            display: flex;
            overflow-x: auto;
            scroll-behavior: smooth;
            gap: 1rem;
            padding: 10px;
            flex: 1;
            /* take available width */
        }

        .destination-item {
            flex: 0 0 auto;
            padding: 8px 16px;
            background: #f8f9fa;
            border-radius: 8px;
            white-space: nowrap;
            cursor: pointer;
            transition: background 0.3s;
            font-weight: 600;
        }

        .destination-item:hover {
            background: #e9ecef;
        }
        .destination-menu::before,
        .destination-menu::after {
            content: "";
            flex: 1;
        }

        .scroll-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            border: none;
            background: white;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 5;
        }

        .scroll-left {
            left: -15px;
        }

        .scroll-right {
            right: -15px;
        }

        /* Hero Carousel */
        #heroCarousel {
            height: 400px;
            /* fixed height */
        }

        .carousel-item {
            height: 100%;
            background-size: cover;
            background-position: center;
            position: relative;
        }

        .carousel-caption {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            text-align: left;
        }

        .carousel-caption h1 {
            font-size: 2.5rem;
            font-weight: bold;
        }

        .featured-image-wrapper {
            overflow: hidden;
        }

        .featured-image-wrapper img {
            object-fit: cover;
            height: 200px;
            /* adjust height as needed */
        }

        .destination-card {
            height: 300px;

        }

        /* Premium Card Hover Effect */
        .card {
            transition: transform 0.4s ease, box-shadow 0.4s ease;
            overflow: hidden;
            /* ensures image scaling doesn't overflow */
            border: 1px solid transparent;
            box-shadow: 0 25px 40px rgba(0, 0, 0, 0.15);
            /* placeholder for hover border effect */
        }

        .card:hover {
            /*transform: translateY(-15px) scale(1.02);*/
            /*box-shadow: 0 25px 40px rgba(0, 0, 0, 0.25), 0 0 20px rgba(255, 215, 0, 0.2);*/
            border-color: #B87333;
            /* subtle gold border */
        }

        /* Image zoom & brightness */
        .card-img-top {
            transition: transform 0.4s ease, filter 0.4s ease;
        }

        .card:hover .card-img-top {
            transform: scale(1.08);
            filter: brightness(1.1);
        }

        /* Optional: text & badge pop-up */
        .card-body p,
        .card-body h5,
        .card-body small {
            transition: transform 0.4s ease, opacity 0.4s ease;
        }

        .card:hover .card-body p,
        .card:hover .card-body h5,
        .card:hover .card-body small {
            transform: translateY(-5px);
            opacity: 1;
        }

/* Heart beating effect */
.heart-beat {
  color: #B87333;
  display: inline-block;
  animation: heartbeat 2.5s infinite; /* slowed from 1.2s to 2.5s */
}

@keyframes heartbeat {
  0%, 20%, 40%, 60%, 80%, 100% {
    transform: scale(1);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: scale(1.3);
  }
}

/* Indians text continuous attention grab */
.animate-india {
  font-weight: bold;
  color: #ff6600; /* Saffron-like color */
  position: relative;
  animation: pulseGlow 5s infinite; /* slowed from 2s to 5s */
  text-decoration: none;
}

@keyframes pulseGlow {
  0% { color: #ff6600; text-shadow: 0 0 5px #ff9933; }   /* saffron */
  33% { color: #CCCCCC; text-shadow: 0 0 20px #FFFFFF; } /* white */
  66% { color: #138808; text-shadow: 0 0 15px #00ff00; } /* green */
  100% { color: #ff6600; text-shadow: 0 0 5px #ff9933; } /* back to saffron */
}

.card-link{
    text-decoration: none;
}
.read-more{
    text-decoration: none;
    font-weight: 600;
    color: #0e0e0e;
    cursor: pointer;
}



.faq-section {
      max-width: 700px;
      margin: 50px auto;
    }

    .accordion-button {
      background: none;
      box-shadow: none;
      font-size: 1rem;
      font-weight: 500;
      color: #333;
      padding-left: 0; /* align nicely */
      display: flex;
      align-items: center;
    }

    /* Remove Bootstrap's default arrow */
    .accordion-button::after {
      display: none;
    }

    /* Add + on the LEFT */
    .accordion-button::before {
      content: "+";
      color: #B87333;
      font-size: 1.2rem;
      font-weight: bold;
      margin-right: 10px;
      transition: all 0.2s ease;
    }

    /* Change + to - when expanded */
    .accordion-button:not(.collapsed)::before {
      content: "-";
    }

    .accordion-item {
      border: none;
      border-bottom: 1px solid #eee;
    }

    .accordion-body {
      padding: 10px 0 15px 25px;
      color: #555;
    }

    .accordion-button:not(.collapsed){
        background-color: transparent !important;
    }
    .accordion-button:focus{
        box-shadow: none !important;
    }
    .navbar-toggler:focus{
        box-shadow: none !important;
    }

    .sticky-submenu {
  position: sticky;
  top: 0px; /* adjust for your header height */
  z-index: 1020;
  background: #fff;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  overflow-x: auto; /* enables horizontal scroll */
}

.submenu-scroll {
  display: flex;
  flex-wrap: nowrap;  /* prevent wrapping */
  gap: 10px;
}

.submenu-btn {
  flex: 0 0 auto; /* don’t shrink */
  border: 1px solid #ddd;
  border-radius: 30px;
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 400;
  background: #fff;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #333;
  white-space: nowrap; /* keep text in one line */
}

.submenu-btn:hover,
.submenu-btn.active {
  background: #f8f9fa;
  border-color: #bbb;
}

/* Hide scrollbar on WebKit browsers (optional) */
.sticky-submenu::-webkit-scrollbar {
  display: none;
}

/* ✅ FIX: Consistent tour card & image height */
.tour-card {
  display: flex;
  flex-direction: column;
  /*height: 100%;*/
  height: auto;
  min-height: 420px; /* Adjust this if needed */
  border-radius: 1rem;
  overflow: hidden;
}

.tour-card img {
  height: 200px; /* fixed image height */
  object-fit: cover;
  width: 100%;
}

.tour-card .card-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ✅ Keep titles aligned even if text length differs */
.tour-card h5 {
  min-height: 48px; /* enough space for 2 lines */
  line-height: 1.2;
  overflow: hidden;
}

/* ✅ Ensure all cards in a row align */
.row {
  align-items: stretch;
}

/* ✅ Responsive Adjustments */
@media (max-width: 992px) {
  .tour-card {
    /*min-height: 380px;*/
    min-height: auto;
  }

  .tour-card img {
    height: 180px;
  }

  .tour-card h5 {
    min-height: 42px;
    font-size: 1rem;
  }
}

@media (max-width: 768px) {
  .tour-card {
    /*min-height: 360px;*/
    min-height: auto;
  }

  .tour-card img {
    height: 160px;
  }

  .tour-card h5 {
    min-height: 40px;
    font-size: 0.95rem;
  }
}

@media (max-width: 576px) {
  .tour-card {
    min-height: 340px;
  }

  .tour-card img {
    height: 150px;
  }

  .tour-card h5 {
    min-height: 36px;
    font-size: 0.9rem;
  }
}

/* ===============================
   SCROLLABLE SECTION FIX (FINAL)
=============================== */

/* Main scroll container */
.scroll-container {
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Edge/IE */
  padding: 10px 0; /* no side padding */
  margin: 0 auto;
  position: relative;
}
.scroll-container::-webkit-scrollbar {
  display: none;
}

/* Prevent arrows from creating horizontal overflow */
.scroll-section .container {
  overflow-x: hidden; /* ✅ fixes extra scrollbar */
  position: relative;
}

/* Arrow buttons */
.scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: white;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  opacity: 0.9;
}

/* ✅ Keep arrows inside */
.scroll-left {
  left: 6px;
}
.scroll-right {
  right: 6px;
}

.scroll-btn:hover {
  background: #f8f9fa;
}

.scroll-btn i {
  font-size: 1.1rem;
  color: #333;
}

/* ===============================
   MOBILE FRIENDLY FIXES
=============================== */
@media (max-width: 768px) {
  .scroll-btn {
    width: 30px;
    height: 30px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  }

  .scroll-left {
    left: 10px;
  }

  .scroll-right {
    right: 10px;
  }

  .scroll-btn i {
    font-size: 0.9rem;
  }

  /* ✅ Prevent first/last card clipping */
  .scroll-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .scroll-container .flex-shrink-0:first-child {
    margin-left: auto;
  }

  .scroll-container .flex-shrink-0:last-child {
    margin-right: auto;
  }

  /* ✅ Slightly smaller card width for mobile */
  .scroll-container .flex-shrink-0 {
    width: 260px !important;
  }
}

@media (max-width: 480px) {
  .scroll-container .flex-shrink-0 {
    width: 240px !important;
  }
}

/* ==========================================
   FINAL - ALL CHIPS VISIBLE + ARROWS OUTSIDE
========================================== */

/* Wrapper */
.dest-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* ✅ contain the chips but not arrows */
  width: 100%;
  margin: 0 auto;
}

/* Scrollable list */
.dest-scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 10px 1.5rem; /* ✅ enough room inside for first/last chip */
  width: 100%;
  justify-content: flex-start;
  position: relative;
  z-index: 3;
}

.dest-scroll::-webkit-scrollbar {
  display: none;
}

/* Destination chip */
.dest-item {
  flex: 0 0 auto;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 8px 16px;
  white-space: nowrap;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}
.dest-item:hover {
  background: #e9ecef;
  border-color: #ddd;
}
.dest-icon {
  width: 20px;
  height: auto;
}

/* ==========================================
   Arrows floating outside container
========================================== */
.dest-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: white;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: all 0.3s ease;
  opacity: 0.95;
}

/* ✅ Move arrows slightly outside container, but not hiding chips */
.dest-left {
  left: 0px;
}
.dest-right {
  right: 0px;
}

.dest-arrow:hover {
  background: #f8f9fa;
}
.dest-arrow i {
  font-size: 1.1rem;
  color: #333;
}

/* ==========================================
   Responsive Adjustments
========================================== */
@media (max-width: 992px) {
  .dest-scroll {
    padding: 10px 1.25rem;
  }
  .dest-arrow {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.95);
  }
  .dest-left {
    left: 0px;
  }
  .dest-right {
    right: 0px;
  }
  .dest-item {
    font-size: 14px;
    padding: 6px 12px;
  }
}

@media (max-width: 576px) {
  .dest-scroll {
    padding: 8px 1rem;
  }
  .dest-arrow {
    width: 28px;
    height: 28px;
  }
  .dest-left {
    left: 0px;
  }
  .dest-right {
    right: 0px;
  }
  .dest-item {
    font-size: 13px;
    padding: 6px 10px;
  }
}

.fix-nav{
  position: relative;
  right:60px !important;

}


/* --- Better mobile width for cards --- */
@media (max-width: 768px) {
  .scroll-container .flex-shrink-0 {
    width: 300px !important;
  }
}

@media (max-width: 480px) {
  .scroll-container .flex-shrink-0 {
    width: 280px !important;
  }
}

/* --- Proper price alignment --- */
.price-container {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 4px;
}

.price-current {
  font-weight: 700;
  color: #d32f2f;
}

.price-strike {
  color: #777;
  text-decoration: line-through;
  font-size: 0.9em;
  margin-left: 0 !important;
}
.bts {
    color: #B87333 !important;
    
  }

  .bt {
    background: #B87333 !important;
    border:#B87333 !important;
  }

  .bt:hover {
    background: #B87333 !important;
  }


/* ================================
   NAVBAR CENTER + MOBILE RIGHT (FINAL)
================================= */

.fix-nav {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem; /* desktop spacing */
  margin: 0 auto;
}

/* ✅ Desktop: centered */
@media (min-width: 992px) {
  .navbar-nav.fix-nav {
    justify-content: center !important;
    flex-direction: row !important;
    gap: 2rem !important;
  }
}

/* ✅ Mobile: right-aligned vertical stack */
@media (max-width: 991px) {
  .navbar-nav.fix-nav {
    justify-content: flex-end !important;
    align-items: flex-end !important;
    flex-direction: column !important;
    gap: 0.2rem !important; /* minimal gap between the two */
    text-align: right;
    padding-right: 12px; /* small right spacing */
    margin-top: 0.5rem;
  }

  .fix-nav .nav-item {
    width: auto;
    display: block !important;
  }

  .fix-nav .nav-link {
    font-size: 1rem;
    padding: 4px 0 !important;
    color: #212529;
    font-weight: 600;
    line-height: 1.2;
  }

  .fix-nav .nav-link:hover {
    color: #B87333;
  }
}

/* ✅ Compact logo for smaller screens */
@media (max-width: 992px) {
  .logo {
    width: 130px !important;
    height: auto !important;
  }
}
@media (max-width: 576px) {
  .logo {
    width: 110px !important;
  }
}
@media (max-width: 768px) {
  .special-image {
    object-fit: contain !important;
    height: auto !important;
    width: 100% !important;
    background-color: #000; /* optional: gives a background behind the image */
  }
}
.dropdown-item{
  cursor: pointer;
}
.review_pic{
  width: 50px;
  height: 50px;
  object-fit: cover;   /* ✅ keeps correct proportions */
  object-position: center; /* centers the crop */
}
.b_text{
  font-size: 20px;
}
.credits{
  text-decoration: none;
}
.dest-icon{
   width: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
}
.dest-icon1 {
  width: 20px;
  height: 20px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  vertical-align: middle;
}

/* Keep these for large visual elements */
.special-image, .card-img-top, .carousel-item {
  aspect-ratio: 16 / 9;
}

/* Stronger bronze-red with compliant contrast */
.bg-danger {
  background-color: #9A541C !important; /* slightly darker bronze */
  color: #fff !important;
  text-shadow: 0 0 1px rgba(0,0,0,0.2); /* optional, visual polish */
}

/* Success badge — already fine */
.badge.text-success {
  color: #0d5e3d !important;
  font-weight: 600;
}

/* Price text bronze tone, compliant */
.text-danger, .bts {
  color: #A65B1A !important; /* deeper bronze */
  font-weight: 700;
}

/* Universal subtle readability boost */
.contrast-fix {
  text-shadow: 0 0 1px rgba(0,0,0,0.2);
}

.overlay-text {
  background: rgba(0,0,0,0.25);
  padding: 2px 6px;
  border-radius: 4px;
}

.bi::before {
  display: inline-block;
  width: 1em;
  text-align: center;
}



/* ✅ Global fix for all images to stop layout shift */
img {
  height: auto;
  max-width: 100%;
  aspect-ratio: attr(width) / attr(height);
}



/* For tour cards */
.tour-card img, .destination-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3; /* adjust if your card shape differs */
  object-fit: cover;
}

/* For hero sliders */
.carousel-item img, .carousel-item picture {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}


