/* Light Theme - Earth Tone (Anthropic-inspired) */
:root {
  --bg-primary: #F5F0E8;
  --bg-secondary: #EBE4D8;
  --bg-card: #FDFBF7;
  --text-primary: #2D2420;
  --text-secondary: #5C534A;
  --border-color: #D9CFC2;
  --accent: #A67B5B;
  --accent-secondary: #8B7355;
  --bg-dark: #E8E0D4;
}

/* Dark Theme */
[data-theme="dark"] {
  --bg-primary: #0a0a0f;
  --bg-secondary: #12121a;
  --bg-card: #12121a;
  --text-primary: #f3f4f6;
  --text-secondary: #9ca3af;
  --border-color: rgba(255, 255, 255, 0.1);
  --accent: #22d3ee;
  --accent-secondary: #a78bfa;
  --bg-dark: #1f2937;
}

body {
  font-family: 'Inter', sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  transition: background 0.3s, color 0.3s;
}

/* Force text colors using !important */
.text-gray-400, 
.text-gray-400\!,
[class*="text-gray-400"] {
  color: var(--text-secondary) !important;
}

.text-gray-500,
.text-gray-500\!,
[class*="text-gray-500"] {
  color: var(--text-secondary) !important;
}

.text-gray-200,
.text-gray-200\!,
[class*="text-gray-200"] {
  color: var(--text-primary) !important;
}

.text-gray-300,
.text-gray-300\!,
[class*="text-gray-300"] {
  color: var(--text-primary) !important;
}

.text-gray-600,
.text-gray-600\!,
[class*="text-gray-600"] {
  color: var(--text-secondary) !important;
}

/* Gradient Text */
.gradient-text {
  background: linear-gradient(135deg, #A67B5B, #8B7355);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .gradient-text {
  background: linear-gradient(135deg, #22d3ee, #a78bfa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Glass Effect */
.glass {
  background: rgba(253, 251, 247, 0.95);
  backdrop-filter: blur(12px);
}

[data-theme="dark"] .glass {
  background: rgba(18, 18, 26, 0.95);
}

/* Gradient Background */
.gradient-bg {
  background: linear-gradient(180deg, #F5F0E8 0%, #EBE4D8 50%, #E8E0D4 100%);
}

[data-theme="dark"] .gradient-bg {
  background: linear-gradient(180deg, #0a0a0f 0%, #12121a 50%, #1f2937 100%);
}

/* Cards */
.bg-dark, .bg-dark-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
}

/* Navigation */
nav {
  background: rgba(253, 251, 247, 0.95);
  border-bottom: 1px solid var(--border-color);
}

[data-theme="dark"] nav {
  background: rgba(10, 10, 15, 0.95);
}

/* Footer */
footer {
  border-top: 1px solid var(--border-color);
  background: var(--bg-secondary);
}

/* Primary Colors */
.bg-primary\/10 { background: rgba(166, 123, 91, 0.15); }
[data-theme="dark"] .bg-primary\/10 { background: rgba(34, 211, 238, 0.15); }

.text-primary { color: #8B7355; }
[data-theme="dark"] .text-primary { color: #22d3ee; }

.hover\:text-primary:hover { color: #6B5744; }
[data-theme="dark"] .hover\:text-primary:hover { color: #22d3ee; }

.hover\:bg-primary\/20:hover { background: rgba(166, 123, 91, 0.2); }
[data-theme="dark"] .hover\:bg-primary\/20:hover { background: rgba(34, 211, 238, 0.2); }

/* Form inputs */
input, textarea, select {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background: var(--bg-dark);
  border-color: rgba(255,255,255,0.1);
}

/* Service cards */
.bg-dark {
  background: var(--bg-secondary);
}

/* Hero stats */
.bg-primary\/20 { background: rgba(166, 123, 91, 0.15); }
[data-theme="dark"] .bg-primary\/20 { background: rgba(34, 211, 238, 0.15); }

/* Button styles */
.from-primary { --tw-gradient-from: #8B7355; }
[data-theme="dark"] .from-primary { --tw-gradient-from: #22d3ee; }

.hover\:border-primary\/50:hover { border-color: rgba(139, 115, 85, 0.5); }
[data-theme="dark"] .hover\:border-primary\/50:hover { border-color: rgba(34, 211, 238, 0.5); }

.hover\:border-primary:hover { border-color: #8B7355; }
[data-theme="dark"] .hover\:border-primary:hover { border-color: #22d3ee; }

.focus\:border-primary:focus { border-color: #8B7355; }
[data-theme="dark"] .focus\:border-primary:focus { border-color: #22d3ee; }

/* Glow border */
.glow-border::before {
  background: linear-gradient(135deg, #A67B5B, #8B7355);
}

[data-theme="dark"] .glow-border::before {
  background: linear-gradient(135deg, #22d3ee, #a78bfa);
}

/* Toggle buttons */
.toggle-btn {
  background: rgba(166, 123, 91, 0.1);
  border: 1px solid var(--border-color);
}

.toggle-btn:hover {
  background: rgba(166, 123, 91, 0.2);
  color: #6B5744;
}

[data-theme="dark"] .toggle-btn {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255,255,255,0.1);
}

[data-theme="dark"] .toggle-btn:hover {
  background: rgba(34, 211, 238, 0.15);
  color: #22d3ee;
}

/* HTMX */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }

/* Mobile menu */
#mobile-menu {
  background: var(--bg-primary);
  border-top: 1px solid var(--border-color);
}

/* Service card hover */
.group:hover {
  border-color: var(--accent);
}
