/**
 * Module: Design Tokens
 * Purpose: Central source of truth for all design decisions (colors, typography, spacing, etc.)
 * Inputs: None (root-level definitions)
 * Outputs: CSS Custom Properties for use across all stylesheets
 * Notes: Import FIRST before any other CSS files
 */

:root {
    /* ==========================================================================
       1. COLORS - Primary Brand
       ========================================================================== */
    
    /**
     * Primary brand color - used for CTAs, links, accents
     * Base: #215CA2 (blue)
     */
    --vc-color-primary: #215CA2;
    --vc-color-primary-hover: #5985B9;
    --vc-color-primary-light: rgba(33, 92, 162, 0.1);
    --vc-color-primary-lighter: rgba(33, 92, 162, 0.05);
    
    /**
     * Secondary brand color - darker blue for contrast
     */
    --vc-color-secondary: #1a3a5c;
    
    /**
     * Gradient backgrounds
     */
    --vc-gradient-primary: linear-gradient(90deg, rgba(52, 124, 208, 1) 0%, rgba(33, 92, 162, 1) 100%);
    --vc-gradient-primary-hover: linear-gradient(90deg, rgba(70, 143, 226, 1) 0%, rgba(52, 124, 208, 1) 100%);
    --vc-gradient-category: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 82%);
    
    /* ==========================================================================
       2. COLORS - Neutral (Grays)
       ========================================================================== */
    
    /**
     * Text colors
     */
    --vc-color-text-primary: #121212;
    --vc-color-text-secondary: rgba(18, 18, 18, 0.6);
    --vc-color-text-muted: rgba(18, 18, 18, 0.35);
    --vc-color-text-inverse: #FFFFFF;
    --vc-color-text-inverse-muted: rgba(255, 255, 255, 0.5);
    --vc-color-text-inverse-light: rgba(255, 255, 255, 0.35);
    
    /**
     * Border colors
     */
    --vc-color-border: rgba(18, 18, 18, 0.1);
    --vc-color-border-light: rgba(18, 18, 18, 0.05);
    --vc-color-border-primary: rgba(33, 92, 162, 0.1);
    --vc-color-border-primary-medium: rgba(33, 92, 162, 0.2);
    
    /* ==========================================================================
       3. COLORS - Semantic / State
       ========================================================================== */
    
    /**
     * Status colors
     */
    --vc-color-error: #DC3A3A;
    --vc-color-error-bg: rgba(220, 58, 58, 0.1);
    --vc-color-success: #25D366;
    --vc-color-success-bg: rgba(37, 211, 102, 0.1);
    
    /* ==========================================================================
       4. COLORS - Background
       ========================================================================== */
    
    --vc-color-bg-primary: #FFFFFF;
    --vc-color-bg-secondary: #F4F7FA;
    --vc-color-bg-tertiary: #f8f9fa;
    --vc-color-bg-overlay: rgba(0, 0, 0, 0.5);
    --vc-color-bg-overlay-dark: rgba(0, 0, 0, 0.95);
    
    /**
     * Form backgrounds
     */
    --vc-color-bg-form: rgba(255, 255, 255, 0.18);
    --vc-color-bg-input: rgba(255, 255, 255, 0.24);
    
    /* ==========================================================================
       5. TYPOGRAPHY - Font Family
       ========================================================================== */
    
    --vc-font-family: 'Montserrat', sans-serif;
    
    /* ==========================================================================
       6. TYPOGRAPHY - Font Sizes
       ========================================================================== */
    
    /**
     * Heading sizes
     */
    --vc-font-size-h1: 40px;
    --vc-font-size-h2: 32px;
    --vc-font-size-h3: 24px;
    --vc-font-size-h4: 21px;
    --vc-font-size-h5: 18px;
    --vc-font-size-h6: 16px;
    
    /**
     * Body text sizes
     */
    --vc-font-size-body: 16px;
    --vc-font-size-body-sm: 14px;
    --vc-font-size-body-xs: 13px;
    --vc-font-size-body-xxs: 12px;
    --vc-font-size-caption: 10px;
    
    /* ==========================================================================
       7. TYPOGRAPHY - Font Weights
       ========================================================================== */
    
    --vc-font-weight-regular: 400;
    --vc-font-weight-medium: 500;
    --vc-font-weight-semibold: 600;
    --vc-font-weight-bold: 700;
    
    /* ==========================================================================
       8. TYPOGRAPHY - Line Heights
       ========================================================================== */
    
    --vc-line-height-tight: 1;
    --vc-line-height-snug: 1.2;
    --vc-line-height-normal: 1.3;
    --vc-line-height-relaxed: 1.5;
    --vc-line-height-loose: 1.6;
    
    /* ==========================================================================
       9. SPACING - Scale
       ========================================================================== */
    
    /**
     * Base spacing unit: 4px
     * All spacing values are multiples of 4
     */
    --vc-space-1: 4px;
    --vc-space-2: 8px;
    --vc-space-3: 12px;
    --vc-space-4: 16px;
    --vc-space-5: 20px;
    --vc-space-6: 24px;
    --vc-space-7: 28px;
    --vc-space-8: 32px;
    --vc-space-10: 40px;
    --vc-space-12: 48px;
    --vc-space-14: 56px;
    --vc-space-16: 64px;
    --vc-space-20: 80px;
    --vc-space-25: 100px;
    
    /* ==========================================================================
       10. LAYOUT - Container
       ========================================================================== */
    
    --vc-container-max-width: 1160px;
    --vc-container-padding: 20px;
    
    /* ==========================================================================
       11. BORDER RADIUS
       ========================================================================== */
    
    --vc-radius-sm: 5px;
    --vc-radius-md: 10px;
    --vc-radius-lg: 15px;
    --vc-radius-xl: 20px;
    --vc-radius-2xl: 25px;
    --vc-radius-full: 1000px;
    --vc-radius-circle: 50%;
    
    /* ==========================================================================
       12. SHADOWS
       ========================================================================== */
    
    --vc-shadow-sm: 0 1px 0 rgba(0, 0, 0, 0.08);
    --vc-shadow-md: 0 4px 15px rgba(33, 92, 162, 0.3);
    --vc-shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.2);
    --vc-shadow-xl: 0 0 50px 0 rgba(33, 92, 162, 0.25);
    --vc-shadow-primary: 0 4px 15px rgba(33, 92, 162, 0.4);
    
    /* ==========================================================================
       13. TRANSITIONS
       ========================================================================== */
    
    --vc-transition-fast: 0.2s;
    --vc-transition-normal: 0.25s;
    --vc-transition-slow: 0.3s;
    
    /* ==========================================================================
       14. Z-INDEX SCALE
       ========================================================================== */
    
    --vc-z-dropdown: 200;
    --vc-z-sticky: 1100;
    --vc-z-modal: 1000;
    --vc-z-modal-backdrop: 999;
    --vc-z-toast: 2000;
    
    /* ==========================================================================
       15. BUTTON STYLES
       ========================================================================== */
    
    --vc-btn-padding-y: 15px;
    --vc-btn-padding-x: 25px;
    --vc-btn-padding-lg: 20px;
    --vc-btn-font-size: 14px;
    --vc-btn-font-size-sm: 12px;
    --vc-btn-border-color: rgba(255, 255, 255, 0.25);
    
    /* ==========================================================================
       16. CARD STYLES
       ========================================================================== */
    
    --vc-card-padding: 30px;
    --vc-card-padding-sm: 16px;
    --vc-card-border: 1px solid rgba(18, 18, 18, 0.1);
    --vc-card-radius: 15px;
    
    /* ==========================================================================
       17. OVERLAYS
       ========================================================================== */
    
    --vc-overlay-hero: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 70%);
    --vc-overlay-hero-service: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 95%);
    --vc-overlay-hero-mobile: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 55%);
    
    /* ==========================================================================
       18. SHADOWS
       ========================================================================== */
    
    --vc-shadow-btn: 0 4px 15px rgba(33, 92, 162, 0.3);
    --vc-shadow-btn-hover: 0 6px 20px rgba(33, 92, 162, 0.5);
    --vc-shadow-modal: 0 10px 40px rgba(0, 0, 0, 0.2);
    --vc-shadow-header: 0 1px 0 rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   LEGACY ALIASES - For backward compatibility
   These map old variable names to new ones
   ========================================================================== */

:root {
    /* Colors */
    --font-family: var(--vc-font-family);
    --background-color: var(--vc-color-bg-primary);
    --background-secondary: var(--vc-color-bg-secondary);
    --form-bg: var(--vc-color-bg-form);
    --linear-bg: var(--vc-gradient-primary);
    --linear-bg-category: var(--vc-gradient-category);
    --input-bg: var(--vc-color-bg-input);
    --badge-bg: var(--vc-color-error-bg);
    
    /* Text */
    --text-description: var(--vc-color-text-muted);
    --text-description-card: var(--vc-color-text-muted);
    --text-black: var(--vc-color-text-primary);
    --text-accent: var(--vc-color-primary);
    --text-hover: var(--vc-color-primary-hover);
    --text-badge: var(--vc-color-error);
    --text-menu: var(--vc-color-text-muted);
    
    /* Layout */
    --container-width: var(--vc-container-max-width);
    
    /* Radius */
    --card-radius: var(--vc-radius-lg);
    --border-radius: 1000px;
    --tab-radius: 100px;
    --img-radius: var(--vc-radius-md);
    
    /* Buttons */
    --btn-stroke: var(--vc-btn-border-color);
    --btn-bg: var(--vc-color-primary);
    --btn-bg-inactive: var(--vc-color-primary-light);
    --form-stroke: rgba(255, 255, 255, 0.1);
    
    /* Header */
    --header-top-bg: var(--vc-gradient-primary);
    --header-main-bg: var(--vc-color-bg-primary);
    --hero-overlay: var(--vc-overlay-hero);
    --hero-overlay--service: var(--vc-overlay-hero-service);
    --hero-overlay-mob: var(--vc-overlay-hero-mobile);
    --brand-strip-bg: var(--vc-color-secondary);
}
