/* carousel.css - Modern carousel integration */

/* Base carousel styles are now in index.css for better integration */

/* Slideshow container - additional styles */
.slideshow-container {
  position: relative;
  overflow: hidden;
}

/* Slide transitions */
.mySlides {
  display: none;
  animation: fadeIn 0.5s ease-in-out;
}

.mySlides.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Alternative slide transition - can be uncommented for different effect */
/*
.mySlides {
  transform: translateX(100%);
  transition: transform 0.5s ease-in-out;
}

.mySlides.active {
  transform: translateX(0);
}

.mySlides.prev {
  transform: translateX(-100%);
}
*/

/* Image optimization */
.mySlides img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.slideshow-container:hover .mySlides img {
  transform: scale(1.02);
}

/* Enhanced text overlay */
.text {
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0.4) 50%,
    transparent 100%
  );
  backdrop-filter: blur(2px);
  padding: var(--space-8) var(--space-4) var(--space-4);
  font-family: var(--font-family-sans);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Loading state */
.slideshow-container.loading {
  background: var(--gray-200);
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slideshow-container.loading::after {
  content: '';
  width: 40px;
  height: 40px;
  border: 4px solid var(--gray-300);
  border-top: 4px solid var(--primary-500);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Responsive improvements */
@media (max-width: 480px) {
  .prev, .next {
    font-size: 14px;
    padding: var(--space-2);
  }
  
  .text {
    font-size: var(--text-sm);
    padding: var(--space-4) var(--space-2) var(--space-2);
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .text {
    background: rgba(0, 0, 0, 0.95);
  }
  
  .prev, .next {
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid white;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .mySlides,
  .mySlides img,
  .prev,
  .next {
    animation: none;
    transition: none;
  }
  
  .slideshow-container:hover .mySlides img {
    transform: none;
  }
}

/* Print styles */
@media print {
  .slideshow-container {
    display: none;
  }
}