/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(1.25rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes scaleIn {
    from {
      opacity: 0;
      transform: scale(0.8);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  
  @keyframes pulse {
    0% { opacity: 0.7; }
    50% { opacity: 0.3; }
    100% { opacity: 0.7; }
  }
  
  /* Animation classes */
  .animate-fade-up {
    opacity: 0;
    animation: fadeInUp 0.8s forwards;
  }
  
  .animate-fade-in {
    opacity: 0;
    animation: fadeIn 0.8s forwards;
  }
  
  .animate-scale-in {
    opacity: 0;
    animation: scaleIn 0.6s forwards;
  }
  
  .animate-from-bottom {
    opacity: 0;
    transform: translateY(1.25rem);
    animation: fadeInUp 0.7s forwards;
  }
  
  /* Animation delays - applied via JS */
  [data-delay="100"] { animation-delay: 0.1s; }
  [data-delay="200"] { animation-delay: 0.2s; }
  [data-delay="300"] { animation-delay: 0.3s; }
  [data-delay="400"] { animation-delay: 0.4s; }
  [data-delay="500"] { animation-delay: 0.5s; }
  [data-delay="600"] { animation-delay: 0.6s; }