/* === REVEAL ON SCROLL === */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal--delay-1 {
  transition-delay: 0.15s;
}

.reveal--delay-2 {
  transition-delay: 0.3s;
}

/* === HERO ENTRADA === */
@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(48px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero__title {
  animation: heroFadeUp 0.9s ease forwards;
}

.hero__subtitle {
  animation: heroFadeUp 0.9s 0.2s ease both;
}

.hero__content .btn {
  animation: heroFadeUp 0.9s 0.4s ease both;
}

/* === TOUR CARD HOVER === */
.tour-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
}

.tour-card__image img {
  transition: transform 0.45s ease;
}

.tour-card:hover .tour-card__image img {
  transform: scale(1.06);
}

/* === REVIEW CARD HOVER === */
.review-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* === NAV SCROLL TRANSITION === */
.nav {
  transition: background 0.35s ease, box-shadow 0.35s ease;
}

/* === BOTÃO PULSE === */
@keyframes pulseShadow {
  0%, 100% {
    box-shadow: 0 4px 20px rgba(221, 99, 42, 0.4);
  }
  50% {
    box-shadow: 0 4px 32px rgba(221, 99, 42, 0.7);
  }
}

.whatsapp-float {
  animation: pulseShadow 2.5s ease-in-out infinite;
}

.whatsapp-float:hover {
  animation: none;
}
