/**
 * CSS Custom Properties (Variables)
 *
 * Central place for all design tokens.
 * These can be overridden via the WordPress Customizer.
 *
 * @package AbbeySolutions
 * @since 1.0.0
 */

:root {
    /* ==========================================================================
       Colors
       ========================================================================== */
    
    /* Primary Blues */
    --color-primary-dark: #051d2c;
    --color-secondary-blue: #0a2f4a;
    --color-accent-blue: #1a4870;
    --color-light-blue: #2a5980;
    --color-sky-blue: #4d94c4;
    
    /* Neutrals */
    --color-white: #ffffff;
    --color-light-gray: #f8f9fa;
    --color-gray: #e9ecef;
    --color-medium-gray: #dee2e6;
    --color-dark-gray: #6c757d;
    
    /* Text Colors */
    --color-text-dark: #333333;
    --color-text-body: #555555;
    --color-text-light: #666666;
    --color-text-muted: #999999;
    
    /* Semantic Colors */
    --color-success: #11998e;
    --color-error: #dc3545;
    --color-warning: #ffc107;
    --color-info: #17a2b8;
    
    /* ==========================================================================
       Gradients
       ========================================================================== */
    
    --gradient-primary: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-secondary-blue) 50%, var(--color-accent-blue) 100%);
    --gradient-hero: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-secondary-blue) 100%);
    --gradient-card: linear-gradient(45deg, var(--color-secondary-blue) 0%, var(--color-primary-dark) 100%);
    --gradient-light: linear-gradient(135deg, var(--color-accent-blue) 0%, var(--color-light-blue) 100%);
    --gradient-cta: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-secondary-blue) 100%);
    
    /* ==========================================================================
       Typography
       ========================================================================== */
    
    /* Font Families - Will be overridden by Customizer */
    --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', monospace;
    
    /* Font Sizes */
    --font-size-base: 16px;
    --font-size-xs: 0.75rem;     /* 12px */
    --font-size-sm: 0.875rem;    /* 14px */
    --font-size-md: 1rem;        /* 16px */
    --font-size-lg: 1.125rem;    /* 18px */
    --font-size-xl: 1.25rem;     /* 20px */
    --font-size-2xl: 1.5rem;     /* 24px */
    --font-size-3xl: 1.875rem;   /* 30px */
    --font-size-4xl: 2.25rem;    /* 36px */
    --font-size-5xl: 3rem;       /* 48px */
    --font-size-6xl: 3.75rem;    /* 60px */
    
    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    /* Line Heights */
    --line-height-tight: 1.2;
    --line-height-snug: 1.3;
    --line-height-normal: 1.6;
    --line-height-relaxed: 1.75;
    
    /* ==========================================================================
       Spacing
       ========================================================================== */
    
    --spacing-0: 0;
    --spacing-1: 0.25rem;   /* 4px */
    --spacing-2: 0.5rem;    /* 8px */
    --spacing-3: 0.75rem;   /* 12px */
    --spacing-4: 1rem;      /* 16px */
    --spacing-5: 1.25rem;   /* 20px */
    --spacing-6: 1.5rem;    /* 24px */
    --spacing-8: 2rem;      /* 32px */
    --spacing-10: 2.5rem;   /* 40px */
    --spacing-12: 3rem;     /* 48px */
    --spacing-16: 4rem;     /* 64px */
    --spacing-20: 5rem;     /* 80px */
    --spacing-24: 6rem;     /* 96px */
    
    /* ==========================================================================
       Layout
       ========================================================================== */
    
    --container-max-width: 1200px;
    --container-padding: 20px;
    --content-max-width: 800px;
    
    /* ==========================================================================
       Borders
       ========================================================================== */
    
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 15px;
    --border-radius-xl: 20px;
    --border-radius-full: 9999px;
    
    --border-width: 1px;
    --border-color: var(--color-gray);
    --border-color-light: rgba(255, 255, 255, 0.2);
    
    /* ==========================================================================
       Shadows
       ========================================================================== */
    
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 5px 15px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.15);
    --shadow-2xl: 0 25px 60px rgba(0, 0, 0, 0.2);
    
    /* Button Shadows */
    --shadow-button: 0 2px 10px rgba(5,29,44, 0.3);
    --shadow-button-hover: 0 4px 20px rgba(5,29,44, 0.4);
    
    /* ==========================================================================
       Transitions
       ========================================================================== */
    
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
    
    /* Specific transitions */
    --transition-color: color var(--transition-base);
    --transition-background: background-color var(--transition-base);
    --transition-transform: transform var(--transition-base);
    --transition-shadow: box-shadow var(--transition-base);
    --transition-opacity: opacity var(--transition-base);
    --transition-all: all var(--transition-base);
    
    /* ==========================================================================
       Z-Index Scale
       ========================================================================== */
    
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-tooltip: 600;
    
    /* ==========================================================================
       Glassmorphism
       ========================================================================== */
    
    --glass-background: rgba(255, 255, 255, 0.95);
    --glass-background-dark: rgba(255, 255, 255, 0.1);
    --glass-blur: blur(10px);
    --glass-border: 1px solid rgba(255, 255, 255, 0.2);
    
    /* ==========================================================================
       Header
       ========================================================================== */
    
    --header-height: 80px;
    --header-height-mobile: 60px;
    --header-background: var(--glass-background);
    --header-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    
    /* ==========================================================================
       Footer
       ========================================================================== */
    
    --footer-background: #1a1a1a;
    --footer-text: #cccccc;
    --footer-heading: var(--color-sky-blue);
}

/* ==========================================================================
   Dark Mode Variables (Future)
   ========================================================================== */

@media (prefers-color-scheme: dark) {
    /* 
     * Dark mode variables can be added here when needed.
     * Currently the site uses a light theme with dark accents.
     */
}

/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0ms;
        --transition-base: 0ms;
        --transition-slow: 0ms;
    }
}
