/**
 * @file
 * Color system for NBVT Base theme
 * Based on NBVT branding and legacy theme colors
 */

:root {
  /* Primary NBVT brand colors */
  --color-primary: #7b2952;          /* NBVT dark purple/purple-red */
  --color-primary-light: #a02977;    /* Lighter magenta */
  --color-primary-dark: #5c1f3e;     /* Darker purple */
  --color-secondary: #a02977;        /* NBVT magenta accent */
  --color-secondary-light: #c73faa;  /* Lighter magenta */
  --color-secondary-dark: #7b2952;   /* Darker magenta */

  /* Neutral colors */
  --color-white: #ffffff;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-black: #000000;

  /* Semantic colors */
  --color-success: #059669;
  --color-success-light: #d1fae5;
  --color-success-dark: #047857;
  
  --color-warning: #d97706;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  
  --color-error: #dc2626;
  --color-error-light: #fee2e2;
  --color-error-dark: #991b1b;
  
  --color-info: #2563eb;
  --color-info-light: #dbeafe;
  --color-info-dark: #1d4ed8;

  /* Text colors */
  --color-text: var(--color-gray-900);
  --color-text-light: var(--color-gray-600);
  --color-text-muted: var(--color-gray-500);
  --color-text-inverse: var(--color-white);
  --color-heading: var(--color-gray-900);
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-dark);
  --color-link-visited: var(--color-primary-dark);

  /* Background colors */
  --color-bg: var(--color-white);
  --color-bg-alt: var(--color-gray-50);
  --color-bg-muted: var(--color-gray-100);
  --color-bg-dark: var(--color-gray-800);

  /* Component-specific colors */
  --color-header-bg: var(--color-white);
  --color-header-text: var(--color-text);
  --color-footer-bg: var(--color-gray-50);
  --color-footer-text: var(--color-text-light);
  
  --color-sidebar-bg: var(--color-gray-50);
  --color-sidebar-border: var(--color-gray-200);
  
  --color-breadcrumb-bg: var(--color-gray-50);
  --color-breadcrumb-text: var(--color-text-light);
  
  --color-highlighted-bg: #fff3cd;
  --color-highlighted-border: #ffeaa7;
  --color-highlighted-text: #856404;
  
  --color-help-bg: #e3f2fd;
  --color-help-border: #bbdefb;
  --color-help-text: #1565c0;

  /* Border colors */
  --color-border: var(--color-gray-200);
  --color-border-light: var(--color-gray-100);
  --color-border-dark: var(--color-gray-300);
  --color-border-focus: var(--color-primary);

  /* Form colors */
  --color-form-bg: var(--color-white);
  --color-form-border: var(--color-gray-300);
  --color-form-border-focus: var(--color-primary);
  --color-form-text: var(--color-text);
  --color-form-placeholder: var(--color-gray-400);
  --color-form-disabled-bg: var(--color-gray-100);
  --color-form-disabled-text: var(--color-gray-400);

  /* Button colors */
  --color-button-primary-bg: var(--color-primary);
  --color-button-primary-text: var(--color-white);
  --color-button-primary-hover: var(--color-primary-dark);
  
  --color-button-secondary-bg: var(--color-gray-200);
  --color-button-secondary-text: var(--color-text);
  --color-button-secondary-hover: var(--color-gray-300);
  
  --color-button-success-bg: var(--color-success);
  --color-button-success-text: var(--color-white);
  --color-button-success-hover: var(--color-success-dark);
  
  --color-button-warning-bg: var(--color-warning);
  --color-button-warning-text: var(--color-white);
  --color-button-warning-hover: var(--color-warning-dark);
  
  --color-button-error-bg: var(--color-error);
  --color-button-error-text: var(--color-white);
  --color-button-error-hover: var(--color-error-dark);

  /* Calculator-specific colors */
  --color-calculator-bg: var(--color-white);
  --color-calculator-border: var(--color-gray-200);
  --color-calculator-header-bg: var(--color-primary);
  --color-calculator-header-text: var(--color-white);
  --color-calculator-step-active: var(--color-primary);
  --color-calculator-step-inactive: var(--color-gray-300);
  --color-calculator-step-completed: var(--color-success);
  --color-calculator-result-bg: var(--color-gray-50);
  --color-calculator-result-border: var(--color-gray-200);

  /* Table colors */
  --color-table-header-bg: var(--color-gray-100);
  --color-table-header-text: var(--color-text);
  --color-table-border: var(--color-gray-200);
  --color-table-stripe: var(--color-gray-50);
  --color-table-hover: var(--color-gray-100);

  /* Shadow colors */
  --color-shadow: rgba(0, 0, 0, 0.1);
  --color-shadow-light: rgba(0, 0, 0, 0.05);
  --color-shadow-dark: rgba(0, 0, 0, 0.2);
}


/* Color utility classes */
.color-primary { color: var(--color-primary); }
.color-secondary { color: var(--color-secondary); }
.color-success { color: var(--color-success); }
.color-warning { color: var(--color-warning); }
.color-error { color: var(--color-error); }
.color-info { color: var(--color-info); }
.color-muted { color: var(--color-text-muted); }

.bg-primary { background-color: var(--color-primary); }
.bg-secondary { background-color: var(--color-secondary); }
.bg-success { background-color: var(--color-success); }
.bg-warning { background-color: var(--color-warning); }
.bg-error { background-color: var(--color-error); }
.bg-info { background-color: var(--color-info); }
.bg-muted { background-color: var(--color-bg-muted); }
.bg-alt { background-color: var(--color-bg-alt); }

.border-primary { border-color: var(--color-primary); }
.border-secondary { border-color: var(--color-secondary); }
.border-success { border-color: var(--color-success); }
.border-warning { border-color: var(--color-warning); }
.border-error { border-color: var(--color-error); }
.border-info { border-color: var(--color-info); }
.border-muted { border-color: var(--color-border); }

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --color-border: var(--color-black);
    --color-text: var(--color-black);
    --color-bg: var(--color-white);
    --color-link: #0000ee;
    --color-link-visited: #551a8b;
  }
}

/* Print styles */
@media print {
  :root {
    --color-bg: white;
    --color-text: black;
    --color-border: black;
    --color-primary: black;
    --color-secondary: black;
  }
}
