/* Cooperserv Design System - Professional corporate identity */

:root {
  --background: 0 0% 100%;
  --foreground: 220 20% 15%;

  --card: 0 0% 100%;
  --card-foreground: 220 20% 15%;

  --popover: 0 0% 100%;
  --popover-foreground: 220 20% 15%;

  /* Primary - Cooperserv Dark Blue */
  --primary: 218 80% 22%;
  --primary-foreground: 0 0% 100%;

  /* Secondary - Cooperserv Green */
  --secondary: 145 55% 38%;
  --secondary-foreground: 0 0% 100%;

  --muted: 210 20% 96%;
  --muted-foreground: 220 10% 45%;

  /* Accent - Cooperserv Green for CTAs */
  --accent: 145 55% 38%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;

  --border: 210 20% 88%;
  --input: 210 20% 88%;
  --ring: 210 80% 35%;

  --radius: 0.5rem;

  /* Custom tokens */
  --hero-gradient: linear-gradient(135deg, hsl(218 80% 22%) 0%, hsl(145 55% 38%) 100%);
  --card-shadow: 0 4px 20px -4px hsl(210 20% 15% / 0.1);
  --card-shadow-hover: 0 8px 30px -4px hsl(210 20% 15% / 0.15);
}

.dark {
  --background: 220 20% 10%;
  --foreground: 0 0% 95%;

  --card: 220 20% 13%;
  --card-foreground: 0 0% 95%;

  --popover: 220 20% 13%;
  --popover-foreground: 0 0% 95%;

  --primary: 210 70% 50%;
  --primary-foreground: 0 0% 100%;

  --secondary: 175 50% 45%;
  --secondary-foreground: 0 0% 100%;

  --muted: 220 15% 20%;
  --muted-foreground: 220 10% 60%;

  --accent: 150 60% 45%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 62% 50%;
  --destructive-foreground: 0 0% 100%;

  --border: 220 15% 25%;
  --input: 220 15% 25%;
  --ring: 210 70% 50%;
}

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  scroll-behavior: smooth;
}

.hero-gradient {
  background: var(--hero-gradient);
}

.text-gradient {
  background: var(--hero-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.card-shadow {
  box-shadow: var(--card-shadow);
}

.card-shadow-hover {
  box-shadow: var(--card-shadow-hover);
}

/* Custom Tailwind Overrides/Additions */
.bg-primary { background-color: hsl(var(--primary)); }
.text-primary { color: hsl(var(--primary)); }
.text-primary-foreground { color: hsl(var(--primary-foreground)); }
.bg-secondary { background-color: hsl(var(--secondary)); }
.bg-accent { background-color: hsl(var(--accent)); }
.text-accent { color: hsl(var(--accent)); }
.bg-muted { background-color: hsl(var(--muted)); }
.text-muted-foreground { color: hsl(var(--muted-foreground)); }
.border-border { border-color: hsl(var(--border)); }
.bg-card { background-color: hsl(var(--card)); }
.bg-background { background-color: hsl(var(--background)); }

/* Responsive adjustments */
@media (max-width: 768px) {
  .mobile-menu-open {
    overflow: hidden;
  }
}
