/* Дополнительные анимации */

@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes iconDance {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }

  33% {
    transform: rotate(-10deg) scale(1.1);
  }

  66% {
    transform: rotate(10deg) scale(1.1);
  }
}

.varadero-icon-wrapper:hover .varadero-icon {
  animation: iconDance 0.5s ease-in-out;
}

.varadero-icon-wrapper:hover {
  transform: scale(1.15);
  box-shadow: 0 15px 30px rgba(255,108,16,0.5);
}

.varadero-icon-wrapper:hover::after {
  opacity: 1;
}

/* Плавное появление элементов при скролле */
.fade-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Анимация для карточек */
@keyframes cardHover {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

.feature-card:hover, .schedule-card:hover, .testimonial-card:hover {
  animation: cardHover 0.3s ease forwards;
}


/* Дополнительные анимации для галереи */

@keyframes galleryItemAppear {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.gallery-item {
  animation: galleryItemAppear 0.5s ease-out;
}

/* Анимация для кнопки "Показать еще" */
#load-more {
  position: relative;
  overflow: hidden;
}

#load-more::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

#load-more:active::after {
  width: 300px;
  height: 300px;
}

/* Анимация для модального окна */
@keyframes modalContentAppear {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

#modal-image {
  animation: modalContentAppear 0.3s ease-out;
}

/* Пульсация для кнопок навигации */
@keyframes navPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 108, 16, 0.4);
  }

  50% {
    box-shadow: 0 0 0 10px rgba(255, 108, 16, 0);
  }
}

#prev-btn:hover, #next-btn:hover {
  animation: navPulse 1.5s infinite;
}

/* Анимация для счетчика */
@keyframes counterUpdate {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

#current-index {
  display: inline-block;
  transition: transform 0.2s ease;
}

#current-index.updating {
  animation: counterUpdate 0.3s ease;
}