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

/* Professional Business Optimization Design System
All colors MUST be HSL. Premium, sophisticated, authority-focused design.
*/

@layer base {
  :root {
    --background: 0 0% 99%;
    --foreground: 0 0% 0%;

    --card: 0 0% 100%;
    --card-foreground: 225 15% 20%;

    --popover: 0 0% 100%;
    --popover-foreground: 225 15% 20%;

    --primary: 215 85% 25%;
    --primary-foreground: 0 0% 98%;
    --primary-hover: 215 85% 20%;

    --secondary: 210 40% 96%;
    --secondary-foreground: 225 15% 20%;

    --muted: 215 25% 95%;
    --muted-foreground: 225 8% 45%;

    --accent: 45 93% 47%;
    --accent-foreground: 225 15% 20%;
    --accent-hover: 45 93% 42%;

    --success: 140 45% 45%;
    --success-foreground: 0 0% 98%;

    --premium: 270 95% 15%;
    --premium-foreground: 0 0% 98%;

    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 98%;

    --border: 215 15% 88%;
    --input: 215 15% 90%;
    --ring: 215 85% 25%;

    --radius: 0.75rem;

    /* Premium gradients for sophisticated design */
    --gradient-hero: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--premium)) 100%);
    --gradient-accent: linear-gradient(135deg, hsl(var(--accent)) 0%, hsl(45 100% 55%) 100%);
    --gradient-subtle: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--muted)) 100%);
    
    /* Professional shadows */
    --shadow-premium: 0 20px 40px -10px hsl(var(--primary) / 0.15);
    --shadow-accent: 0 10px 30px -5px hsl(var(--accent) / 0.2);
    --shadow-subtle: 0 4px 12px -2px hsl(225 15% 20% / 0.1);
    
    /* Smooth transitions */
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);

    --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: 225 20% 8%;
    --foreground: 0 0% 95%;

    --card: 225 15% 12%;
    --card-foreground: 0 0% 95%;

    --popover: 225 15% 12%;
    --popover-foreground: 0 0% 95%;

    --primary: 215 85% 60%;
    --primary-foreground: 225 20% 8%;
    --primary-hover: 215 85% 55%;

    --secondary: 225 10% 18%;
    --secondary-foreground: 0 0% 95%;

    --muted: 225 10% 15%;
    --muted-foreground: 225 8% 65%;

    --accent: 45 93% 55%;
    --accent-foreground: 225 20% 8%;
    --accent-hover: 45 93% 50%;

    --success: 140 45% 55%;
    --success-foreground: 225 20% 8%;

    --premium: 270 95% 25%;
    --premium-foreground: 0 0% 95%;

    --destructive: 0 84% 65%;
    --destructive-foreground: 225 20% 8%;

    --border: 225 10% 20%;
    --input: 225 10% 20%;
    --ring: 215 85% 60%;
    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

/* Blog Article Content Styling */
.blog-article-content {
  @apply text-base leading-relaxed;
}

.blog-article-content h2 {
  @apply text-2xl font-bold mb-6 mt-12 text-foreground border-b border-border pb-3;
}

.blog-article-content h3 {
  @apply text-xl font-semibold mb-4 mt-8 text-foreground;
}

.blog-article-content p {
  @apply mb-6 text-muted-foreground leading-relaxed;
}

.blog-article-content ul {
  @apply list-disc list-inside space-y-2 mb-6 ml-4;
}

.blog-article-content li {
  @apply mb-2 text-muted-foreground;
}

.blog-article-content strong {
  @apply font-semibold text-foreground;
}

.blog-article-content em {
  @apply italic;
}

.blog-article-content a {
  @apply text-primary hover:text-primary/80 underline decoration-primary/30 underline-offset-4 hover:decoration-primary/60 transition-colors;
}

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

  body {
    @apply bg-background text-foreground font-sans antialiased;
  }
}

/* Custom animations */
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fade-in-up {
  from { 
    opacity: 0.3; 
    transform: translateY(10px);
  }
  to { 
    opacity: 1; 
    transform: translateY(0);
  }
}

@keyframes fade-in-right {
  from { 
    opacity: 0; 
    transform: translateX(20px);
  }
  to { 
    opacity: 1; 
    transform: translateX(0);
  }
}

.animate-fade-in {
  animation: fade-in 0.6s ease-out;
}

.animate-fade-in-up {
  animation: fade-in-up 0.4s ease-out;
}

.animate-fade-in-right {
  animation: fade-in-right 0.6s ease-out;
}

.delay-200 {
  animation-delay: 0.2s;
}

.delay-300 {
  animation-delay: 0.3s;
}

.delay-400 {
  animation-delay: 0.4s;
}

/* Grid pattern background */
.bg-grid-pattern {
  background-image: radial-gradient(circle, hsl(var(--muted-foreground)) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* Blog Content Styling */
.blog-content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.1;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  color: hsl(var(--foreground));
  letter-spacing: -0.025em;
}

.blog-content h2 {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  color: hsl(var(--foreground));
  letter-spacing: -0.015em;
  border-bottom: 2px solid hsl(var(--border));
  padding-bottom: 0.5rem;
}

.blog-content h3 {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: hsl(var(--primary));
  letter-spacing: -0.01em;
}

.blog-content p {
  font-size: 1.125rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  color: hsl(var(--muted-foreground));
}

.blog-content p:first-of-type {
  font-size: 1.25rem;
  color: hsl(var(--foreground));
  font-weight: 500;
  margin-bottom: 2rem;
}

.blog-content strong {
  color: hsl(var(--foreground));
  font-weight: 600;
}

.blog-content ul, .blog-content ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.blog-content li {
  margin-bottom: 0.5rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.6;
}