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

:root {
  --background: hsl(0 0% 100%);
  --foreground: hsl(222 84% 5%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(222 84% 5%);
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(222 84% 5%);
  --primary: hsl(217 91% 60%);
  --primary-foreground: hsl(210 40% 98%);
  --secondary: hsl(210 40% 98%);
  --secondary-foreground: hsl(222 19% 13%);
  --muted: hsl(210 40% 98%);
  --muted-foreground: hsl(215 20% 45%);
  --accent: hsl(210 40% 98%);
  --accent-foreground: hsl(222 19% 13%);
  --destructive: hsl(0 84% 60%);
  --destructive-foreground: hsl(210 40% 98%);
  --border: hsl(214 32% 91%);
  --input: hsl(214 32% 91%);
  --ring: hsl(217 91% 60%);
  --chart-1: hsl(217 91% 60%);
  --chart-2: hsl(159.7826 100% 36.0784%);
  --chart-3: hsl(42.0290 92.8251% 56.2745%);
  --chart-4: hsl(147.1429 78.5047% 41.9608%);
  --chart-5: hsl(341.4894 75.2000% 50.9804%);
  --sidebar: hsl(222 84% 7%);
  --sidebar-foreground: hsl(210 40% 98%);
  --sidebar-primary: hsl(217 91% 60%);
  --sidebar-primary-foreground: hsl(222 84% 5%);
  --sidebar-accent: hsl(217 19% 27%);
  --sidebar-accent-foreground: hsl(210 40% 98%);
  --sidebar-border: hsl(217 19% 27%);
  --sidebar-ring: hsl(224 71% 4%);
  --font-sans: Inter, system-ui, sans-serif;
  --font-serif: Georgia, serif;
  --font-mono: Menlo, monospace;
  --radius: 0.75rem;
  --shadow-2xs: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
  --shadow-xs: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
  --shadow-sm: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 1px 2px -1px hsl(217 91% 60% / 0.00);
  --shadow: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 1px 2px -1px hsl(217 91% 60% / 0.00);
  --shadow-md: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 2px 4px -1px hsl(217 91% 60% / 0.00);
  --shadow-lg: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 4px 6px -1px hsl(217 91% 60% / 0.00);
  --shadow-xl: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 8px 10px -1px hsl(217 91% 60% / 0.00);
  --shadow-2xl: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
}

.dark {
  --background: hsl(222 84% 5%);
  --foreground: hsl(210 40% 98%);
  --card: hsl(222 84% 7%);
  --card-foreground: hsl(210 40% 98%);
  --popover: hsl(222 84% 7%);
  --popover-foreground: hsl(210 40% 98%);
  --primary: hsl(217 91% 60%);
  --primary-foreground: hsl(222 84% 5%);
  --secondary: hsl(217 19% 27%);
  --secondary-foreground: hsl(210 40% 98%);
  --muted: hsl(217 19% 27%);
  --muted-foreground: hsl(215 20% 65%);
  --accent: hsl(217 19% 27%);
  --accent-foreground: hsl(210 40% 98%);
  --destructive: hsl(0 63% 31%);
  --destructive-foreground: hsl(210 40% 98%);
  --border: hsl(217 19% 27%);
  --input: hsl(217 19% 27%);
  --ring: hsl(224 71% 4%);
  --chart-1: hsl(217 91% 60%);
  --chart-2: hsl(159.7826 100% 36.0784%);
  --chart-3: hsl(42.0290 92.8251% 56.2745%);
  --chart-4: hsl(147.1429 78.5047% 41.9608%);
  --chart-5: hsl(341.4894 75.2000% 50.9804%);
  --sidebar: hsl(222 84% 7%);
  --sidebar-foreground: hsl(210 40% 98%);
  --sidebar-primary: hsl(217 91% 60%);
  --sidebar-primary-foreground: hsl(222 84% 5%);
  --sidebar-accent: hsl(217 19% 27%);
  --sidebar-accent-foreground: hsl(210 40% 98%);
  --sidebar-border: hsl(217 19% 27%);
  --sidebar-ring: hsl(224 71% 4%);
  --font-sans: Inter, system-ui, sans-serif;
  --font-serif: Georgia, serif;
  --font-mono: Menlo, monospace;
  --radius: 0.75rem;
  --shadow-2xs: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
  --shadow-xs: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
  --shadow-sm: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 1px 2px -1px hsl(217 91% 60% / 0.00);
  --shadow: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 1px 2px -1px hsl(217 91% 60% / 0.00);
  --shadow-md: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 2px 4px -1px hsl(217 91% 60% / 0.00);
  --shadow-lg: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 4px 6px -1px hsl(217 91% 60% / 0.00);
  --shadow-xl: 0px 2px 0px 0px hsl(217 91% 60% / 0.00), 0px 8px 10px -1px hsl(217 91% 60% / 0.00);
  --shadow-2xl: 0px 2px 0px 0px hsl(217 91% 60% / 0.00);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--muted);
}

::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary);
}

/* Services container custom scrollbar */
.services-scroll::-webkit-scrollbar {
  width: 6px;
}

.services-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.services-scroll::-webkit-scrollbar-thumb {
  background: var(--muted-foreground);
  border-radius: 3px;
  opacity: 0.5;
}

.services-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--foreground);
  opacity: 0.8;
}

/* Animation classes */
.fade-in {
  animation: fadeIn 0.2s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.scale-in {
  animation: scaleIn 0.2s ease-in-out;
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* Service item animation */
.service-item-enter {
  animation: slideInDown 0.3s ease-out;
}

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

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