/* CSS Variables - Design System */
:root {
    /* Colors - Warm Wellness palette (terracotta / cream / espresso) */
    --color-primary: #B06B4A;        /* Terracotta */
    --color-primary-light: #FAF6F0;   /* Cream */
    --color-primary-dark: #3A2E26;   /* Espresso */

    --color-secondary: #8C9A84;       /* Sage Green (supporting botanical accent) */
    --color-secondary-light: #A8B5A0; /* Light Sage */
    --color-secondary-dark: #6E7B66;  /* Deep Sage */

    --color-accent: #A0552F;          /* Rust Terracotta */
    --color-accent-light: #C27B5A;    /* Light Rust */
    --color-accent-dark: #8A4526;     /* Dark Rust */

    --color-neutral-900: #3A2E26;     /* Espresso */
    --color-neutral-800: #4D3E33;     /* Dark Coffee */
    --color-neutral-700: #6B5848;     /* Coffee */
    --color-neutral-600: #8A7460;     /* Warm Taupe */
    --color-neutral-500: #A89279;     /* Taupe */
    --color-neutral-400: #C4B3A0;     /* Light Taupe */
    --color-neutral-300: #DBCCBC;     /* Sand */
    --color-neutral-200: #EBE0D4;     /* Pale Sand */
    --color-neutral-100: #F5EEE5;     /* Warm Off-White */
    --color-neutral-50: #FAF6F0;      /* Cream */

    --color-white: #FFFFFF;
    --color-black: #000000;

    --color-success: #6E8B5A;
    --color-error: #B85450;
    --color-warning: #C9A857;
    --color-info: #6B8FA3;

    /* Typography */
    --font-primary: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-heading: 'Playfair Display', Georgia, serif;

    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Font Sizes - Fluid Typography */
    --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
    --font-size-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
    --font-size-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
    --font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);
    --font-size-3xl: clamp(2rem, 1.7rem + 1.5vw, 3rem);
    --font-size-4xl: clamp(2.5rem, 2rem + 2.5vw, 4rem);
    --font-size-5xl: clamp(3rem, 2.5rem + 2.5vw, 5rem);

    /* Line Heights */
    --line-height-tight: 1.2;
    --line-height-snug: 1.4;
    --line-height-normal: 1.6;
    --line-height-relaxed: 1.8;
    --line-height-loose: 2;

    /* Spacing Scale */
    --space-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
    --space-sm: clamp(0.5rem, 0.45rem + 0.25vw, 0.625rem);
    --space-md: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
    --space-lg: clamp(1.5rem, 1.3rem + 1vw, 2rem);
    --space-xl: clamp(2rem, 1.7rem + 1.5vw, 3rem);
    --space-2xl: clamp(3rem, 2.5rem + 2.5vw, 4rem);
    --space-3xl: clamp(4rem, 3rem + 5vw, 6rem);
    --space-4xl: clamp(6rem, 4rem + 10vw, 8rem);

    /* Layout */
    --container-max-width: 1200px;
    --container-padding: var(--space-md);
    --grid-gap: var(--space-lg);

    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* Shadows - warm espresso tint */
    --shadow-sm: 0 1px 2px 0 rgba(58, 46, 38, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(58, 46, 38, 0.08), 0 2px 4px -1px rgba(58, 46, 38, 0.04);
    --shadow-lg: 0 10px 15px -3px rgba(58, 46, 38, 0.10), 0 4px 6px -2px rgba(58, 46, 38, 0.04);
    --shadow-xl: 0 20px 25px -5px rgba(58, 46, 38, 0.10), 0 10px 10px -5px rgba(58, 46, 38, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(58, 46, 38, 0.22);

    /* Transitions */
    --transition-fast: 300ms ease;
    --transition-base: 500ms ease;
    --transition-slow: 700ms ease;
    --transition-dramatic: 1000ms ease;

    /* Z-index Scale */
    --z-below: -1;
    --z-base: 0;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-popover: 600;
    --z-tooltip: 700;
    --z-notification: 800;
    --z-top: 900;
    --z-grain: 9999;

    /* Breakpoints (for reference in JS) */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
}