/* shared-tokens.css — giancarlocristea.com design tokens
   Loaded by: gc-style (WP theme) + blog-base.css (standalone blog posts)
   Version: 20260325 */

:root {
  /* Typography */
  --font-heading: 'Cormorant Garamond', 'Georgia', serif;
  --font-body: 'Lexend', 'Inter', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

  /* Brand colors */
  --color-accent: #d4a574;
  --color-accent-hover: #c4945f;
  --color-teal: #5ba4a4;
  --color-teal-hover: #4a9393;
  --color-burgundy: #7a3b5c;

  /* Neutral palette (dark theme base) */
  --color-bg-base: #0d0d14;
  --color-bg-elevated: #13131e;
  --color-bg-card: #1a1a2e;
  --color-bg-card-hover: #1e1e35;
  --color-border: rgba(255,255,255,0.08);
  --color-border-strong: rgba(255,255,255,0.15);

  /* Text */
  --color-text: #e8e6f0;
  --color-text-dim: rgba(232,230,240,0.65);
  --color-text-muted: rgba(232,230,240,0.4);

  /* Spacing scale */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;

  /* Border radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.5);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.6);
  --shadow-xl: 0 16px 48px rgba(0,0,0,0.7);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* Z-index scale */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 300;
  --z-toast: 400;
}

/* Light theme overrides */
[data-theme="light"], .light-theme {
  --color-bg-base: #fafaf8;
  --color-bg-elevated: #f5f4f0;
  --color-bg-card: #ffffff;
  --color-bg-card-hover: #f8f7f5;
  --color-border: rgba(0,0,0,0.08);
  --color-border-strong: rgba(0,0,0,0.15);
  --color-text: #1a1a2e;
  --color-text-dim: rgba(26,26,46,0.65);
  --color-text-muted: rgba(26,26,46,0.4);
}

/* Reduced motion — respect system preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Reduced motion — user toggle (.reduced-motion on body) */
body.reduced-motion *, body.reduced-motion *::before, body.reduced-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
