/* ============================================
   HCJK Collection - CSS Custom Properties
   Design System Variables
   ============================================ */

:root {
  /* ==================== COLORS ==================== */
  
  /* Primary Colors */
  --color-primary: #2C2C2C;        /* Charcoal - main text */
  --color-secondary: #8B7355;      /* Warm taupe - accents */
  --color-accent: #D4AF87;         /* Soft gold - highlights */
  
  /* Neutral Colors */
  --color-background: #FAFAFA;     /* Off-white background */
  --color-white: #FFFFFF;
  --color-light-gray: #F5F5F5;
  --color-medium-gray: #E0E0E0;
  --color-dark-gray: #4A4A4A;
  --color-black: #1A1A1A;
  
  /* Semantic Colors */
  --color-success: #7C9885;        /* Sage green */
  --color-error: #C17767;          /* Muted terracotta */
  --color-warning: #D4A574;        /* Warm amber */
  --color-info: #8B9DC3;           /* Soft blue */
  
  /* Overlay Colors */
  --overlay-light: rgba(255, 255, 255, 0.9);
  --overlay-dark: rgba(44, 44, 44, 0.8);
  --overlay-accent: rgba(212, 175, 135, 0.15);
  
  /* ==================== TYPOGRAPHY ==================== */
  
  /* Font Families */
  --font-primary: 'Cormorant Garamond', serif;   /* Elegant serif for headings */
  --font-secondary: 'Montserrat', sans-serif;     /* Clean sans-serif for body */
  --font-script: 'Allura', cursive;               /* Script for special elements */
  
  /* Font Sizes - Fluid Typography */
  --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);      /* 12-14px */
  --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);        /* 14-16px */
  --font-size-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);      /* 16-18px */
  --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.5rem);        /* 18-24px */
  --font-size-xl: clamp(1.5rem, 1.25rem + 1.25vw, 2.25rem);       /* 24-36px */
  --font-size-2xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);           /* 32-56px */
  --font-size-3xl: clamp(2.5rem, 2rem + 2.5vw, 4.5rem);           /* 40-72px */
  
  /* Font Weights */
  --font-weight-light: 300;
  --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-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;
  
  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.05em;
  --letter-spacing-wider: 0.1em;
  --letter-spacing-widest: 0.15em;
  
  /* ==================== SPACING ==================== */
  
  --spacing-xs: 0.5rem;      /* 8px */
  --spacing-sm: 1rem;        /* 16px */
  --spacing-md: 1.5rem;      /* 24px */
  --spacing-lg: 2rem;        /* 32px */
  --spacing-xl: 3rem;        /* 48px */
  --spacing-2xl: 4rem;       /* 64px */
  --spacing-3xl: 6rem;       /* 96px */
  --spacing-4xl: 8rem;       /* 128px */
  --spacing-5xl: 12rem;      /* 192px */
  
  /* ==================== LAYOUT ==================== */
  
  /* Container */
  --container-max-width: 1400px;
  --container-padding: 2rem;
  --container-padding-mobile: 1.5rem;
  
  /* Grid */
  --grid-gap: 2rem;
  --grid-gap-mobile: 1rem;
  --grid-columns: 12;
  
  /* Section Spacing */
  --section-padding: var(--spacing-4xl);
  --section-padding-mobile: var(--spacing-2xl);
  
  /* ==================== BORDERS ==================== */
  
  /* Border Radius */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-full: 9999px;
  
  /* Border Width */
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 4px;
  
  /* Border Colors */
  --border-color-light: var(--color-medium-gray);
  --border-color-medium: var(--color-dark-gray);
  --border-color-dark: var(--color-primary);
  
  /* ==================== SHADOWS ==================== */
  
  --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 -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  
  /* Luxury Shadow (Soft, Elegant) */
  --shadow-luxury: 0 8px 30px rgba(139, 115, 85, 0.12);
  --shadow-luxury-hover: 0 12px 40px rgba(139, 115, 85, 0.18);
  
  /* ==================== TRANSITIONS ==================== */
  
  /* Duration */
  --transition-fast: 150ms;
  --transition-base: 300ms;
  --transition-slow: 500ms;
  --transition-slower: 700ms;
  
  /* Easing */
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-luxury: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  
  /* Combined Transitions */
  --transition-all: all var(--transition-base) var(--ease-in-out);
  --transition-colors: color var(--transition-base) var(--ease-in-out),
                       background-color var(--transition-base) var(--ease-in-out),
                       border-color var(--transition-base) var(--ease-in-out);
  --transition-transform: transform var(--transition-base) var(--ease-luxury);
  --transition-opacity: opacity var(--transition-base) var(--ease-in-out);
  
  /* ==================== Z-INDEX ==================== */
  
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  
  /* ==================== BREAKPOINTS ==================== */
  /* Note: These are used in media queries, not as CSS variables */
  /* 
  --breakpoint-xs: 0;
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
  */
  
  /* ==================== EFFECTS ==================== */
  
  /* Blur */
  --blur-sm: 4px;
  --blur-md: 8px;
  --blur-lg: 16px;
  --blur-xl: 24px;
  
  /* Opacity */
  --opacity-disabled: 0.5;
  --opacity-hover: 0.8;
  --opacity-overlay: 0.9;
  
  /* ==================== COMPONENT-SPECIFIC ==================== */
  
  /* Navigation */
  --nav-height: 80px;
  --nav-height-mobile: 60px;
  --nav-background: var(--color-white);
  --nav-shadow: var(--shadow-sm);
  
  /* Buttons */
  --button-padding-x: 2rem;
  --button-padding-y: 0.75rem;
  --button-border-radius: var(--border-radius-sm);
  --button-font-weight: var(--font-weight-medium);
  
  /* Forms */
  --input-padding-x: 1rem;
  --input-padding-y: 0.75rem;
  --input-border-radius: var(--border-radius-sm);
  --input-border-color: var(--color-medium-gray);
  --input-focus-border-color: var(--color-secondary);
  
  /* Cards */
  --card-padding: var(--spacing-lg);
  --card-border-radius: var(--border-radius-md);
  --card-shadow: var(--shadow-luxury);
  --card-shadow-hover: var(--shadow-luxury-hover);
  
  /* Gallery */
  --gallery-gap: 1.5rem;
  --gallery-gap-mobile: 0.75rem;
  --gallery-columns: 3;
  --gallery-columns-tablet: 2;
  --gallery-columns-mobile: 1;
}

/* ==================== DARK MODE (Optional) ==================== */
/* Uncomment if implementing dark mode */
/*
@media (prefers-color-scheme: dark) {
  :root {
    --color-primary: #F5F5F5;
    --color-background: #1A1A1A;
    --color-white: #2C2C2C;
    --color-light-gray: #3A3A3A;
    --color-medium-gray: #4A4A4A;
    --color-dark-gray: #E0E0E0;
  }
}
*/

/* ==================== PRINT STYLES ==================== */
@media print {
  :root {
    --color-primary: #000000;
    --color-background: #FFFFFF;
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-xl: none;
    --shadow-2xl: none;
  }
}