/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Auth step transitions */
.auth-step {
  animation: authFadeIn 0.25s ease-out;
}

@keyframes authFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Scroll-reveal animations */
[data-animate] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-animate="scale-in"] {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="scale-in"].is-visible {
  opacity: 1;
  transform: scale(1);
}

[data-animate="fade-left"] {
  opacity: 0;
  transform: translateX(-32px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-left"].is-visible {
  opacity: 1;
  transform: translateX(0);
}

[data-animate="fade-right"] {
  opacity: 0;
  transform: translateX(32px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-right"].is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Lawzo AI section */
.lawzo-ai-bg {
  background: linear-gradient(135deg, #312e81 0%, #3730a3 40%, #1e293b 100%);
}

/* Floating glow animations for AI section */
@keyframes floatGlow1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -18px) scale(1.1); }
}

@keyframes floatGlow2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-15px, 12px) scale(1.08); }
}

@keyframes floatGlow3 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(10px, 15px) scale(1.05); }
}

.ai-glow-1 { animation: floatGlow1 6s ease-in-out infinite; }
.ai-glow-2 { animation: floatGlow2 8s ease-in-out infinite; }
.ai-glow-3 { animation: floatGlow3 7s ease-in-out infinite; }
