:root {
  /* Solar/Green Energy Theme Colors */
  --primary: #10b981; /* Vibrant emerald green */
  --primary-foreground: #f0fdf4;
  --secondary: #fbbf24; /* Solar yellow/gold */
  --secondary-foreground: #78350f;
  --background: #ffffff;
  --foreground: #1f2937;
  --card: #f9fafb;
  --card-foreground: #1f2937;
  --popover: #ffffff;
  --popover-foreground: #1f2937;
  --muted: #e5e7eb;
  --muted-foreground: #6b7280;
  --accent: #06b6d4; /* Cyan accent */
  --accent-foreground: #164e63;
  --destructive: #ef4444;
  --destructive-foreground: #fca5a5;
  --border: #e5e7eb;
  --input: #f3f4f6;
  --ring: #10b981;
  --radius: 0.65rem;
}

body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--background);
  color: var(--foreground);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}

/* Custom Tailwind-like Utilities for the theme */
.bg-primary { background-color: var(--primary); }
.text-primary { color: var(--primary); }
.border-primary { border-color: var(--primary); }

.bg-secondary { background-color: var(--secondary); }
.text-secondary { color: var(--secondary); }

.bg-accent { background-color: var(--accent); }
.text-accent { color: var(--accent); }

.bg-muted { background-color: var(--muted); }
.text-muted-foreground { color: var(--muted-foreground); }

.bg-card { background-color: var(--card); }
.text-card-foreground { color: var(--card-foreground); }

.border-border { border-color: var(--border); }

/* Gradients from the original project */
.gradient-solar {
  background: linear-gradient(135deg, #10b981 0%, #fbbf24 100%);
}

.gradient-eco {
  background: linear-gradient(135deg, #059669 0%, #34d399 100%);
}

.glow-green {
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.3);
}

.glow-gold {
  box-shadow: 0 0 20px rgba(251, 191, 36, 0.3);
}

/* Lucide Icon sizing */
.lucide {
  width: 24px;
  height: 24px;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.lucide-lg {
  width: 40px;
  height: 40px;
}

.lucide-xl {
  width: 48px;
  height: 48px;
}
