/* ══════════════════════════════════════
   Jabeenz UX Animations
   Scroll reveal and micro-interaction styles
   ══════════════════════════════════════ */

/* ── Base Reveal ── */
.jbz-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.jbz-reveal--visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* ── Direction Variants ── */
.jbz-reveal--left {
  opacity: 0;
  transform: translateX(-30px);
}

.jbz-reveal--right {
  opacity: 0;
  transform: translateX(30px);
}

.jbz-reveal--scale {
  opacity: 0;
  transform: scale(0.95);
}

/* ── Stagger Children ── */
.jbz-reveal-stagger > *:nth-child(1) { transition-delay: 0ms; }
.jbz-reveal-stagger > *:nth-child(2) { transition-delay: 80ms; }
.jbz-reveal-stagger > *:nth-child(3) { transition-delay: 160ms; }
.jbz-reveal-stagger > *:nth-child(4) { transition-delay: 240ms; }
.jbz-reveal-stagger > *:nth-child(5) { transition-delay: 320ms; }
.jbz-reveal-stagger > *:nth-child(6) { transition-delay: 400ms; }
.jbz-reveal-stagger > *:nth-child(7) { transition-delay: 480ms; }
.jbz-reveal-stagger > *:nth-child(8) { transition-delay: 560ms; }

/* ── Shimmer effect for primary buttons ── */
.jbz-btn--primary.jbz-shimmer-active::after {
  animation: jbz-shimmer-once 0.6s ease;
}

@keyframes jbz-shimmer-once {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* ── Card Lift ── */
.jbz-card-lift {
  transition: transform var(--jbz-transition-base), box-shadow var(--jbz-transition-base);
}

.jbz-card-lift:hover,
.jbz-card-lift.jbz-card-lift--active {
  transform: translateY(-4px);
  box-shadow: var(--jbz-shadow-lg);
}

/* ── Hover Intent Delay ── */
.jbz-hover-intent {
  transition-delay: 100ms;
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  .jbz-reveal,
  .jbz-reveal--left,
  .jbz-reveal--right,
  .jbz-reveal--scale {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .jbz-reveal-stagger > * {
    transition-delay: 0ms !important;
  }

  .jbz-card-lift {
    transition: none;
  }

  .jbz-card-lift:hover,
  .jbz-card-lift.jbz-card-lift--active {
    transform: none;
  }
}
