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

/* Definition of the design system. All colors, gradients, fonts, etc should be defined here. 
All colors MUST be HSL.
*/

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 210 17% 12%;

    --card: 0 0% 100%;
    --card-foreground: 210 17% 12%;

    --popover: 0 0% 100%;
    --popover-foreground: 210 17% 12%;

    --primary: 211 100% 40%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 211 100% 35%;

    --secondary: 210 17% 96%;
    --secondary-foreground: 210 17% 12%;

    --muted: 210 17% 96%;
    --muted-foreground: 215 16% 47%;

    --accent: 211 100% 95%;
    --accent-foreground: 211 100% 50%;

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

    --border: 214 32% 91%;
    --input: 214 32% 91%;
    --ring: 211 100% 50%;

    --radius: 0.75rem;

    --gradient-hero: linear-gradient(135deg, hsl(211 100% 50% / 0.05), hsl(211 100% 50% / 0.1));
    --gradient-testimonial: linear-gradient(135deg, hsl(211 100% 97% / 0.8), hsl(210 50% 98% / 0.9));
    --shadow-card: 0 4px 6px -1px hsl(211 100% 50% / 0.1), 0 2px 4px -1px hsl(211 100% 50% / 0.06);
    --shadow-testimonial: 0 8px 24px -4px hsl(211 100% 50% / 0.12), 0 4px 12px -2px hsl(211 100% 50% / 0.08);
    --shadow-button: 0 1px 2px 0 hsl(211 100% 50% / 0.05);

    --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: 211 100% 50%;
  }

  .dark {
    --background: 222 47% 11%;
    --foreground: 210 17% 98%;

    --card: 222 47% 14%;
    --card-foreground: 210 17% 98%;

    --popover: 222 47% 14%;
    --popover-foreground: 210 17% 98%;

    --primary: 211 100% 45%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 211 100% 50%;

    --secondary: 217 33% 17%;
    --secondary-foreground: 210 17% 98%;

    --muted: 217 33% 17%;
    --muted-foreground: 215 20% 65%;

    --accent: 217 33% 20%;
    --accent-foreground: 211 100% 50%;

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

    --border: 217 33% 20%;
    --input: 217 33% 20%;
    --ring: 211 100% 50%;

    --gradient-hero: linear-gradient(135deg, hsl(211 100% 50% / 0.1), hsl(211 100% 50% / 0.15));
    --gradient-testimonial: linear-gradient(135deg, hsl(222 47% 18% / 0.6), hsl(217 33% 20% / 0.7));
    --shadow-card: 0 8px 16px -2px hsl(0 0% 0% / 0.3), 0 4px 8px -2px hsl(0 0% 0% / 0.2);
    --shadow-testimonial: 0 12px 32px -6px hsl(0 0% 0% / 0.4), 0 6px 16px -3px hsl(0 0% 0% / 0.3);
    --shadow-button: 0 2px 4px 0 hsl(0 0% 0% / 0.1);

    --sidebar-background: 222 47% 11%;
    --sidebar-foreground: 210 17% 98%;
    --sidebar-primary: 210 17% 98%;
    --sidebar-primary-foreground: 222 47% 11%;
    --sidebar-accent: 217 33% 17%;
    --sidebar-accent-foreground: 210 17% 98%;
    --sidebar-border: 217 33% 20%;
    --sidebar-ring: 211 100% 50%;
  }
}

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

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