@tailwind base;
@tailwind components;
@tailwind utilities;

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

@layer base {
  body {
    @apply font-sans antialiased;
  }
}

@layer components {
  .btn-primary {
    @apply bg-primary-600 hover:bg-primary-700 text-white font-semibold py-3 px-6 rounded-lg transition-all duration-300 transform hover:scale-105 shadow-lg hover:shadow-xl;
  }
  
  .btn-secondary {
    @apply bg-white hover:bg-gray-50 text-primary-600 font-semibold py-3 px-6 rounded-lg border-2 border-primary-600 transition-all duration-300;
  }
  
  .section-padding {
    @apply py-20 px-4 sm:px-6 lg:px-8;
  }
  
  .container-custom {
    @apply max-w-7xl mx-auto;
  }
  
  .gradient-text {
    @apply bg-gradient-to-r from-primary-600 to-blue-600 bg-clip-text text-transparent;
  }
  
  .bg-grid-pattern {
    background-image: 
      linear-gradient(to right, rgba(0, 0, 0, 0.1) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 1px, transparent 1px);
    background-size: 50px 50px;
  }
}

@layer utilities {
  .animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  }
  
  .animate-fade-in {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  
  .animate-fade-in-up {
    animation: fadeInUp 1s ease-out;
  }
  
  .delay-300 {
    animation-delay: 0.3s;
    opacity: 0;
    animation-fill-mode: forwards;
  }
  
  .delay-500 {
    animation-delay: 0.5s;
    opacity: 0;
    animation-fill-mode: forwards;
  }
  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .hero-slide {
    opacity: 0;
    transition: opacity 1s ease-in-out;
    pointer-events: none;
  }
  
  .hero-slide.active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
  }
  
  .slider-dot.active {
    background-color: white !important;
    opacity: 1 !important;
  }
}

