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

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

@layer base {
  :root {
    --background: 210 100% 98%;
    --foreground: 222 47% 15%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 15%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 15%;

    --primary: 196 80% 50%;
    --primary-foreground: 210 40% 98%;

    --secondary: 329 100% 64%;
    --secondary-foreground: 210 40% 98%;

    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;

    --accent: 329 100% 64%;
    --accent-foreground: 210 40% 98%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;

    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 196 80% 50%;

    --radius: 0.75rem;

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 196 80% 50%;
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 329 100% 64%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 212.7 26.8% 83.9%;
  }
}

@layer base {
  * {
    @apply border-border;
  }

  body {
    @apply bg-background text-foreground font-sans;
    overflow-x: hidden;
    background: linear-gradient(to bottom, #F2F7FF, #fff);
  }

  h1, h2, h3, h4, h5, h6 {
    @apply font-display font-semibold;
  }
}

@layer components {
  .glass-card {
    @apply bg-white/70 backdrop-blur-md border border-white/20 shadow-md rounded-2xl;
  }
  
  .btn-primary {
    @apply bg-gradient-to-r from-stitch-pink to-stitch-coral text-white font-medium px-6 py-3 rounded-full shadow-lg transition-all duration-300 hover:shadow-xl hover:translate-y-[-2px] active:translate-y-0 active:shadow-md;
  }
  
  .stitch-input {
    @apply bg-white border border-gray-200 rounded-full py-2 px-4 w-full focus:outline-none focus:ring-2 focus:ring-stitch-blue transition-all duration-300;
  }

  .stitch-select {
    @apply stitch-input appearance-none bg-no-repeat bg-[right_1rem_center] pr-10;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2316a4e8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-size: 20px;
  }
  
  .animate-reveal {
    @apply opacity-0;
    animation: reveal 0.8s forwards;
  }
  
  @keyframes reveal {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .hover-scale {
    @apply transition-transform duration-300 hover:scale-105;
  }
  
  .star-bg {
    @apply relative overflow-hidden;
    background: linear-gradient(to bottom, #1A1F2C, #2A3A5C);
  }
  
  .star-bg::before {
    content: "";
    @apply absolute inset-0 opacity-30;
    background-image: radial-gradient(white 1px, transparent 1px);
    background-size: 50px 50px;
  }
  
  .bubble-button {
    @apply relative overflow-hidden rounded-full bg-gradient-to-r from-stitch-blue to-stitch-teal text-white py-3 px-6 transition-all duration-300;
  }
  
  .bubble-button::after {
    content: "";
    @apply absolute inset-0 opacity-0 transition-opacity duration-300;
    background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 70%);
  }
  
  .bubble-button:hover::after {
    @apply opacity-100;
  }
  
  .soft-shadow {
    box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
  }
}
