.pro-carousel-wrapper-enhanced { width: 100%; position: relative; }
.pro-carousel-container-enhanced { position: relative; width: 100%; overflow: hidden; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); }
.pro-carousel-slides-enhanced { position: relative; width: 100%; height: 100%; }
.pro-carousel-slide-enhanced { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: all 0.6s ease-in-out; z-index: 0; }
.pro-carousel-slide-enhanced.active { opacity: 1; z-index: 1; }
.pro-carousel-slide-enhanced img, .pro-carousel-slide-enhanced video { width: 100%; height: 100%; object-fit: cover; display: block; }
.pro-carousel-slide-enhanced iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }

/* Lazy loading */
.pro-carousel-slide-enhanced img.lazy { opacity: 0; transition: opacity 0.3s; }
.pro-carousel-slide-enhanced img.lazy.loaded { opacity: 1; }

/* Text boxes with enhanced spacing controls */
.slide-textbox { 
  position: absolute; 
  transform: translate(-50%, -50%); 
  text-shadow: 2px 2px 8px rgba(0,0,0,0.8); 
  text-align: center; 
  z-index: 2; 
  max-width: 90%; 
  opacity: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.pro-carousel-slide-enhanced.active .slide-textbox { animation-duration: 0.8s; animation-fill-mode: both; opacity: 1; }

/* Navigation arrows */
.carousel-arrow-enhanced { position: absolute; top: 50%; transform: translateY(-50%); border: none; width: 50px; height: 50px; border-radius: 50%; color: white; font-size: 24px; cursor: pointer; z-index: 10; box-shadow: 0 4px 12px rgba(0,0,0,0.3); transition: all 0.3s; }
.carousel-arrow-enhanced:hover { transform: translateY(-50%) scale(1.1); box-shadow: 0 6px 16px rgba(0,0,0,0.4); }
.arrow-prev-enhanced { left: 20px; }
.arrow-next-enhanced { right: 20px; }

/* Dot navigation */
.carousel-dots-enhanced { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; padding: 10px 20px; border-radius: 25px; backdrop-filter: blur(10px); z-index: 10; }
.carousel-dot-enhanced { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.5); border: 2px solid transparent; cursor: pointer; transition: all 0.3s; }
.carousel-dot-enhanced:hover { background: rgba(255,255,255,0.8); transform: scale(1.2); }
.carousel-dot-enhanced.active { transform: scale(1.3); border-color: white; }

/* Text animations */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideInLeft { from { transform: translate(-150%, -50%); opacity: 0; } to { transform: translate(-50%, -50%); opacity: 1; } }
@keyframes slideInRight { from { transform: translate(50%, -50%); opacity: 0; } to { transform: translate(-50%, -50%); opacity: 1; } }
@keyframes slideInUp { from { transform: translate(-50%, 50%); opacity: 0; } to { transform: translate(-50%, -50%); opacity: 1; } }
@keyframes slideInDown { from { transform: translate(-50%, -150%); opacity: 0; } to { transform: translate(-50%, -50%); opacity: 1; } }
@keyframes zoomIn { from { transform: translate(-50%, -50%) scale(0); opacity: 0; } to { transform: translate(-50%, -50%) scale(1); opacity: 1; } }
@keyframes bounceIn { 
  0% { transform: translate(-50%, -50%) scale(0.3); opacity: 0; } 
  50% { transform: translate(-50%, -50%) scale(1.05); } 
  70% { transform: translate(-50%, -50%) scale(0.9); } 
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; } 
}

.slide-textbox[data-animation="fadeIn"] { animation-name: fadeIn; }
.slide-textbox[data-animation="slideInLeft"] { animation-name: slideInLeft; }
.slide-textbox[data-animation="slideInRight"] { animation-name: slideInRight; }
.slide-textbox[data-animation="slideInUp"] { animation-name: slideInUp; }
.slide-textbox[data-animation="slideInDown"] { animation-name: slideInDown; }
.slide-textbox[data-animation="zoomIn"] { animation-name: zoomIn; }
.slide-textbox[data-animation="bounceIn"] { animation-name: bounceIn; }

/* Transition effects */
.pro-carousel-wrapper-enhanced[data-transition="fade"] .pro-carousel-slide-enhanced { transition: opacity 0.8s ease-in-out; }
.pro-carousel-wrapper-enhanced[data-transition="zoom"] .pro-carousel-slide-enhanced { transform: scale(0.8); }
.pro-carousel-wrapper-enhanced[data-transition="zoom"] .pro-carousel-slide-enhanced.active { transform: scale(1); }
.pro-carousel-wrapper-enhanced[data-transition="flip"] .pro-carousel-slide-enhanced { transform: rotateY(90deg); }
.pro-carousel-wrapper-enhanced[data-transition="flip"] .pro-carousel-slide-enhanced.active { transform: rotateY(0deg); }
.pro-carousel-wrapper-enhanced[data-transition="cube"] .pro-carousel-slide-enhanced { transform: translateZ(-250px) rotateY(90deg); transform-style: preserve-3d; }
.pro-carousel-wrapper-enhanced[data-transition="cube"] .pro-carousel-slide-enhanced.active { transform: translateZ(0) rotateY(0deg); }
.pro-carousel-wrapper-enhanced[data-transition="blur"] .pro-carousel-slide-enhanced { filter: blur(10px); }
.pro-carousel-wrapper-enhanced[data-transition="blur"] .pro-carousel-slide-enhanced.active { filter: blur(0); }

/* Responsive */
@media (max-width: 768px) {
  .slide-textbox { font-size: 24px !important; }
  .carousel-arrow-enhanced { width: 40px; height: 40px; font-size: 20px; }
  .arrow-prev-enhanced { left: 10px; }
  .arrow-next-enhanced { right: 10px; }
}