@import "tailwindcss";

@theme {
  --font-sans: 'Inter', sans-serif;
  --color-brand-purple: #0d0717;
  --color-brand-blue: #3b82f6;
  --color-brand-orange: #f97316;
  --color-brand-cyan: #00d2ff;
  --color-brand-pink: #d946ef;
  --color-deep-purple: #1a0b2e;
  --color-card-bg: #150a24;
}

@layer base {
  body {
    @apply font-sans bg-slate-50 text-slate-800 antialiased overflow-x-hidden;
  }
}

@layer utilities {
  .text-gradient {
    @apply bg-clip-text text-transparent bg-gradient-to-r;
  }
  
  .glass-card {
    @apply bg-white/5 border border-white/10 backdrop-blur-md rounded-2xl;
  }

  .glass-border-btn {
    position: relative;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    overflow: hidden;
  }
  
  @media (hover: hover) and (pointer: fine) {
    .glass-border-btn:hover {
      background: rgba(255, 255, 255, 0.1);
    }
  }
  .glass-border-btn:active {
    background: rgba(255, 255, 255, 0.2);
  }

  /* Animations */
  .fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  
  .fade-up.show {
    opacity: 1;
    transform: translateY(0);
  }

  .fade-in {
    opacity: 0;
    transition: opacity 0.8s ease-out;
  }

  .fade-in.show {
    opacity: 1;
  }
}

@layer components {
  .card-gradient-hover {
    position: relative;
    background: white;
    background-clip: padding-box;
    border: 1.5px solid transparent;
    transition: all 0.3s ease;
  }
  
  .card-gradient-hover::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.5px;
    background: linear-gradient(to right, #3b82f6, #a855f7, #f97316);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
  }
  
  @media (hover: hover) and (pointer: fine) {
    .card-gradient-hover:hover {
      transform: translateY(-6px);
      box-shadow: 0 12px 40px -10px rgba(168, 85, 247, 0.25);
    }

    .card-gradient-hover:hover::before {
      opacity: 1;
    }
  }
  
  .card-gradient-hover:active {
    transform: scale(0.98);
  }

  .pricing-card-premium {
    position: relative;
    background: linear-gradient(180deg, rgba(88, 40, 158, 0.15) 0%, rgba(24, 11, 45, 0.3) 100%);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 2rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  @media (hover: hover) and (pointer: fine) {
    .pricing-card-premium:hover {
      transform: translateY(-8px);
      border-color: rgba(168, 85, 247, 0.4);
      box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.5), 0 0 20px rgba(168, 85, 247, 0.1);
    }
  }

  .btn-gradient-vibrant {
    background: linear-gradient(90deg, #3b82f6 0%, #a855f7 50%, #f59e0b 100%);
    transition: all 0.3s ease;
    border: none !important;
  }

  @media (hover: hover) and (pointer: fine) {
    .btn-gradient-vibrant:hover {
      filter: brightness(1.1);
      box-shadow: 0 0 20px rgba(168, 85, 247, 0.4);
      transform: scale(1.02);
    }
  }
  
  .btn-gradient-vibrant:active {
    transform: scale(0.96);
  }

  .how-it-works-icon-gradient {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #f59e0b 100%);
  }
}