/* Antigravity Elementor Animations Style */

.wpdsr-animate {
  transition-property: transform, opacity, box-shadow, border-color, outline-color;
  will-change: transform, opacity;
}

/* Scroll Reveal Presets */
.wpdsr-animate[data-wpdsr-anim-type="scroll"] {
  opacity: 0;
}

.wpdsr-animate[data-wpdsr-anim-type="scroll"].wpdsr-animated {
  opacity: 1;
}

/* Presets base */
.wpdsr-animate[data-wpdsr-anim-preset="fade-in"] {
  transform: scale(0.98);
}
.wpdsr-animate[data-wpdsr-anim-preset="fade-in"].wpdsr-animated {
  transform: scale(1);
}

.wpdsr-animate[data-wpdsr-anim-preset="slide-up"] {
  transform: translateY(30px);
}
.wpdsr-animate[data-wpdsr-anim-preset="slide-up"].wpdsr-animated {
  transform: translateY(0);
}

.wpdsr-animate[data-wpdsr-anim-preset="slide-down"] {
  transform: translateY(-30px);
}
.wpdsr-animate[data-wpdsr-anim-preset="slide-down"].wpdsr-animated {
  transform: translateY(0);
}

.wpdsr-animate[data-wpdsr-anim-preset="zoom-in"] {
  transform: scale(0.9);
}
.wpdsr-animate[data-wpdsr-anim-preset="zoom-in"].wpdsr-animated {
  transform: scale(1);
}

.wpdsr-animate[data-wpdsr-anim-preset="zoom-out"] {
  transform: scale(1.1);
}
.wpdsr-animate[data-wpdsr-anim-preset="zoom-out"].wpdsr-animated {
  transform: scale(1);
}

.wpdsr-animate[data-wpdsr-anim-preset="rotate-in"] {
  transform: rotate(-8deg) scale(0.96);
}
.wpdsr-animate[data-wpdsr-anim-preset="rotate-in"].wpdsr-animated {
  transform: rotate(0deg) scale(1);
}

.wpdsr-animate[data-wpdsr-anim-preset="flip-x"] {
  transform: perspective(600px) rotateX(90deg);
}
.wpdsr-animate[data-wpdsr-anim-preset="flip-x"].wpdsr-animated {
  transform: perspective(600px) rotateX(0deg);
}

.wpdsr-animate[data-wpdsr-anim-preset="flip-y"] {
  transform: perspective(600px) rotateY(90deg);
}
.wpdsr-animate[data-wpdsr-anim-preset="flip-y"].wpdsr-animated {
  transform: perspective(600px) rotateY(0deg);
}

/* Loop Animations */

/* 1. Continuous Floating */
@keyframes wpdsrFloat {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(0.5deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}
.wpdsr-animate[data-wpdsr-anim-type="float"] {
  animation: wpdsrFloat 4s ease-in-out infinite;
}

/* 2. Continuous Shadow Pulse */
@keyframes wpdsrPulseShadow {
  0% { box-shadow: 0 5px 15px rgba(0,0,0,0.08); }
  50% { box-shadow: 0 15px 30px rgba(0,0,0,0.18); }
  100% { box-shadow: 0 5px 15px rgba(0,0,0,0.08); }
}
.wpdsr-animate[data-wpdsr-anim-type="pulse_shadow"] {
  animation: wpdsrPulseShadow 3.5s ease-in-out infinite;
}

/* 3. Continuous Border Glow */
@keyframes wpdsrGlowBorder {
  0% { border-color: rgba(99, 102, 241, 0.35); box-shadow: 0 0 0px rgba(99, 102, 241, 0); }
  50% { border-color: rgba(99, 102, 241, 0.9); box-shadow: 0 0 8px rgba(99, 102, 241, 0.3); }
  100% { border-color: rgba(99, 102, 241, 0.35); box-shadow: 0 0 0px rgba(99, 102, 241, 0); }
}
.wpdsr-animate[data-wpdsr-anim-type="glow_border"] {
  animation: wpdsrGlowBorder 3s ease-in-out infinite;
}

/* Stagger: the parent itself stays visible/untransformed; only its children move. */
.wpdsr-stagger-parent[data-wpdsr-anim-type="scroll"],
.wpdsr-stagger-parent[data-wpdsr-anim-type="scroll"].wpdsr-animated {
  opacity: 1 !important;
  transform: none !important;
}

/* Hide child items before reveal — but only when motion is allowed, so
   reduced-motion users never end up with permanently invisible products. */
@media (prefers-reduced-motion: no-preference) {
  .wpdsr-stagger-parent ul.products > li.product,
  .wpdsr-stagger-item {
    opacity: 0;
  }
}
.wpdsr-stagger-item.wpdsr-animated {
  opacity: 1;
}

/* Responsive Overrides / Disables */
@media (max-width: 767px) {
  .wpdsr-anim-disable-mobile {
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }

  /* Mobile performance: drop will-change (saves memory/battery) and soften
     large translate distances so reveals feel snappy on small screens. */
  .wpdsr-animate {
    will-change: auto;
  }
  .wpdsr-animate[data-wpdsr-anim-preset="slide-up"] {
    transform: translateY(18px);
  }
  .wpdsr-animate[data-wpdsr-anim-preset="slide-down"] {
    transform: translateY(-18px);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .wpdsr-anim-disable-tablet {
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Accessibility: honor the OS-level "reduce motion" preference.
   Users who set this (vestibular disorders, battery saving) see content
   instantly with no movement, on every device. */
@media (prefers-reduced-motion: reduce) {
  .wpdsr-animate {
    transform: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}
