* {
  margin: 0;
  padding: 0;
}

/* Typography */

h1,
h2,
h3 {
  font-family: "Aclonica", sans-serif;
}

h4,
h5 {
  font-family: "Figtree", sans-serif;
  font-weight: 600;
}

a {
  text-decoration: none;
  text-align: center;
  display: inline-block;
}

.fontAclonica {
  font-family: "Aclonica", sans-serif;
}

.fontFig {
  font-family: "Figtree", sans-serif;
}

h1 {
  font-size: 52px;
  line-height: 100%;
}

h2 {
  font-size: 36px;
  line-height: 120%;
}

h3 {
  font-size: 32px;
  line-height: 130%;
}

h4 {
  font-size: 32px;
  line-height: 120%;
  letter-spacing: -0.05rem;
}

h5 {
  font-size: 20px;
  line-height: 1;
}

.caps {
  text-transform: uppercase;
}

/* Color theme */
:root {
  --primary-color: #104093;
  --secondary-color: #DC5221;
  --text-color: #373737;
  --background-color: #C9E8F3;
  --border-color: #DBDBDB;
}

.d_text {
  color: #071019;
}

.g20_text {
  color: #808080;
}

footer {
  width: 100%;
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  /* Maintain aspect ratio */
}

/* Color theme */

/* Buttons */

.btn_primary {
  background-color: #DC5221;
  color: #fff;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
}

.btn_primary:hover {
  background-color: #ff6026;
}

.btn_secondary {
  background-color: #fff;
  color: #104093;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
}

.btn_secondary:hover {
  background-color: #f9f9f9;
  color: #0d3274;
}

.btn_tertiary {
  color: #104093;
  padding: 12px 0px;
  font-size: 16px;
}

.btn_tertiaryWhite {
  color: #fff;
  padding: 12px 24px 12px 0;
  font-size: 16px;
  font-weight: 600;
  background-image: url(images/btn-arrow_right.svg);
  background-repeat: no-repeat;
  background-position: right center;
  transition: padding 0.3s ease, transform 0.3s ease;
}

.btn_tertiaryWhite:hover {
  padding: 12px 30px 12px 0;
}

.navbar a {
  text-decoration: none;
  transition: all 0.4s;
}

.navbar a:hover {
  letter-spacing: 1px;
}

.nav-tabs {
  border-bottom: none;
}

.nav-tabs .nav-link {
  color: #104093;
  font-weight: 600;
  padding: 12px 20px;
}

.nav-tabs .active {
  color: #373737;
  font-weight: 600;
  padding: 12px 20px;
  border: none;
  border-bottom: solid 2px #104093 !important;
}

.navbar .dropdown:hover .dropdown-menu {
  display: block;
  margin-top: 0;
}

.navbar .dropdown-menu {
  background: #fff;
  min-width: 220px;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  border: none;
  padding: 0.5rem 0;
}

.navbar .dropdown-item {
  color: #222;
  padding: 0.7rem 1.2rem;
  font-size: 1rem;
  transition: background 0.2s, color 0.2s;
}

.navbar .dropdown-item:hover {
  background: #f5f5f5;
  color: #e65c23;
}

.navbar-collapse {
  background: rgba(0, 0, 0, 0.5);
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

body {
  font-family: "Figtree", sans-serif;
  font-size: 16px;
}

.bodyL {
  font-size: 20px;
}

.bodyS {
  font-size: 14px;
}

.bodyXS {
  font-size: 12px;
}

.text-support {
  text-transform: uppercase;
}

/* Typography */


.header-home {
  background: url("images/bg-home.png") no-repeat center / cover;
  height: 100%;
  position: relative;
}

.navbar {
  padding: 20px 60px 20px 60px;
  text-align: center;
  background: #000;
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 1) 0%,
      /* fully black at top    */
      rgba(0, 0, 0, 0) 100%
      /* fully transparent at bottom  */
    );
}

.navbar-toggler {
  padding: 0px;
  border: none;
}

.btn-new {
  padding: 12px 20px;
  color: #fff;
  background-color: #DC5221;
  font-family: 14px;
}

.btn-new:hover {
  color: #000;
  background-color: #fff;
}

.menu-bar {
  color: #fff;
  border-radius: 20px;
  border: none;
  background-color: #494949;
  font-size: 24px;
  display: none;
}

.icon-style {
  color: #fff;
  padding: 12px 12px;
  border-radius: 40px;
  border: none;
  background-color: rgb(255, 255, 255, .3)
}

.custom-card {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  max-width: 400px;
}

.custom-card:hover {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.cardImage {
  border-radius: 1rem;
  object-fit: cover;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.cardImage img {
  object-fit: cover;
  width: 100%;
}

.btn-know {
  background-color: #1e40af;
  color: white;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: 0.75rem;
  font-size: 0.9rem;
}

.btn-book {
  background-color: #d1541d;
  color: white;
  border-radius: 0.75rem;
  padding: 0.5rem 1.5rem;
}

.text-secondary {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 300px;
}

/* slick slider setting */

.hero-slider .slider {
  width: 98%;
  margin: auto;
}

.hero-text {
  width: 96%;
  font-family: "Aclonica", sans-serif;
  font-size: 44px;
  line-height: 100%;
}

.hero-text p {
  margin: 0px;
  padding: 0px;
}

.slick-slide {
  margin-right: 16px;
}

.hero-slider .slick-dots li button:before {
  color: #fff;
}

.hero-slider .slick-dots li.slick-active button:before {
  color: #fff;
}

.hero-slider .slick-prev,
.slick-next {
  display: none !important;
}

.hero-slider .slick-slide {
  transition: transform 0.3s ease;
  transform: scale(0.9);
  /* default smaller size */
}

.hero-slider .slider .slick-current {
  scale: 1.1;
}

.btn-link {
  text-decoration: none;
  color: #104093;
  font-weight: 600;
}

.sectional-margin {
  padding: 80px 200px;
}

.badge {
  background: #104093;
  font-weight: 400;
  padding: 6px 12px;
}

.thumnails {
  position: relative;
  object-fit: cover;
  overflow: hidden;
  border-radius: 20px;
}

.thumnails img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.bottomTitle {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 8px 12px;
  text-align: center;
  z-index: 1;
}

.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}

.thumnails:hover .overlay {
  height: 70%;
  background: linear-gradient(0deg, rgba(16, 64, 147, 01) 0%, rgba(16, 64, 147, 0) 100%);
}


.view-all-wrapper {
  width: auto;
  /* Prevents parent from forcing 100% width */
}

.view-all {
  display: inline-block !important;
  /* Force background to text width */
  width: auto !important;
  /* Override Bootstrap's width */
  background-color: #ffffff;
  color: #104093;
  padding: 12px 20px;
  border-radius: 5px;
  border: none;
}

.section-tag {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  background-color: #104093;
  padding: 6px 12px;
  border-radius: 8px;
  display: inline-block;
}

.festival-section {
  background: #f8e7c9;
  padding: 60px 0 0 0;
  width: 100%;
  overflow: hidden;
}

#festivalMenu {
  list-style: none;
}

#festivalImage {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

#festivalMenu li {
  font-size: 36px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.4);
  margin: 8px 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

#festivalMenu li.active {
  font-size: 36px;
  font-family: "Aclonica", sans-serif;
  font-weight: bold;
  color: #000;
}

#festivalDuration {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 16px;
}

.about-heading {
  font-size: 36px;
  font-weight: 700;
  line-height: 100%;
  color: #E38A6A;
}

.about-heading span {
  color: var(--secondary-color);
}

.slide-footer {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  color: var(--secondary-color);
  padding-bottom: 2rem;
  font-family: "Aclonica", sans-serif;
  text-transform: uppercase !important;
}

.duration-tag {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 12px;
  padding: 6px 12px;
  text-transform: uppercase;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 8px;
}

.tour-card {
  border: 1px solid var(--border-color);
  border-radius: 20px;
}

.card-title {
  color: var(--text-color);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 300px;
}

.card-subtitle {
  font-size: 12px;
  text-transform: uppercase;
  color: #808080;
  letter-spacing: 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 300px;
  letter-spacing: 1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.card-img-top {
  border-radius: 20px;
  object-fit: cover;
  width: 100%;
  height: 300px;
}

.calender {
  font-size: 12px;
  text-transform: uppercase;
  color: #808080;
  letter-spacing: 1px;
  text-align: center;
  margin-top: 8px;
  margin-bottom: 8px;
}

.chip {
  border: none;
  background: #eaf4fa;
  color: #1a355e;
  border-radius: 999px;
  padding: 8px 22px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.chip.active::before {
  content: "\f00c";
  font-family: FontAwesome;
  margin-right: 8px;

}

.chip.active {
  background: var(--primary-color);
  color: #fff;
  font-weight: 500;
}

.chip i {
  font-size: 1rem;
}

.testimonial-section {
  background: var(--background-color);
}

.testimonial-slide {
  min-height: 320px;
}

.slick-dots {
  bottom: -30px;
}

.user-post {
  width: 260px;
  height: 300px;
  object-fit: cover;
  border-radius: 20px;
}

.paragraph {
  font-size: 18px;
}

.footer-section {
  position: relative;
  min-height: 600px;
  margin-top: 0;
  background-image: url(images/footer.png);
  background-position: cover, no-repeat;
  background-position: center;
  display: flex;
  align-items: end;
}
.footer-section a{
  color: #fff;
}
.footer-section .footer-overlay {
  z-index: 0;
}

.footer-section .container {
  z-index: 1;
  position: relative;
}

.footer-logo img {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

.image-text {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: white;
}

.circle-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 3px solid #d3542a;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #000;
}

.logo-img {
  max-width: 300px;
}

.learn-more {
  display: inline-block;
  margin-top: 10px;
  color: #104093;
  text-decoration: none;
  font-weight: 600;
}

.stats {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.stat-item h4 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 5px;
}

.stat-item p {
  font-size: 14px;
  font-weight: 500;
  color: #373737;
}

.adventure-carousel {
  background: #C9E8F3;
  padding: 40px 0;
  position: relative;
  overflow: hidden;
  height: auto;
}

.adventure-carousel .carousel-control-prev,
.adventure-carousel .carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.adventure-carousel .carousel-control-prev {
  left: 20px;
  /* Adjust as needed */
}

.adventure-carousel .carousel-control-next {
  right: 20px;
  /* Adjust as needed */
}



/* Text Column */
.text-content h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 15px;
}

.text-content p {
  font-size: 1rem;
  color: #333;
  margin-bottom: 20px;
}

.btn-learn {
  background: #ff5a1f;
  color: #fff;
  border: none;
  padding: 8px 18px;
  border-radius: 6px;
  margin-top: 8px;
}

/* Image */
.image-content img {
  max-height: 500px;
  width: auto;
}

/* Limit image height */
.image-wrapper img {
  max-height: 900px;
  width: auto;
}

/* Position carousel controls inside text card */
.text-card {
  background: white;
  padding: 20px;
  border-radius: 12px;
  position: relative;
}

.carousel-controls {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}


.carousel-controls button:hover {
  background: #ddd;
}

/* ABOUT US */

.header-about {
  background: url("images/about-us/about-us.png") no-repeat center center / cover;
  height: 60vh;
  background-position: center;
  position: relative;
}

.logo-blue {
  width: 180px;
}

.our-promise {
  display: none;
}

.about-promise {
  background-color: var(--background-color);
}

.section-contact {
  margin-top: 100px;
}

.section-contact .form-control::placeholder {
  color: #888;
}

.top-heading {
  font-size: 48px;
  padding-top: 40px;
}

.killNavbar {
  margin-top: 120px;
}

/* DESTINATION */

.header-destination {
  background: url('images/destination/bg.png') center center/cover no-repeat;
  /* height: 100vh; */
}

/* .slick-destinations .destination-card {
  min-height: 340px;
  border: none;
  margin: 0 10px;

}

.slick-destinations .destination-card.slick-center {
  transform: scale(1.08);
  z-index: 2;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.slick-prev-custom,
.slick-next-custom {
  width: 48px;
  height: 48px;
  opacity: 0.85;
  background: #fff !important;
  color: #222 !important;
  border: none;
  font-size: 1.5rem;
  transition: opacity 0.2s;
}

.slick-prev-custom:hover,
.slick-next-custom:hover {
  opacity: 1;
  background: #E95B2A !important;
  color: #fff !important;
}

.slick-arrow-inner {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.25);
  border-radius: 50%;
  padding: 6px 10px;
  font-size: 1.1rem;
  display: none;
}

.destination-card:first-child .slick-arrow-inner,
.destination-card:last-child .slick-arrow-inner {
  display: block;
}

.destinations-slider {
  padding-bottom: 40px;
  position: relative;
}

.slick-destinations {
  margin: 0 40px;
}

.destination-card {
  background: #222;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  box-shadow: none;
  transition:
    transform 0.35s cubic-bezier(.4, 2, .6, 1),
    box-shadow 0.3s cubic-bezier(.4, 2, .6, 1),
    z-index 0.3s;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 40px;
}

.destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: filter 0.3s;
}

.destination-card .destination-label {
  padding-bottom: 24px;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}

.destination-card .card-details {
  display: none;
  opacity: 0;
  transition: opacity 0.3s;
  margin-top: 8px;
  border-radius: 20px;
}

.destination-card.slick-center .card-details {
  display: block;
  opacity: 1;
} */

/* --- Center Card Highlight Destination Page --- */

.destinations-section {
  height: 80vh;
}

.center-slider-section {
  position: relative;
  margin-top: -300px;
}

.center-slider {
  display: flex;
  justify-content: center;
  align-items: center;
}

.slider-item {
  position: relative;
  text-align: center;
  overflow: hidden;
}

.slider-item img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  border-radius: 10px;
}

.slider-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  border-radius: 20px;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  color: #fff;
  opacity: 0;
  /* Hidden by default */
  transition: opacity 0.3s ease-in-out;
  text-align: left;
}

.slider-item.slick-center .slider-content {
  opacity: 1;
  /* Reveal content when the slide is in the center */
}

.slider-title {
  font-size: 18px;
  font-weight: bold;
}

.slider-description {
  margin: 10px 0;
  font-size: 14px;
  color: #ddd;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.slick-prev {
  left: -50px;
}

.slick-next {
  right: -50px;
}

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  color: #fff;
}

/* --- Center Card Highlight Destination Page Ends--- */

.card-heading {
  color: #fff;
}

.card-subheading {
  font-size: 16px;
  color: #fff;
  margin-bottom: 8px;
}

.dream-destination-section {
  background: #f8f9fa;
}

.dream-destination-card {
  position: relative;
  min-height: 600px;
  overflow: hidden;
  border-radius: 20px;
  max-width: 100%;
  box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08);
}

.dream-destination-card img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}

.destination-tabs {
  left: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  pointer-events: none;
}

.tab-item {
  cursor: pointer;
  height: 100%;
  min-height: 180px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  transition: background 0.3s, color 0.3s;
  position: relative;
  pointer-events: auto;
  overflow: hidden;
}

.tab-item .tab-caption {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  z-index: 2;
  position: relative;
  min-height: 180px;
}

.tab-item .tab-content {
  display: none;
  background: #fff;
  color: #222;
  height: 100%;
  min-height: 180px;
  border-radius: 0 0 0.75rem 0.75rem;
  box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.04);
  z-index: 3;
  position: relative;
}

.tab-item.active {
  background: #fff;
  color: #222;
  z-index: 3;
  box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.04);
}

.tab-item.active .tab-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tab-item:not(.active) .tab-caption {
  display: flex;
}

.tab-item:not(.active) .tab-content {
  display: none;
}

.tab-item.active .tab-caption {
  display: none;
}


/* .tab-paragraph {
  font-size: 12px;
}

.btn_small {
  padding: 4px 8px;
  font-size: 12px;
  background-color: var(--secondary-color);
  border-radius: 4px;
  color: #fff;
}

.tab-head {
  font-size: 14px;
} */

.experience-section .experience-carousel {
  min-height: 260px;
}

#experience-images .exp-img-col {
  flex: 0 0 32%;
  max-width: 32%;
}

#experience-images img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  border-radius: 18px;
}

@media (max-width: 991px) {
  #experience-images .exp-img-col {
    flex: 0 0 48%;
    max-width: 48%;
  }

  #experience-images img {
    height: 120px;
  }
}

@media (max-width: 767px) {
  #experience-images .exp-img-col {
    flex: 0 0 100%;
    max-width: 100%;
  }

  #experience-images img {
    height: 90px;
  }
}

#experience-images-row1 img {
  width: 250px;
  height: 250px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
  margin: 0 auto;
}

/* Second row images: 400x400 */
#experience-images-row2 img {
  width: 400px;
  height: 400px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
  margin: 0 auto;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  #experience-images-row1 img {
    width: 120px;
    height: 120px;
  }

  #experience-images-row2 img {
    width: 100%;
    height: 220px;
  }
}

@media (max-width: 767px) {

  #experience-images-row1 img,
  #experience-images-row2 img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
  }
}

.experience-carousel {
  background-color: var(--primary-color);
  padding: 20px;
  color: #fff;
  border-radius: 20px;
}

.firstrow-images {
  gap: 20px;
}


/* SOUTH INDIA */

.header-south {
  background: url("images/south-india/southindia-bg-mobile.png") no-repeat center / cover;
  height: 100vh;
}

.south-hero-section {
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  position: absolute;
}

.img-thumbnail {
  width: 110px;
  bottom: 16px;
  right: 16px;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  position: absolute;
}

.img-fluid {
  border-radius: 20px;
  width: 100%;
  max-width: 460px;
}
.signature-experience-section {
  background: #fff;
  position: relative;
}

.sigexp-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: var(--secondary-color);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: background 0.2s, border 0.2s;
}
.sigexp-arrow-left {
  left: -40px;
}
.sigexp-arrow-right {
  right: -40px;
}
.sigexp-arrow:hover {
  background: #104093;
  border-color: #104093;
}
.sigexp-arrow .carousel-control-prev-icon,
.sigexp-arrow .carousel-control-next-icon {
  filter: invert(1) brightness(0.5);
}

.sigexp-imgs-col {
  min-width: 340px;
  gap: 0;
}
.sigexp-img-main img {
  /* width: 220px;
  height: 260px; */
  object-fit: cover;
  border-radius: 24px;
}
.sigexp-side-imgs img {
  /* width: 90px;
  height: 80px; */
  object-fit: cover;
  border-radius: 18px;
}
.sigexp-indicators {
  position: static;
  margin-top: 2rem;
}
.sigexp-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ddd;
  margin: 0 4px;
  border: none;
  opacity: 1;
  transition: background 0.2s;
}
.sigexp-indicators .active {
  background: #ff7f32;
}

/* WELLNESS AND YOGA */

.header-wellness {
  background: url("images/wellness/wellness-bg.png") no-repeat center / cover;
  height: 60vh;
  position: relative;
  min-height: 400px;
  overflow: hidden;
}

.wellness-gallery-section {
  z-index: 10;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding-bottom: 20px;
}

.wellness-gallery-carousel {
  width: 100%;
  position: relative;
}

.wellness-gallery-track {
  padding-bottom: 12px;
  cursor: grab;
  scrollbar-width: thin;
  scrollbar-color: #e65c23 #eee;
  display: flex;
  gap: 40px;
  overflow: auto;
}

.wellness-gallery-track::-webkit-scrollbar {
  height: 10px;
}

.wellness-gallery-track::-webkit-scrollbar-thumb {
  background: #e65c23;
  border-radius: 6px;
}

.wellness-gallery-img:hover {
  transform: scale(1.04);
}

.wellness-gallery-img {
  width: 200px !important;
  height: 260px !important;
  border-radius: 10px !important;
  object-fit: cover;
  scroll-snap-align: start;
  flex: 0 0 auto;
  transition: transform 0.2s;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
}

.wellness-gallery-track {
  gap: 1rem !important;
}

.wellness-img {
  max-width: 500px;
  height: 320px;
  object-fit: cover;
  display: block;
}

.card-box {
  background: #fff;
  border: 1px solid #eee;
  transition: box-shadow 0.2s, border 0.2s;
  border-radius: 20px;
  padding: 20px;
  /* height: 100%; */
}

.card-box:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  border-color: var(--border-color)
}

.card-box-img {
  width: 100%;
  border-bottom: 20px;
  border-radius: 12px;
  height: 220px;
  object-fit: cover;
}

.card-box .badge {
  font-size: 1rem;
  border-radius: 12px;
  opacity: 0.95;
}

.numberofdays {
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  color: #fff;
  border-radius: 8px;
  font-size: 12px;
  margin: 8px;
  padding: 8px 16px;
}

.pagination {
  color: var(--primary-color);
}

.pagination .page-link,
.pagination .page-item.active .page-link {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.pagination .page-item.active .page-link {
  background-color: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
}

.pagination .page-link:focus,
.pagination .page-link:hover {
  color: #fff;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.explore-destination-banner {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

.explore-banner-box {
  border-radius: 40px;
  overflow: hidden;
  position: relative;
  max-width: 1200px;
  background: var(--secondary-color);
  border-radius: 40px;
}

.explore-plane-img {
  position: absolute;
  left: 12%;
  top: 54px;
  width: 120px;
  pointer-events: none;
  z-index: 2;
  transform: rotate(-1deg);
}

.text-destination {
  font-size: 36px;
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
  font-family: "Aclonica", sans-serif;
}

.banner {
  padding: 40px 20px;
  height: 100%;
}

.explore-destination-banner h5 {
  font-size: 14px;
}


/* WILDLIFE */
.header-wildlife {
  background: url("images/wildlife-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}

.wildlife-header-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  text-align: center;
  z-index: 2;
}

.wildlife-title {
  color: #fff;
  font-family: "Aclonica", sans-serif;
  font-size: 52px;
  line-height: 1.1;
  margin-bottom: 32px;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

.wildlife-btn-group {
  display: inline-flex;
  gap: 12px;
  background-color: #fff;
  border-radius: 8px;
  padding: 8px;
}

.wildlife-btn-group .btn_primary,
.wildlife-btn-group .btn_secondary {
  font-size: 16px;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
}

.carousel-container {
  padding-top: 24px;
  padding-bottom: 24px;
}

.destination-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 12px 12px 8px 12px;
  text-align: center;
  transition: box-shadow 0.2s;
  height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.destination-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.book-now-btn {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: none;
  z-index: 2;
  cursor: pointer;
}

.destination-img-box:hover .book-now-btn {
  display: inline-block;
}

.destination-img-box {
  width: 100%;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
}

.destination-img-box:hover .destination-img {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}

.destination-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.gallery-section {
  background: #fff;
  border-radius: 16px;
  padding: 32px 0;
}

.gallery-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
  align-items: center;
}

.gallery-img-box {
  flex: 0 0 240px;
  height: 200px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  display: block;
}

.center-img-box {
  flex: 0 0 240px;
  height: 280px;
  border-radius: 22px;
}

.center-img {
  border-radius: 22px;
  height: 100%;
  width: 100%;
  object-fit: cover;
}



.carousel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.carousel-item img {
  /* width: 100%; */
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.destination-badge {
  position: absolute;
  bottom: 16px;
  left: 20px;
  background: var(--primary-color);
  color: #fff;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 12px;
  ;
}

.destination-card {
  position: relative;
}

/* SPIRITUAL */
.header-spiritual {
  background: url("images/spiritual-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}

.header-adventure {
  background: url("images/adventure-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}

.header-family {
  background: url("images/family-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}

.header-honeymoon {
  background: url("images/honeymoon-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}

.header-luxury {
  height: 60vh;
}

.header-local {
  height: 60vh;
}

.header-photography {
  background: url("images/itinerary/taj-mahal-3.png") no-repeat center / cover;
  height: 60vh;
}

.header-cultural {
  height: 60vh;
}

.header-north {
  background: url("images/north-india.png") no-repeat center / cover;
  height: 100vh;
}

.header-east {
  background: url("images/east-india.png") no-repeat center / cover;
  height: 100vh;
}
.header-west {
  background: url("images/west-india-mobile-bg.png") no-repeat center / cover;
  height: 100vh;
}
.header-central {
  background: url("images/central-mobbile-bg.png") no-repeat center / cover;
  height: 100vh;
}

/* ITINERARY */


.header-section {
  /* background: url('images/golden-triangle-iti.png') center center/cover no-repeat; */
  height: 100%;
  padding-top: 100px;
}

.points {
  display: flex;
  align-items: center;
  background-color: var(--primary-color);
  border-radius: 8px;
  padding: 12px 16px;
}

.booking-form-box {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08);
  padding: 24px;
  max-width: 500px;
  width: 100%;
  margin: auto;
}

.header-carousel {
  position: relative;
  width: 100vw;
  /* max-height: 300px; */
  overflow: hidden;
  /* background-color: var(--background-color); */
  padding: 40px 0;
}

.carousel-images {
  display: flex;
  align-items: center;
  /* height: 100vh; */
  transition: transform 0.6s;
  will-change: transform;
}

.carousel-img {
  width: 320px;
  height: 200px;
  object-fit: cover;
  margin: 0 8px;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
  transition: box-shadow 0.3s;
}

.carousel-btn-left {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1;
}

.carousel-btn-right {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1;
}

/* Add to style.css */
.itinerary-details-section {
  background: #ffffff;
}
.itinerary-days-nav-wrapper {
  /* 6.5 buttons tall: 6*48px + 0.5*48px + 5*12px gap = 312px + 24px = 336px */
  max-height: 336px;
  height: 336px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px; /* for scrollbar */
  background: transparent;
  scroll-behavior: smooth;
}

.itinerary-days-nav {
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.itinerary-day-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Figtree', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--primary-color);
  background: #d7f0fa;
  border: none;
  border-radius: 24px;
  margin: 0;
  padding: 0.85rem 0;
  cursor: pointer;
  min-width: 160px;
  min-height: 48px;
  height: 48px;
  box-shadow: none;
  transition: background 0.2s, color 0.2s;
  z-index: 1;
  opacity: 1;
}

.itinerary-day-btn.active {
  background: var(--primary-color);
  color: #fff;
  font-weight: 700;
  z-index: 2;
}

.itinerary-day-btn:not(.active):hover {
  background: #f8f8f8;
  color: #154a97;
}

.itinerary-day-btn:last-child {
  margin-bottom: 0;
}

/* Hide .day-dot if present */
.itinerary-day-btn .day-dot {
  display: none;
}

/* Optional: Custom scrollbar for better look */
.itinerary-days-nav-wrapper::-webkit-scrollbar {
  width: 6px;
}
.itinerary-days-nav-wrapper::-webkit-scrollbar-thumb {
  background: var(--primary-color);
  border-radius: 4px;
}

.itinerary-day-btn.active .day-dot {
  background: var(--primary-color);
}

.itinerary-content-box {
  min-height: 320px;
  position: relative;
  overflow: hidden;
}

.itinerary-day-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
  background: #fff;
  padding-bottom: 24px;
}

.itinerary-day-content.active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}

.itinerary-day-btn:not(.active):hover {
  background: #d0e8fa;
  color: #2566af;
}

.itinerary-day-btn:last-child {
  margin-bottom: 0;
}
.itinerary-content-box {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  padding: 2rem 2rem 1.5rem 2rem;
  min-height: 260px;
}

.itinerary-day-content {
  display: none;
  animation: fadeIn 0.5s;
}

.itinerary-day-content.active {
  display: block;
}
.itinerary-points {
  list-style: none;
  padding-left: 0;
  margin-bottom: 16px;
}

.itinerary-points li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  font-size: 1rem;
}

.itinerary-points li:before {
  content: "\2714";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--secondary-color);
  font-size: 1.1rem;
}

.covered-section {
  background: #fff;
}

.covered-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 2rem;
  color: #fff;
}

.covered-list {
  margin-top: 24px;
  border-top: 1px solid #eee;
}

.covered-list li {
  padding: 4px 0;
  border-bottom: 1px solid #eee;
  font-size: 1.08rem;
}

.covered-list li:last-child {
  border-bottom: none;
}
.points-box{
  background-color: #e6e6e6;
  border-radius: 12px;
  padding: 40px 16px;
  margin-top: 16px;
}

/* ITINERARY */
.hero-title{
    font-family: "Aclonica", sans-serif;
}

.about-expertise-section {
  background: #fff;
}

.about-expertise-img {
  border-radius: 20px;
  width: 100%;
  max-width: 440px;
  object-fit: cover;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.about-expertise-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 18px;
}

.about-expertise-card {
  background: #154a97;
  color: #fff;
  border-radius: 12px;
  padding: 4px 12px 4px 12px;
  box-shadow: 0 2px 12px rgba(21,74,151,0.06);
  transition: background 0.2s;
}

.about-expertise-card-title {
  font-size: 1.13rem;
  font-weight: 600;
  margin-bottom: 2px;
}

.about-expertise-card-desc {
  font-size: 1rem;
  font-weight: 400;
  opacity: 0.92;
}
.why-travel-section {
  background: var(--secondary-color);
}

.why-travel-card {
  background: #fff;
  border-radius: 12px;
  padding: 28px 18px 20px 18px;
  box-shadow: 0 2px 16px rgba(21,74,151,0.06);
  min-height: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: box-shadow 0.2s, transform 0.2s;
}

.why-travel-card:hover {
  box-shadow: 0 4px 24px rgba(21,74,151,0.12);
  transform: translateY(-4px) scale(1.02);
}

.why-travel-icon {
  font-size: 1.7rem;
  color: #154a97;
}

.why-travel-title {
  font-size: 1.13rem;
  font-weight: 600;
  margin-bottom: 6px;
  color: #111;
}

.why-travel-desc {
  font-size: 1rem;
  color: #222;
  opacity: 0.92;
}

@media (max-width: 991px) {
  .why-travel-card { padding: 18px 10px 14px 10px; }
  .why-travel-section h2 { font-size: 1.5rem; }
}

@media (max-width: 767px) {
  .why-travel-section { padding: 2rem 0; }
  .why-travel-card { min-height: 140px; }
}