/* ==========================================================================
   hero.css
   Styling for the homepage hero Swiper slider (assets/js/hero-slider.js).
   Only loaded on index.html.
   ========================================================================== */

.hero-swiper {
  isolation: isolate;
}

.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
  width: 100%;
}

.hero-slide {
  position: relative;
  overflow: hidden;
}

.hero-slide-bg {
  transform: scale(1.06);
  transition: transform 8s linear;
}

.swiper-slide-active .hero-slide-bg {
  transform: scale(1.12);
}

/* soft pulsing accent glow behind the headline, matches original animation */
.hero-glow {
  position: absolute;
  top: 25%;
  right: 33%;
  width: 24rem;
  height: 24rem;
  border-radius: 9999px;
  pointer-events: none;
  filter: blur(50px);
  animation: heroGlowPulse 8s ease-in-out infinite;
}

@keyframes heroGlowPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.15;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.28;
  }
}

/* pagination bars, styled to match the original pill-shaped dots */
.hero-pagination {
  position: absolute;
  bottom: 7rem;
  left: 1.25rem;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 0;
}

@media (min-width: 1024px) {
  .hero-pagination {
    left: 2rem;
  }
}

.hero-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.3);
  opacity: 1;
  margin: 0 5px 0 0;
  transition: width 0.3s ease, background-color 0.3s ease;
  cursor: pointer;
}

.hero-pagination .swiper-pagination-bullet-active {
  width: 28px;
  background: #1aaaa3;
}

/* prev/next arrows, styled to match the original circular glass buttons */
.hero-nav-prev,
.hero-nav-next {
  position: absolute;
  bottom: 6rem;
  z-index: 20;
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  cursor: pointer;
  transition: color 0.2s ease;
}

.hero-nav-prev:hover,
.hero-nav-next:hover {
  color: #ffffff;
}

.hero-nav-prev {
  right: 4.75rem;
  left: auto;
}

.hero-nav-next {
  right: 1.25rem;
  left: auto;
}

@media (min-width: 1024px) {
  .hero-nav-prev {
    right: 5.5rem;
  }
  .hero-nav-next {
    right: 2rem;
  }
}

.hero-scroll-indicator {
  z-index: 20;
}
