/**
 * Modern Color Scheme - Veterans Claims Easy
 * Military-inspired color system with WCAG 2.1 AA compliance
 * Eagle Blue (#1C3A5B), Copper (#B87333), Burgundy (#9B1C31)
 */

/* ===== MILITARY COLOR SYSTEM ===== */
:root {
  /* Primary Military Colors */
  --eagle-blue: #1C3A5B;
  --eagle-blue-light: #2C4A6B;
  --eagle-blue-dark: #0F2A3F;
  
  --copper: #B87333;
  --copper-light: #C8944D;
  --copper-dark: #9B5F2A;
  
  --burgundy: #9B1C31;
  --burgundy-light: #B5364B;
  --burgundy-dark: #7A1627;
  
  /* Supporting Colors */
  --military-gold: #FFD700;
  --navy-blue: #0F1419;
  --white: #FFFFFF;
  --off-white: #FAFAFA;
  
  /* Semantic Color Mappings */
  --color-primary: var(--eagle-blue);
  --color-primary-hover: var(--eagle-blue-light);
  --color-primary-active: var(--eagle-blue-dark);
  
  --color-secondary: var(--copper);
  --color-secondary-hover: var(--copper-light);
  --color-secondary-active: var(--copper-dark);
  
  --color-accent: var(--burgundy);
  --color-accent-hover: var(--burgundy-light);
  --color-accent-active: var(--burgundy-dark);
  
  /* Status Colors (Military-themed) */
  --color-success: #2D5016;      /* Military Green */
  --color-success-light: #4B7C2F;
  --color-warning: #8B4513;      /* Saddle Brown */
  --color-warning-light: #A0522D;
  --color-error: var(--burgundy);
  --color-error-light: var(--burgundy-light);
  --color-info: #4682B4;         /* Steel Blue */
  --color-info-light: #5F9EA0;
  
  /* Neutral Grays (Warmer tone) */
  --gray-50: #FAFAF9;
  --gray-100: #F5F5F4;
  --gray-200: #E7E5E4;
  --gray-300: #D6D3D1;
  --gray-400: #A8A29E;
  --gray-500: #78716C;
  --gray-600: #57534E;
  --gray-700: #44403C;
  --gray-800: #292524;
  --gray-900: #1C1917;
}

/* ===== COMPONENT COLOR APPLICATIONS ===== */

/* Headers and Navigation */
.site-header,
.header-standardized,
.main-navigation {
  background: linear-gradient(135deg, var(--eagle-blue) 0%, var(--eagle-blue-light) 100%);
  color: var(--white);
}

.nav-link {
  color: var(--white);
  transition: color 0.3s ease;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--copper-light);
}

.nav-link.active {
  color: var(--copper);
  background: rgba(184, 115, 51, 0.1);
}

/* Buttons */
.btn-primary {
  background: var(--eagle-blue);
  border-color: var(--eagle-blue);
  color: var(--white);
}

.btn-primary:hover {
  background: var(--eagle-blue-light);
  border-color: var(--eagle-blue-light);
}

.btn-secondary {
  background: var(--copper);
  border-color: var(--copper);
  color: var(--white);
}

.btn-secondary:hover {
  background: var(--copper-light);
  border-color: var(--copper-light);
}

.btn-accent {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--white);
}

.btn-accent:hover {
  background: var(--burgundy-light);
  border-color: var(--burgundy-light);
}

/* Cards and Containers */
.card,
.glass-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  box-shadow: 0 4px 6px rgba(28, 58, 91, 0.1);
}

.card-header {
  background: var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
  color: var(--eagle-blue);
}

/* Forms */
.form-control {
  border: 1px solid var(--gray-300);
  color: var(--gray-800);
}

.form-control:focus {
  border-color: var(--copper);
  box-shadow: 0 0 0 0.2rem rgba(184, 115, 51, 0.25);
}

.form-label {
  color: var(--gray-700);
  font-weight: 600;
}

/* Status Indicators */
.alert-success {
  background: rgba(45, 80, 22, 0.1);
  border-color: var(--color-success);
  color: var(--color-success);
}

.alert-warning {
  background: rgba(139, 69, 19, 0.1);
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.alert-error {
  background: rgba(155, 28, 49, 0.1);
  border-color: var(--color-error);
  color: var(--color-error);
}

.alert-info {
  background: rgba(70, 130, 180, 0.1);
  border-color: var(--color-info);
  color: var(--color-info);
}

/* Military Branch Colors */
.branch-army { color: #4B5320; }
.branch-navy { color: #000080; }
.branch-airforce { color: #00308F; }
.branch-marines { color: #CC0000; }
.branch-coastguard { color: #FF8C00; }
.branch-spaceforce { color: #1C3A5B; }

/* Text Colors */
.text-primary { color: var(--eagle-blue) !important; }
.text-secondary { color: var(--copper) !important; }
.text-accent { color: var(--burgundy) !important; }
.text-success { color: var(--color-success) !important; }
.text-warning { color: var(--color-warning) !important; }
.text-error { color: var(--color-error) !important; }
.text-info { color: var(--color-info) !important; }

/* Background Colors */
.bg-primary { background-color: var(--eagle-blue) !important; }
.bg-secondary { background-color: var(--copper) !important; }
.bg-accent { background-color: var(--burgundy) !important; }
.bg-light { background-color: var(--gray-50) !important; }
.bg-dark { background-color: var(--gray-800) !important; }

/* Border Colors */
.border-primary { border-color: var(--eagle-blue) !important; }
.border-secondary { border-color: var(--copper) !important; }
.border-accent { border-color: var(--burgundy) !important; }

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  :root {
    --eagle-blue: #000080;
    --copper: #8B4513;
    --burgundy: #800020;
    --gray-600: #000000;
    --gray-700: #000000;
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
  :root {
    --white: #1a1a1a;
    --off-white: #2a2a2a;
    --gray-50: var(--gray-900);
    --gray-100: var(--gray-800);
    --gray-200: var(--gray-700);
    --gray-300: var(--gray-600);
    --gray-800: var(--gray-200);
    --gray-900: var(--gray-100);
  }
  
  .card,
  .glass-card {
    background: var(--gray-800);
    border-color: var(--gray-600);
    color: var(--white);
  }
}

/* ===== RESPONSIVE COLOR ADJUSTMENTS ===== */

/* Mobile optimizations */
@media (max-width: 768px) {
  .site-header {
    background: var(--eagle-blue);
  }
  
  .nav-link {
    padding: 12px 16px;
  }
}

/* Print styles */
@media print {
  * {
    color: #000000 !important;
    background: #ffffff !important;
  }
  
  .btn {
    border: 1px solid #000000 !important;
  }
}
