/* Featured banner slider (paragraph section_featured_banner). */

/* Cinematic slow zoom on the active image */
.hero-slider-wrapper .swiper-slide .hero-bg-img {
  transform: scale(1);
  transition: transform 1s ease-out; /* fast reset when the slide leaves */
}
.hero-slider-wrapper .swiper-slide-active .hero-bg-img {
  transform: scale(1.08);
  transition: transform 7s linear; /* slow, continuous zoom while active */
}

/* Staggered text animations */
.hero-slider-wrapper .hero-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.hero-slider-wrapper .swiper-slide-active .hero-animate {
  opacity: 1;
  transform: translateY(0);
}
.hero-slider-wrapper .swiper-slide-active .delay-1 { transition-delay: 0.1s; }
.hero-slider-wrapper .swiper-slide-active .delay-2 { transition-delay: 0.25s; }
.hero-slider-wrapper .swiper-slide-active .delay-3 { transition-delay: 0.4s; }
.hero-slider-wrapper .swiper-slide-active .delay-4 { transition-delay: 0.55s; }

/* Pagination: flat bars */
.hero-slider-wrapper .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  bottom: 32px !important;
}
.hero-slider-wrapper .swiper-pagination-bullet {
  width: 60px;
  height: 3px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.4);
  opacity: 1 !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
}
.hero-slider-wrapper .swiper-pagination-bullet::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #fff;
}
/* The fill matches the 6s autoplay delay in carousels.js */
.hero-slider-wrapper .swiper-pagination-bullet-active::before {
  animation: fill-progress 6s linear forwards;
}
@keyframes fill-progress {
  0% { width: 0%; }
  100% { width: 100%; }
}
