/**
 * Design System Tokens & CSS Variables
 * CT TerraMach Website
 */

:root {
    /* Brand Core & Neutral Colours */
    --color-primary: #2B4B69;
    --color-primary-dark: #13222E;
    --color-accent: #C9B28C;
    --color-accent-dark: #9B866E;
    --color-accent-light: #EFE8D9;

    --color-charcoal: #26292A;
    --color-steel: #64615C;
    --color-grey: #D9D9D8;
    --color-background: #F4F3EF;
    --color-white: #FFFFFF;

    /* Typography & Semantics */
    --color-text: #26292A;
    --color-text-muted: #5C6C7C;
    --color-heading: #13222E;

    --color-border: #D9D9D8;
    --color-surface: #FFFFFF;
    --color-surface-muted: #F4F3EF;

    /* Interactive Elements & Buttons */
    --color-link: #2B4B69;
    --color-link-hover: #13222E;

    --button-primary-bg: #2B4B69;
    --button-primary-text: #FFFFFF;
    --button-primary-hover: #13222E;

    --button-secondary-bg: transparent;
    --button-secondary-text: #2B4B69;
    --button-secondary-border: #2B4B69;
    --button-secondary-hover-bg: #EFE8D9;

    /* System Status */
    --color-success: #2E6B4F;
    --color-warning: #B7791F;
    --color-error: #A63D40;
    --color-info: #2B4B69;

    /* Legacy Compatibility Mapping */
    --primary: var(--color-primary);
    --primary-hover: var(--color-primary-dark);
    --primary-glow: rgba(43, 75, 105, 0.15);
    
    --secondary: var(--color-accent);
    --secondary-hover: var(--color-accent-dark);
    
    --slate-50: var(--color-background);
    --slate-100: var(--color-accent-light);
    --slate-200: var(--color-grey);
    --slate-300: var(--color-text-muted);
    --slate-400: var(--color-steel);
    --slate-500: var(--color-steel);
    --slate-600: var(--color-steel);
    --slate-700: var(--color-charcoal);
    --slate-800: var(--color-charcoal);
    --slate-900: var(--color-heading);
    --slate-950: var(--color-primary-dark);
    
    --bg-dark: var(--color-background);
    --bg-card: var(--color-surface);
    --text-main: var(--color-text);
    --text-title: var(--color-heading);
    --text-muted: var(--color-text-muted);
    --border-color: var(--color-border);
    
    /* Typography Fonts */
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    /* Layout Constants */
    --container-max-width: 1280px;
    --header-height: 90px;
    --header-height-shrunk: 70px;
    
    /* Spacing Scale (Rem based) */
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4.5rem;
    --space-4xl: 6rem;
    
    /* Rounded Borders */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 24px;
    
    /* Shadow Utilities */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
    --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    
    /* Transitions */
    --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
