/* ==========================================================================
   JobSphereHR Animations & Transition Precision
   ========================================================================== */

/* Intersection Observer Scroll Reveal */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(14px);
  transition: 
    opacity 500ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger Utilities */
.delay-1 { transition-delay: 60ms; }
.delay-2 { transition-delay: 120ms; }
.delay-3 { transition-delay: 180ms; }
.delay-4 { transition-delay: 240ms; }

/* Aurora Subtle Motion */
@keyframes auroraMove {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(25px, -35px) scale(1.05);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}

.aurora-blob {
  animation: auroraMove 24s infinite ease-in-out;
  will-change: transform;
}

.aurora-blob-2 {
  animation-duration: 28s;
  animation-delay: -7s;
}

.aurora-blob-3 {
  animation-duration: 32s;
  animation-delay: -14s;
}

/* Pulse Glow for Live Status Dots */
@keyframes pulseDot {
  0% {
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.4);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(52, 211, 153, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0);
  }
}

.pulse-dot {
  animation: pulseDot 2s infinite;
}

/* Search Focus Dynamic Backdrop Highlight */
.search-container {
  transition: border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.search-container:focus-within {
  border-color: rgba(99, 102, 241, 0.4);
  box-shadow: 0 12px 32px -10px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(99, 102, 241, 0.3);
}