/* ============================================================
   THERMOLUZ DESIGN SYSTEM v1.1
   Industrial Premium | Blue Royal + Red Power
   ============================================================ */

:root {
  /* === PRIMARY PALETTE === */
  --tl-blue-900: #0a1628;
  --tl-blue-800: #0f2240;
  --tl-blue-700: #153263;
  --tl-blue-600: #1a4080;
  --tl-blue-500: #1e52a0;
  --tl-blue-400: #2b6cb0;
  --tl-blue-300: #4a90d9;
  --tl-blue-200: #7db3eb;
  --tl-blue-100: #b3d4f5;
  --tl-blue-50:  #e8f1fb;

  /* === RED / ACCENT (primary accent color) === */
  --tl-red-700: #8b1a1a;
  --tl-red-600: #b91c1c;
  --tl-red-500: #dc2626;
  --tl-red-400: #ef4444;
  --tl-red-300: #f87171;
  --tl-red-200: #fca5a5;

  /* === NEUTRALS === */
  --tl-white: #ffffff;
  --tl-gray-50:  #f8fafc;
  --tl-gray-100: #f1f5f9;
  --tl-gray-200: #e2e8f0;
  --tl-gray-300: #cbd5e1;
  --tl-gray-400: #94a3b8;
  --tl-gray-500: #64748b;
  --tl-gray-600: #475569;
  --tl-gray-700: #334155;
  --tl-gray-800: #1e293b;
  --tl-gray-900: #0f172a;
  --tl-black: #030712;

  /* === SEMANTIC === */
  --tl-bg-primary: var(--tl-white);
  --tl-bg-section-alt: var(--tl-gray-50);
  --tl-bg-dark: var(--tl-blue-900);
  --tl-bg-dark-alt: var(--tl-blue-800);
  --tl-bg-card: var(--tl-white);
  --tl-bg-card-hover: var(--tl-gray-50);

  --tl-text-heading: var(--tl-blue-900);
  --tl-text-body: var(--tl-gray-700);
  --tl-text-muted: var(--tl-gray-500);
  --tl-text-on-dark: var(--tl-white);
  --tl-text-on-dark-muted: rgba(255,255,255,0.7);

  --tl-border: var(--tl-gray-200);
  --tl-border-hover: var(--tl-blue-300);

  --tl-cta-primary: var(--tl-red-500);
  --tl-cta-primary-hover: var(--tl-red-600);
  --tl-cta-primary-text: var(--tl-white);
  --tl-cta-secondary: var(--tl-blue-600);
  --tl-cta-secondary-hover: var(--tl-blue-700);
  --tl-cta-danger: var(--tl-red-500);

  /* === TYPOGRAPHY === */
  --tl-font-heading: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --tl-font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --tl-font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --tl-text-xs: 0.75rem;
  --tl-text-sm: 0.875rem;
  --tl-text-base: 1rem;
  --tl-text-lg: 1.125rem;
  --tl-text-xl: 1.25rem;
  --tl-text-2xl: 1.5rem;
  --tl-text-3xl: 1.875rem;
  --tl-text-4xl: 2.25rem;
  --tl-text-5xl: 3rem;
  --tl-text-6xl: 3.75rem;

  --tl-leading-tight: 1.15;
  --tl-leading-snug: 1.3;
  --tl-leading-normal: 1.6;
  --tl-leading-relaxed: 1.75;

  --tl-tracking-tight: -0.025em;
  --tl-tracking-normal: 0;
  --tl-tracking-wide: 0.05em;
  --tl-tracking-wider: 0.1em;

  /* === SPACING === */
  --tl-space-1: 0.25rem;
  --tl-space-2: 0.5rem;
  --tl-space-3: 0.75rem;
  --tl-space-4: 1rem;
  --tl-space-5: 1.25rem;
  --tl-space-6: 1.5rem;
  --tl-space-8: 2rem;
  --tl-space-10: 2.5rem;
  --tl-space-12: 3rem;
  --tl-space-16: 4rem;
  --tl-space-20: 5rem;
  --tl-space-24: 6rem;
  --tl-space-32: 8rem;

  /* === LAYOUT === */
  --tl-container-sm: 640px;
  --tl-container-md: 768px;
  --tl-container-lg: 1024px;
  --tl-container-xl: 1200px;
  --tl-container-2xl: 1400px;

  /* === EFFECTS === */
  --tl-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --tl-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.05);
  --tl-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.05);
  --tl-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
  --tl-shadow-card: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --tl-shadow-card-hover: 0 10px 30px rgba(0,0,0,0.1);
  --tl-shadow-glow-red: 0 0 20px rgba(220,38,38,0.2);
  --tl-shadow-glow-blue: 0 0 20px rgba(30,82,160,0.15);

  --tl-radius-sm: 4px;
  --tl-radius-md: 8px;
  --tl-radius-lg: 12px;
  --tl-radius-xl: 16px;
  --tl-radius-full: 9999px;

  --tl-transition-fast: 150ms ease;
  --tl-transition-base: 250ms ease;
  --tl-transition-slow: 400ms ease;

  /* === GRADIENTS === */
  --tl-gradient-hero: linear-gradient(135deg, var(--tl-blue-900) 0%, var(--tl-blue-700) 100%);
  --tl-gradient-cta: linear-gradient(135deg, var(--tl-red-500) 0%, var(--tl-red-400) 100%);
  --tl-gradient-dark: linear-gradient(180deg, var(--tl-blue-900) 0%, var(--tl-blue-800) 100%);
  --tl-gradient-accent: linear-gradient(135deg, var(--tl-blue-500) 0%, var(--tl-blue-300) 100%);
  --tl-gradient-heat: linear-gradient(135deg, var(--tl-red-600) 0%, var(--tl-red-400) 100%);
}
