@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.fade-in {
  animation: fadeIn 0.75s ease both;
}

.slide-up {
  animation: slideUp 0.75s ease both;
}

.zoom-in {
  animation: zoomIn 0.65s ease both;
}

.service-card,
.destination-card,
.package-card,
.feature-card,
.info-card,
.blog-card,
.step-card,
.value-card,
.testimonial-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.service-card:hover,
.destination-card:hover,
.package-card:hover,
.feature-card:hover,
.info-card:hover,
.blog-card:hover,
.step-card:hover,
.value-card:hover,
.testimonial-card:hover {
  transform: translateY(-5px);
  border-color: rgba(15, 76, 92, 0.28);
  box-shadow: var(--shadow-md);
}

.service-card img,
.destination-card img,
.package-card img,
.blog-card img {
  transition: transform 0.35s ease;
}

.service-card:hover img,
.destination-card:hover img,
.package-card:hover img,
.blog-card:hover img {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .slide-up,
  .zoom-in {
    animation: none;
  }
}
