/**
 * Mobility Trailblazers - CSS Variables
 * Central repository for all CSS custom properties
 * This file should be loaded first in all contexts
 * 
 * @version 1.0.0
 * @since 2025-08-17
 */

:root {
    /* ===================================
       BRAND COLORS - AwardVantage Palette
    =================================== */

    /* System Colors */
    --mt-primary: #00694E;          /* Primary Green - Buttons, Logo, CTAs */
    --mt-secondary: #009879;         /* Secondary Green - Highlights, Secondary Buttons */
    --mt-body-text: #333333;         /* Text Gray - Body Text */
    --mt-accent: #0072BC;            /* Accent Blue - Links, Hover States */

    /* Extended Palette */
    --mt-kupfer-soft: #009879;       /* Secondary Green - Hover States */
    --mt-kupfer-bold: #00694E;       /* Primary Green - Active States */
    --mt-blue-accent: #0072BC;       /* Accent Blue - Info, Borders */
    --mt-bg-beige: #F4F5F7;          /* Light Gray - Background Sections */
    --mt-bg-base: #FFFFFF;           /* White - Base Background */
    --mt-overlay-bg: #084452CC;      /* Dark Teal Overlay with Transparency */
    --mt-deep-blue: #084452;         /* Dark Teal - Navigation, Hero Sections */
    
    /* Utility Colors */
    --mt-success: #28a745;           /* Success Green */
    --mt-warning: #ffc107;           /* Warning Yellow */
    --mt-error: #dc3545;             /* Error Red */
    --mt-info: #0072BC;              /* Info Blue */
    
    /* Neutral Colors */
    --mt-gray-100: #f8f9fa;
    --mt-gray-200: #e9ecef;
    --mt-gray-300: #dee2e6;
    --mt-gray-400: #ced4da;
    --mt-gray-500: #adb5bd;
    --mt-gray-600: #6c757d;
    --mt-gray-700: #495057;
    --mt-gray-800: #343a40;
    --mt-gray-900: #212529;
    
    /* ===================================
       TYPOGRAPHY
    =================================== */
    
    /* Font Families */
    --mt-font-primary: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
    --mt-font-mono: consolas, monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    
    /* Font Sizes */
    --mt-font-size-xs: 0.75rem;      /* 12px */
    --mt-font-size-sm: 0.875rem;     /* 14px */
    --mt-font-size-base: 1rem;       /* 16px */
    --mt-font-size-lg: 1.125rem;     /* 18px */
    --mt-font-size-xl: 1.25rem;      /* 20px */
    --mt-font-size-2xl: 1.5rem;      /* 24px */
    --mt-font-size-3xl: 1.875rem;    /* 30px */
    --mt-font-size-4xl: 2.25rem;     /* 36px */
    
    /* Font Weights */
    --mt-font-weight-light: 300;
    --mt-font-weight-normal: 400;
    --mt-font-weight-medium: 500;
    --mt-font-weight-semibold: 600;
    --mt-font-weight-bold: 700;
    
    /* Line Heights */
    --mt-line-height-tight: 1.25;
    --mt-line-height-normal: 1.5;
    --mt-line-height-relaxed: 1.75;
    --mt-line-height-loose: 2;
    
    /* ===================================
       SPACING
    =================================== */
    
    --mt-spacing-xs: 0.25rem;        /* 4px */
    --mt-spacing-sm: 0.5rem;         /* 8px */
    --mt-spacing-md: 1rem;           /* 16px */
    --mt-spacing-lg: 1.5rem;         /* 24px */
    --mt-spacing-xl: 2rem;           /* 32px */
    --mt-spacing-2xl: 3rem;          /* 48px */
    --mt-spacing-3xl: 4rem;          /* 64px */
    
    /* ===================================
       LAYOUT
    =================================== */
    
    /* Border Radius */
    --mt-radius-sm: 0.25rem;         /* 4px */
    --mt-radius-md: 0.5rem;          /* 8px */
    --mt-radius-lg: 0.75rem;         /* 12px */
    --mt-radius-xl: 1rem;            /* 16px */
    --mt-radius-full: 9999px;        /* Full rounded */
    
    /* Borders */
    --mt-border-width: 1px;
    --mt-border-style: solid;
    --mt-border-color: var(--mt-blue-accent);
    --mt-border: var(--mt-border-width) var(--mt-border-style) var(--mt-border-color);
    
    /* Z-Index Scale */
    --mt-z-dropdown: 1000;
    --mt-z-sticky: 1020;
    --mt-z-fixed: 1030;
    --mt-z-modal-backdrop: 1040;
    --mt-z-modal: 1050;
    --mt-z-popover: 1060;
    --mt-z-tooltip: 1070;
    
    /* ===================================
       EFFECTS
    =================================== */
    
    /* Shadows */
    --mt-shadow-xs: 0 1px 2px rgb(48 44 55 / 5%);
    --mt-shadow-sm: 0 2px 4px rgb(48 44 55 / 10%);
    --mt-shadow-md: 0 4px 12px rgb(48 44 55 / 15%);
    --mt-shadow-lg: 0 8px 24px rgb(0 60 61 / 20%);
    --mt-shadow-xl: 0 12px 48px rgb(0 60 61 / 25%);
    --mt-shadow-inner: inset 0 2px 4px rgb(0 0 0 / 6%);
    
    /* Transitions */
    --mt-transition-fast: all 0.15s ease;
    --mt-transition: all 0.3s ease;
    --mt-transition-slow: all 0.5s ease;
    
    /* Animation Durations */
    --mt-duration-fast: 150ms;
    --mt-duration-normal: 300ms;
    --mt-duration-slow: 500ms;
    
    /* ===================================
       BREAKPOINTS
    =================================== */
    
    --mt-breakpoint-xs: 0;
    --mt-breakpoint-sm: 576px;
    --mt-breakpoint-md: 768px;
    --mt-breakpoint-lg: 992px;
    --mt-breakpoint-xl: 1200px;
    --mt-breakpoint-xxl: 1400px;
    
    /* ===================================
       COMPONENT SPECIFIC
    =================================== */
    
    /* Buttons */
    --mt-btn-padding-x: 1.25rem;
    --mt-btn-padding-y: 0.625rem;
    --mt-btn-font-size: var(--mt-font-size-base);
    --mt-btn-font-weight: var(--mt-font-weight-medium);
    --mt-btn-border-radius: var(--mt-radius-md);
    --mt-btn-transition: var(--mt-transition);
    
    /* Forms */
    --mt-input-padding-x: 0.75rem;
    --mt-input-padding-y: 0.5rem;
    --mt-input-border-color: var(--mt-gray-300);
    --mt-input-focus-color: var(--mt-secondary);
    --mt-input-border-radius: var(--mt-radius-md);
    --mt-input-bg: var(--mt-bg-base);
    
    /* Cards */
    --mt-card-padding: 1.5rem;
    --mt-card-border-radius: var(--mt-radius-lg);
    --mt-card-shadow: var(--mt-shadow-md);
    --mt-card-bg: var(--mt-bg-base);
    --mt-card-border: var(--mt-border);
    
    /* Modals */
    --mt-modal-backdrop-bg: rgb(0 0 0 / 50%);
    --mt-modal-content-bg: var(--mt-bg-base);
    --mt-modal-border-radius: var(--mt-radius-lg);
    --mt-modal-shadow: var(--mt-shadow-xl);
    --mt-modal-padding: 2rem;
    
    /* Progress Bars */
    --mt-progress-height: 0.5rem;
    --mt-progress-bg: var(--mt-gray-200);
    --mt-progress-fill: var(--mt-primary);
    --mt-progress-border-radius: var(--mt-radius-full);
    
    /* Tables */
    --mt-table-bg: var(--mt-bg-base);
    --mt-table-border-color: var(--mt-gray-300);
    --mt-table-hover-bg: var(--mt-gray-100);
    --mt-table-striped-bg: var(--mt-gray-50);
    
    /* Badges */
    --mt-badge-padding-x: 0.5rem;
    --mt-badge-padding-y: 0.25rem;
    --mt-badge-font-size: var(--mt-font-size-sm);
    --mt-badge-font-weight: var(--mt-font-weight-semibold);
    --mt-badge-border-radius: var(--mt-radius-sm);
}

/* Dark mode support (future enhancement) */
@media (prefers-color-scheme: dark) {
    :root.mt-theme-auto {
        /* Dark mode overrides would go here */
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --mt-border-width: 2px;
        --mt-shadow-sm: 0 2px 4px rgb(0 0 0 / 20%);
        --mt-shadow-md: 0 4px 12px rgb(0 0 0 / 25%);
        --mt-shadow-lg: 0 8px 24px rgb(0 0 0 / 30%);
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    :root {
        --mt-transition-fast: none;
        --mt-transition: none;
        --mt-transition-slow: none;
        --mt-duration-fast: 0ms;
        --mt-duration-normal: 0ms;
        --mt-duration-slow: 0ms;
    }
}
