/* Hero Slider Styles */
.hero-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  z-index: 0;
}

.hero-slide.active {
  opacity: 1;
  z-index: 1;
}

.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none; /* Allow clicks to pass through to controls */
  user-select: none;
}

/* Ensure minimum height for hero section */
.hero-slider {
  min-height: 600px;
}

@media (min-width: 768px) {
  .hero-slider {
    min-height: 700px;
  }
}

@media (min-width: 1024px) {
  .hero-slider {
    min-height: 800px;
  }
}

/* Slider controls - Previous and Next buttons */
.hero-prev,
.hero-next {
  /* Position and layering */
  z-index: 9999 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  position: absolute !important;
  
  /* Size and shape */
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  
  /* Display and alignment */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  
  /* Visibility */
  opacity: 1 !important;
  visibility: visible !important;
}

.hero-prev {
  left: 1rem !important;
}

.hero-next {
  right: 1rem !important;
}

/* Ensure SVG icons are visible and properly sized */
.hero-prev svg,
.hero-next svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  pointer-events: none !important;
  flex-shrink: 0 !important;
}

/* Slider controls hover effects */
.hero-prev:hover,
.hero-next:hover {
  transform: translateY(-50%) scale(1.1) !important;
  background-color: white !important;
}

/* Focus states for accessibility */
.hero-prev:focus,
.hero-next:focus {
  outline: 2px solid #0284c7 !important;
  outline-offset: 2px !important;
}

/* CRITICAL: Ensure dots are clickable */
.hero-dot {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 9999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
}

/* Dot container */
.hero-slider + div + div + div {
  z-index: 9999 !important;
}

/* Dot active state */
.hero-dot.active {
  width: 2rem;
  background-color: white;
}

.hero-dot:hover {
  background-color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
}

/* Ensure video play button is visible and clickable */
a[href*="youtube"] {
  z-index: 9998 !important;
  pointer-events: auto !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  
  /* Ensure proper sizing */
  width: 80px !important;
  height: 80px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ensure play button SVG is visible */
a[href*="youtube"] svg {
  width: 40px !important;
  height: 40px !important;
  display: block !important;
  pointer-events: none !important;
}

/* Override ANY hiding from image protection */
.hero-slider *,
.hero-slider button,
.hero-slider a {
  max-height: none !important;
  max-width: none !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
}

/* Mobile optimizations */
@media (max-width: 640px) {
  .hero-prev,
  .hero-next {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
  
  .hero-prev {
    left: 0.5rem !important;
  }
  
  .hero-next {
    right: 0.5rem !important;
  }
  
  .hero-prev svg,
  .hero-next svg {
    width: 20px !important;
    height: 20px !important;
  }
  
  a[href*="youtube"] {
    width: 64px !important;
    height: 64px !important;
  }
  
  a[href*="youtube"] svg {
    width: 32px !important;
    height: 32px !important;
  }
}
