/* True Tech Mechanical Color Theme */
/* Palette: https://coolors.co/palette/134074-13315c-0b2545-8da9c4-eef4ed */

:root {
  /* Primary Color Palette */
  --primary-deep-blue: #134074;      /* Deep Blue - Primary brand color */
  --primary-dark-blue: #13315C;      /* Dark Blue - Secondary brand color */
  --primary-navy: #0B2545;           /* Navy Blue - Accent/contrast */
  --primary-light-blue: #8DA9C4;     /* Light Blue/Gray - Muted accents */
  --primary-off-white: #EEF4ED;      /* Light Green/Off-White - Backgrounds */

  /* Semantic Color Assignments */
  --color-primary: var(--primary-deep-blue);
  --color-secondary: var(--primary-dark-blue);
  --color-accent: var(--primary-navy);
  --color-muted: var(--primary-light-blue);
  --color-background: var(--primary-off-white);

  /* Button Colors */
  --btn-primary-bg: var(--primary-deep-blue);
  --btn-primary-hover: var(--primary-dark-blue);
  --btn-secondary-bg: var(--primary-dark-blue);
  --btn-secondary-hover: var(--primary-navy);
  --btn-accent-bg: var(--primary-navy);
  --btn-accent-hover: #0a1f3a;

  /* Text Colors */
  --text-primary: var(--primary-navy);
  --text-secondary: var(--primary-dark-blue);
  --text-muted: var(--primary-light-blue);
  --text-on-primary: #ffffff;
  --text-on-background: var(--primary-navy);

  /* Background Colors */
  --bg-primary: var(--primary-off-white);
  --bg-secondary: #ffffff;
  --bg-accent: var(--primary-light-blue);
  --bg-muted: #f8faf9;

  /* Border Colors */
  --border-light: #d1d5db;
  --border-primary: var(--primary-light-blue);
  --border-accent: var(--primary-deep-blue);
}

/* Override Tailwind colors with theme */
.bg-blue-600 {
  background-color: var(--btn-primary-bg) !important;
}

.hover\:bg-blue-700:hover {
  background-color: var(--btn-primary-hover) !important;
}

.bg-green-600 {
  background-color: var(--btn-secondary-bg) !important;
}

.hover\:bg-green-700:hover {
  background-color: var(--btn-secondary-hover) !important;
}

.text-blue-600 {
  color: var(--color-primary) !important;
}

.text-blue-700 {
  color: var(--color-secondary) !important;
}

.text-blue-800 {
  color: var(--color-accent) !important;
}

.text-gray-800 {
  color: var(--text-primary) !important;
}

.text-gray-700 {
  color: var(--text-secondary) !important;
}

.text-gray-600 {
  color: var(--text-muted) !important;
}

.border-blue-200 {
  border-color: var(--border-primary) !important;
}

.border-blue-300 {
  border-color: var(--border-accent) !important;
}

.bg-blue-50 {
  background-color: var(--bg-primary) !important;
}

.bg-blue-100 {
  background-color: var(--bg-muted) !important;
}

.bg-gray-100 {
  background-color: var(--bg-primary) !important;
}

/* Emergency service styling */
.bg-red-50 {
  background-color: #fef2f2 !important;
}

.border-red-200 {
  border-color: #fecaca !important;
}

.text-red-700 {
  color: #b91c1c !important;
}

.text-red-600 {
  color: #dc2626 !important;
}

/* Custom theme classes */
.theme-primary {
  background-color: var(--color-primary);
  color: var(--text-on-primary);
}

.theme-secondary {
  background-color: var(--color-secondary);
  color: var(--text-on-primary);
}

.theme-accent {
  background-color: var(--color-accent);
  color: var(--text-on-primary);
}

.theme-muted {
  background-color: var(--color-muted);
  color: var(--text-on-primary);
}

.theme-background {
  background-color: var(--color-background);
  color: var(--text-on-background);
}

/* Button theme variants */
.btn-theme-primary {
  background-color: var(--btn-primary-bg) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.2s ease !important;
}

.btn-theme-primary:hover {
  background-color: var(--btn-primary-hover) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.btn-theme-primary::selection {
  background-color: rgba(255, 255, 255, 0.3);
  color: var(--text-on-primary);
}

.btn-theme-primary::-moz-selection {
  background-color: rgba(255, 255, 255, 0.3);
  color: var(--text-on-primary);
}

.btn-theme-secondary {
  background-color: var(--btn-secondary-bg) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.2s ease !important;
}

.btn-theme-secondary:hover {
  background-color: var(--btn-secondary-hover) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.btn-theme-secondary::selection {
  background-color: rgba(255, 255, 255, 0.3);
  color: var(--text-on-primary);
}

.btn-theme-secondary::-moz-selection {
  background-color: rgba(255, 255, 255, 0.3);
  color: var(--text-on-primary);
}

.btn-theme-accent {
  background-color: var(--btn-accent-bg) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.2s ease !important;
}

.btn-theme-accent:hover {
  background-color: var(--btn-accent-hover) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Header and Footer theming */
header {
  background-color: var(--bg-secondary) !important;
  border-bottom: 1px solid var(--border-primary);
}

footer {
  background-color: var(--bg-primary) !important;
}

/* Card and section theming */
.bg-white {
  background-color: var(--bg-secondary) !important;
}

/* Link colors */
a {
  color: var(--color-primary);
}

a:hover {
  color: var(--color-secondary);
}

/* Shadow adjustments for theme */
.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(19, 64, 116, 0.1), 0 4px 6px -2px rgba(19, 64, 116, 0.05) !important;
}

.shadow-md {
  box-shadow: 0 4px 6px -1px rgba(19, 64, 116, 0.1), 0 2px 4px -1px rgba(19, 64, 116, 0.06) !important;
}

/* White background button overrides for proper text contrast */
.bg-white.btn-theme-primary,
.bg-white.btn-theme-secondary,
.bg-white.btn-theme-accent {
  background-color: #ffffff !important;
  color: var(--color-primary) !important;
  text-shadow: none !important;
  border: 2px solid var(--color-primary) !important;
}

.bg-white.btn-theme-primary:hover,
.bg-white.btn-theme-secondary:hover,
.bg-white.btn-theme-accent:hover {
  background-color: var(--bg-primary) !important;
  color: var(--color-primary) !important;
  text-shadow: none !important;
  border-color: var(--color-secondary) !important;
}