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

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

@layer base {
  /* Responsive typography for big screens */
  html {
    font-size: 18px;
    scroll-behavior: smooth;
  }

  @media (min-width: 1280px) {
    html {
      font-size: 20px;
    }
  }

  @media (min-width: 1536px) {
    html {
      font-size: 22px;
    }
  }

  @media (min-width: 1920px) {
    html {
      font-size: 24px;
    }
  }

  body {
    @apply font-sans text-secondary-800 antialiased;
  }

  /* Modern scrollbar */
  ::-webkit-scrollbar {
    width: 10px;
  }

  ::-webkit-scrollbar-track {
    @apply bg-secondary-100;
  }

  ::-webkit-scrollbar-thumb {
    @apply bg-primary-500 rounded-full;
  }

  ::-webkit-scrollbar-thumb:hover {
    @apply bg-primary-600;
  }
}

@layer components {
  /* Modern card with hover effects */
  .card {
    @apply bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 
           hover:shadow-2xl hover:-translate-y-1;
  }

  /* Gradient button with modern effects */
  .btn-primary {
    @apply bg-gradient-to-r from-primary-600 to-primary-500 text-white px-8 py-3 rounded-xl
           font-medium shadow-lg hover:shadow-xl transition-all duration-300
           hover:from-primary-500 hover:to-primary-400 active:scale-95;
  }

  .btn-secondary {
    @apply bg-white text-primary-600 px-8 py-3 rounded-xl border-2 border-primary-500
           font-medium shadow-md hover:shadow-lg transition-all duration-300
           hover:bg-primary-50 active:scale-95;
  }

  /* Product card styling */
  .product-card {
    @apply card cursor-pointer;
  }

  .product-card-image {
    @apply relative overflow-hidden bg-gradient-to-br from-secondary-50 to-secondary-100
           aspect-square flex items-center justify-center;
  }

  .product-card-image img {
    @apply w-full h-full object-contain p-6 transition-transform duration-500
           group-hover:scale-110;
  }

  /* Modern section styling */
  .section {
    @apply py-16 md:py-24;
  }

  .section-title {
    @apply text-3xl md:text-4xl lg:text-5xl font-bold text-secondary-900 mb-6
           animate-fade-in;
  }

  .section-subtitle {
    @apply text-lg md:text-xl text-secondary-600 max-w-3xl animate-fade-in;
  }

  /* Container with modern spacing */
  .container-custom {
    @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8;
  }

  /* Gradient background */
  .gradient-bg {
    @apply bg-gradient-to-br from-primary-50 via-white to-accent-50;
  }

  /* Modern navbar */
  .navbar {
    @apply sticky top-0 z-50 bg-white/80 backdrop-blur-lg border-b border-secondary-200
           transition-all duration-300;
  }

  /* Footer styling */
  .footer {
    @apply bg-gradient-to-br from-secondary-900 to-secondary-800 text-white;
  }

  /* Table styling - responsive */
  .modern-table {
    @apply w-full border-collapse rounded-xl overflow-hidden shadow-lg;
  }

  .modern-table th {
    @apply bg-primary-600 text-white px-6 py-4 text-left font-semibold uppercase tracking-wider;
  }

  .modern-table td {
    @apply px-6 py-4 border-b border-secondary-200;
  }

  .modern-table tr:last-child td {
    @apply border-b-0;
  }

  .modern-table tr:hover td {
    @apply bg-primary-50;
  }

  /* Badge styling */
  .badge {
    @apply inline-flex items-center px-4 py-1.5 rounded-full text-sm font-medium
           bg-primary-100 text-primary-700;
  }

  /* Modern input fields */
  .input-modern {
    @apply w-full px-4 py-3 rounded-xl border-2 border-secondary-300
           focus:border-primary-500 focus:ring-4 focus:ring-primary-100
           transition-all duration-300 outline-none;
  }
}

@layer utilities {
  /* Animation utilities */
  .animate-on-scroll {
    @apply opacity-0 translate-y-4 transition-all duration-700;
  }

  .animate-on-scroll.visible {
    @apply opacity-100 translate-y-0;
  }

  /* Gradient text */
  .gradient-text {
    @apply bg-gradient-to-r from-primary-600 to-primary-400 bg-clip-text text-transparent;
  }

  /* Glass morphism */
  .glass {
    @apply bg-white/10 backdrop-blur-lg border border-white/20;
  }
}
