/**
 * Swiper Banner Slider Fixes
 * Prevents slide overlapping and ensures proper transitions
 */

/* Banner slider container fixes */
.banner-section .banner-slider {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  overflow: hidden !important;
}

/* Ensure each slide is properly positioned */
.banner-section .banner-slider .swiper-slide {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  opacity: 0 !important;
  transition: opacity 0.5s ease-in-out !important;
  z-index: 1 !important;
}

/* Active slide should be visible */
.banner-section .banner-slider .swiper-slide-active {
  opacity: 1 !important;
  z-index: 2 !important;
}

/* Next and prev slides should be hidden */
.banner-section .banner-slider .swiper-slide-next,
.banner-section .banner-slider .swiper-slide-prev {
  opacity: 0 !important;
  z-index: 1 !important;
}

/* Slide item positioning */
.banner-section .slide-item {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Video background positioning */
.banner-section .video-background {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

.banner-section .video-background iframe {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100vw !important;
  height: 56.25vw !important; /* 16:9 aspect ratio */
  min-height: 100vh !important;
  min-width: 177.77vh !important; /* 16:9 aspect ratio */
  transform: translate(-50%, -50%) !important;
  z-index: 0 !important;
}

/* Image background positioning */
.banner-section .image-background {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
}

/* Video overlay */
.banner-section .video-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.3) !important;
  z-index: 1 !important;
}

/* Content positioning */
.banner-section .slide-item .auto-container {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.banner-section .slide-item .content-box {
  position: relative !important;
  z-index: 4 !important;
  color: white !important;
  width: 100% !important;
  max-width: 600px !important;
}

/* Slide elements z-index */
.banner-section .slide-item .slide-number {
  position: absolute !important;
  z-index: 5 !important;
}

/* Swiper specific fade effect fixes */
.banner-section .banner-slider.swiper-fade .swiper-slide {
  pointer-events: none !important;
}

.banner-section .banner-slider.swiper-fade .swiper-slide-active {
  pointer-events: auto !important;
}

/* Prevent double transitions */
.banner-section .banner-slider .swiper-slide-duplicate {
  display: none !important;
}

/* Fix for manual navigation */
.banner-section .banner-slider.swiper-fade .swiper-slide-prev,
.banner-section .banner-slider.swiper-fade .swiper-slide-next {
  opacity: 0 !important;
  visibility: hidden !important;
}

.banner-section .banner-slider.swiper-fade .swiper-slide-active {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Navigation buttons positioning */
.banner-slider-next,
.banner-slider-prev {
  position: absolute !important;
  z-index: 10 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
}

.banner-slider-next {
  right: 30px !important;
}

.banner-slider-prev {
  left: 30px !important;
}

/* Pagination positioning */
.banner-slider-pagination {
  position: absolute !important;
  bottom: 30px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
}