/* Performance Optimizations: GPU Compositing & Non-Blocked Animations */

/* Enable GPU compositing for AOS animations to prevent paint thrashing */
[data-aos] {
  will-change: transform;
}

/* Ensure AOS animated elements are composited  */
[data-aos][data-aos].aos-animate {
  transform: translate3d(0, 0, 0);
}

/* Optimize all button hover states for GPU acceleration */
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
a.btn:hover,
.btn:hover,
.submit-btn:hover,
.pack-btn a:hover,
.pack-btn button:hover {
  will-change: transform, background-color;
}

/* Optimize featured tour card animations */
.featured-tour-card,
.featured-tour-label,
.featured-tour-image img {
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

/* Optimize parallax and modal animations */
.slide,
.modal-content {
  will-change: transform, opacity;
}

/* Reduce non-composited animations by using CSS transforms instead of position/size changes */
@media (max-width: 767px) {
  .sub-package,
  .sub-service {
    will-change: height;
  }
}

/* Floating contact buttons GPU acceleration */
.float-btn {
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.float-btn:hover {
  will-change: transform, box-shadow;
}
