/* ==================== ANIMATIONS & PERFORMANCE ==================== */

/* Protect Material Icons from browser auto-translation */
.material-symbols-outlined,
.material-icons {
  font-family: 'Material Symbols Outlined', 'Material Icons' !important;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  direction: ltr !important;
  unicode-bidi: isolate;
}

/* GSAP Base States */
.gsap-reveal, .gsap-fade-up, .gsap-stagger-item, .gsap-scale-up {
  will-change: opacity, transform;
}

/* Footer elements */
.footer-reveal {
}

/* 
  Cursor Effects - Hover Ring for Cards & Images 
  Luxury feeling without heavy JS
*/
.hover-ring {
  position: relative;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.hover-ring::after {
  content: '';
  position: absolute;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  border: 1px solid rgba(172, 248, 71, 0.5); /* Secondary fixed color */
  border-radius: inherit;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  pointer-events: none;
  z-index: 10;
}

.hover-ring:hover {
  transform: translateY(-4px);
}

.hover-ring:hover::after {
  opacity: 1;
  transform: scale(1);
}

/* Button Premium Hover */
.premium-btn {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.premium-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -10px rgba(0, 23, 13, 0.5);
}

/* Icons Animation */
.icon-float {
  transition: transform 0.3s ease;
}
.icon-float:hover {
  transform: translateY(-4px) scale(1.1);
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .page-transition-wrap,
  .gsap-reveal, .gsap-fade-up, .gsap-stagger-item, .gsap-scale-up,
  .footer-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .hover-ring:hover, .hover-ring:hover::after,
  .premium-btn:hover, .icon-float:hover {
    transform: none !important;
  }
}
