/* Theme Variables - DmarcAlign Website */
/* All colors, fonts, spacing defined here for easy customization */

:root {
  /* Colors - Primary */
  --color-primary: #2563eb;
  --color-primary-light: #eff6ff;
  --color-primary-lighter: #bfdbfe;
  --color-primary-lightest: #dbeafe;
  
  /* Colors - Background */
  --color-bg-dark: #0b1220;
  --color-bg-light: #fff;
  --color-bg-subtle: #f8fafc;
  
  /* Colors - Text */
  --color-text-dark: #0f172a;
  --color-text-muted: #64748b;
  --color-text-light: #94a3b8;
  --color-text-lighter: #cbd5e1;
  --color-text-lightest: #bfdbfe;
  
  /* Colors - Borders & Dividers */
  --color-border: #eef2f6;
  --color-border-dark: #ffffff22;
  --color-border-light: #e2e8f0;
  
  /* Colors - Status */
  --color-success: #16a34a;
  --color-success-light: #4ade80;
  --color-error: #dc2626;
  --color-warning: #fbbf24;
  --color-info: #60a5fa;
  
  /* Colors - Semantic */
  --color-glass-light: #ffffff14;
  --color-glass-dark: #ffffff0a;
  --color-overlay-dark: rgba(0, 0, 0, 0.4);
  
  /* Typography */
  --font-primary: 'Hanken Grotesk', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --font-icons: 'Material Symbols Rounded', sans-serif;
  
  /* Font Weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  
  /* Font Sizes */
  --fs-xs: 12px;
  --fs-sm: 13px;
  --fs-base: 14px;
  --fs-md: 15px;
  --fs-lg: 16px;
  --fs-xl: 17px;
  --fs-2xl: 19px;
  --fs-3xl: 22px;
  --fs-4xl: 26px;
  --fs-5xl: 36px;
  --fs-6xl: 40px;
  --fs-7xl: 60px;
  
  /* Line Heights */
  --lh-tight: 1.05;
  --lh-snug: 1.12;
  --lh-normal: 1.5;
  --lh-relaxed: 1.6;
  --lh-loose: 1.8;
  
  /* Spacing */
  --spacing-0: 0;
  --spacing-1: 2px;
  --spacing-2: 4px;
  --spacing-3: 6px;
  --spacing-4: 8px;
  --spacing-5: 10px;
  --spacing-6: 12px;
  --spacing-7: 14px;
  --spacing-8: 16px;
  --spacing-9: 18px;
  --spacing-10: 20px;
  --spacing-12: 24px;
  --spacing-14: 28px;
  --spacing-16: 32px;
  --spacing-18: 36px;
  --spacing-20: 40px;
  --spacing-24: 48px;
  --spacing-28: 56px;
  --spacing-32: 64px;
  --spacing-36: 72px;
  --spacing-40: 80px;
  --spacing-44: 88px;
  --spacing-48: 96px;
  --spacing-56: 112px;
  --spacing-64: 128px;
  --spacing-72: 144px;
  --spacing-80: 160px;
  --spacing-90: 180px;
  --spacing-96: 192px;
  
  /* Border Radius */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 13px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 9999px;
  
  /* Container */
  --max-width-container: 1100px;
  --max-width-lg: 1200px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 1px 2px rgba(37, 99, 235, 0.4);
  --shadow-lg: 0 18px 50px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 30px 70px rgba(0, 0, 0, 0.5);
  
  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  
  /* Z-index */
  --z-hide: -1;
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-tooltip: 70;
  
  /* Letter Spacing */
  --letter-spacing-tight: -0.03em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.04em;
  --letter-spacing-wider: 0.06em;
  --letter-spacing-widest: 0.1em;
}

/* Scrollbar Styling */
::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

::-webkit-scrollbar-thumb {
  background: var(--color-text-light);
  border-radius: var(--radius-lg);
  border: 3px solid var(--color-bg-light);
}

::-webkit-scrollbar-track {
  background: transparent;
}
