/*=============== SCROLL ANIMATIONS - MOBILE FRIENDLY ===============*/

/* Intersection Observer Animations - Ultra Smooth */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1), 
              transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.animate-on-scroll.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Fade in from left - Ultra Smooth */
.animate-fade-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1), 
              transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.animate-fade-left.animate-in {
  opacity: 1;
  transform: translateX(0);
}

/* Fade in from right - Ultra Smooth */
.animate-fade-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1), 
              transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.animate-fade-right.animate-in {
  opacity: 1;
  transform: translateX(0);
}

/* Scale up animation - Ultra Smooth */
.animate-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1), 
              transform 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.animate-scale.animate-in {
  opacity: 1;
  transform: scale(1);
}

/* Stagger animation delays */
.animate-delay-100 { transition-delay: 0.1s; }
.animate-delay-200 { transition-delay: 0.2s; }
.animate-delay-300 { transition-delay: 0.3s; }
.animate-delay-400 { transition-delay: 0.4s; }
.animate-delay-500 { transition-delay: 0.5s; }
.animate-delay-600 { transition-delay: 0.6s; }
.animate-delay-700 { transition-delay: 0.7s; }
.animate-delay-800 { transition-delay: 0.8s; }
.animate-delay-900 { transition-delay: 0.9s; }
.animate-delay-1000 { transition-delay: 1.0s; }

/* Paired animations for Inspirações section - Desktop */
@media (min-width: 769px) {
  /* Block 1 - Both come from left */
  .animate-pair-1 .animate-fade-left,
  .animate-pair-1 .animate-fade-right {
    transform: translateX(-60px);
    transition-delay: 0s;
  }

  /* Block 2 - Both come from right */
  .animate-pair-2 .animate-fade-left,
  .animate-pair-2 .animate-fade-right {
    transform: translateX(60px);
    transition-delay: 0.3s;
  }

  /* Block 3 - Both come from left */
  .animate-pair-3 .animate-fade-left,
  .animate-pair-3 .animate-fade-right {
    transform: translateX(-60px);
    transition-delay: 0.6s;
  }

  .animate-pair-1 .animate-fade-left.animate-in,
  .animate-pair-1 .animate-fade-right.animate-in,
  .animate-pair-2 .animate-fade-left.animate-in,
  .animate-pair-2 .animate-fade-right.animate-in,
  .animate-pair-3 .animate-fade-left.animate-in,
  .animate-pair-3 .animate-fade-right.animate-in {
    transform: translateX(0);
  }
}

/* Synchronized animation for pairs - Mobile */
@media (max-width: 768px) {
  .animate-pair-1 .animate-fade-left,
  .animate-pair-1 .animate-fade-right {
    transition-delay: 0s;
  }

  .animate-pair-2 .animate-fade-left,
  .animate-pair-2 .animate-fade-right {
    transition-delay: 0.4s;
  }

  .animate-pair-3 .animate-fade-left,
  .animate-pair-3 .animate-fade-right {
    transition-delay: 0.8s;
  }
}

/* Mobile optimizations */
@media (max-width: 768px) {
  .animate-on-scroll,
  .animate-fade-left,
  .animate-fade-right,
  .animate-scale {
    transition-duration: 1s;
  }
  
  .animate-fade-left {
    transform: translateX(-40px);
  }
  
  .animate-fade-right {
    transform: translateX(40px);
  }
  
  .animate-on-scroll {
    transform: translateY(30px);
  }
  
  /* Localização cards - all come from right on mobile */
  .localizacao__card.animate-fade-left,
  .localizacao__card.animate-fade-right {
    transform: translateX(60px) !important;
    transition-duration: 1.4s !important;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  .localizacao__card.animate-fade-left.animate-in,
  .localizacao__card.animate-fade-right.animate-in {
    transform: translateX(0) !important;
  }
  
  /* Touch animations for mobile cards */
  .inspiracoes__image-wrapper,
  .inspiracoes__text {
    transition-duration: 1.2s !important;
  }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll,
  .animate-fade-left,
  .animate-fade-right,
  .animate-scale {
    transition-duration: 0.01s !important;
    transition-delay: 0s !important;
  }
}

/* Parallax effect for larger screens */
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .parallax-slow {
    transition: transform 0.1s linear;
    will-change: transform;
  }
  
  .parallax-medium {
    transition: transform 0.1s linear;
    will-change: transform;
  }
  
  .parallax-fast {
    transition: transform 0.1s linear;
    will-change: transform;
  }
}