/* Watxio Enhancements (Elementor-friendly)
   - Lightweight, does NOT require rebuilding Tailwind
   - Add classes in Elementor: watxio-reveal, watxio-hover-lift, watxio-glow, watxio-float
*/

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Better tap behavior on mobile */
html {
  -webkit-text-size-adjust: 100%;
}

/* Safer fixed header on iOS with dynamic toolbars */
body {
  padding-top: env(safe-area-inset-top);
}

/* ---------- Scroll reveal (works in Elementor + theme templates) ---------- */
.watxio-reveal,
[data-watxio-reveal] {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(2px);
  transition:
    opacity 600ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 700ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 700ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform, filter;
}

.watxio-reveal.is-visible,
[data-watxio-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Optional variants */
.watxio-reveal[data-variant="fade"] { transform: none; filter: none; }
.watxio-reveal[data-variant="scale"] { transform: scale(0.98); filter: none; }
.watxio-reveal.is-visible[data-variant="scale"] { transform: scale(1); }

/* ---------- Micro-interactions ---------- */
.watxio-hover-lift {
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.watxio-hover-lift:hover {
  transform: translateY(-4px);
}
.watxio-hover-lift:active {
  transform: translateY(-1px);
}

.watxio-glow {
  box-shadow: var(--shadow-glow);
}

.watxio-float {
  animation: watxio-float 7s ease-in-out infinite;
}
@keyframes watxio-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Backfill missing Tailwind-style animation used in templates */
.animate-slide-in-left {
  animation: watxio-slide-in-left 600ms ease-out both;
}
@keyframes watxio-slide-in-left {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ---------- Mobile menu animation ---------- */
.watxio-mobile-menu {
  max-height: 0;
  opacity: 0;
  transform: translateY(-10px);
  overflow: hidden;
  pointer-events: none;
  transition:
    max-height 420ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 240ms ease,
    transform 240ms ease;
  will-change: max-height, opacity, transform;
}
.watxio-mobile-menu.is-open {
  max-height: 70vh;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ---------- AOS reveal text (moved from inline footer style) ---------- */
[data-aos] { pointer-events: none; }
[data-aos].aos-animate { pointer-events: auto; }

.reveal-text { overflow: hidden; }
.reveal-text span {
  display: block;
  transform: translateY(100%);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-text.aos-animate span { transform: translateY(0); }
