/* ==========================================
   Home Carousel Module
   v20 Enterprise
========================================== */

.carousel-wrap{
  position:relative;
  overflow:hidden;
}

.activity-carousel,
.tour-carousel,
.review-carousel{
  display:flex;
  overflow:hidden;
  scroll-behavior:smooth;
}

.activity-carousel::-webkit-scrollbar,
.tour-carousel::-webkit-scrollbar,
.review-carousel::-webkit-scrollbar{
  display:none;
}

/* =========================
   News Carousel
========================= */

.news-carousel{
  gap:0;
}

.news-slide{
  min-width:100%;
  flex:0 0 100%;
  scroll-snap-align:start;
}

.news-slider-wrap{
  position:relative;
}

/* =========================
   Tour Carousel
========================= */

.tour-carousel{
  gap:24px;
  scroll-snap-type:x mandatory;
  margin-top:30px;
}

.tour-card{
  min-width:320px;
  flex:0 0 320px;

  scroll-snap-align:start;

  overflow:hidden;
  border-radius:28px;

  background:#111827;

  border:1px solid rgba(216,181,109,.20);

  box-shadow:
    0 18px 50px rgba(0,0,0,.35);

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

.tour-card:hover{
  transform:
    translateY(-10px)
    scale(1.02);

  border-color:
    rgba(255,240,184,.6);

  box-shadow:
    0 30px 90px rgba(0,0,0,.4),
    0 0 40px rgba(216,181,109,.15);
}

/* =========================
   Vehicle Carousel
========================= */

.vehicle-carousel{
  perspective:1600px;
  transform-style:preserve-3d;
}

.vehicle-carousel .tour-card:hover{
  transform:
    rotateY(10deg)
    translateY(-12px)
    scale(1.03);
}

/* =========================
   Review Carousel
========================= */

.review-carousel{
  gap:24px;
}

.review-card{
  min-width:400px;
  flex:0 0 400px;
}

/* =========================
   Navigation
========================= */

.carousel-nav{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:18px;
}

.carousel-dot{
  width:12px;
  height:12px;

  border:none;
  border-radius:50%;

  cursor:pointer;

  background:
    rgba(216,181,109,.25);

  transition:.3s;
}

.carousel-dot.active{
  background:#f7df9b;

  box-shadow:
    0 0 12px rgba(247,223,155,.8);
}

/* =========================
   Arrows
========================= */

.carousel-arrow{
  position:absolute;
  top:50%;

  transform:translateY(-50%);

  width:48px;
  height:48px;

  border:none;
  border-radius:50%;

  cursor:pointer;

  z-index:5;

  color:#f7df9b;

  border:
    1px solid rgba(216,181,109,.35);

  background:
    rgba(10,10,10,.82);

  transition:.3s;
}

.carousel-arrow:hover{
  transform:
    translateY(-50%)
    scale(1.08);

  background:
    rgba(216,181,109,.18);
}

.carousel-prev{
  left:10px;
}

.carousel-next{
  right:10px;
}

/* =========================
   Mobile
========================= */

@media(max-width:980px){

  .carousel-arrow{
    display:none;
  }

}

@media(max-width:640px){

  .tour-card{
    min-width:85vw;
    flex:0 0 85vw;
  }

  .review-card{
    min-width:88vw;
    flex:0 0 88vw;
  }

}