/* css/tokens.css
   Design tokens for steffenoehme.de
   Source of truth: designsystem/designsystem.md
   Verified against: designsystem/designsystem-preview.html
   Naming convention: --category-name (canonical long-form)
   Last updated: 2026-03-31
*/

:root {
  /* -- Dark palette (Hero, Navbar, Statement sections) -- */
  --color-bg-dark:         #0A1A3A;
  --color-bg-mid:          #112244;
  --color-bg-light-hover:  #1A2E55;
  --color-text-primary:    #EEF3FF;
  --color-text-secondary:  #C8D8EE;

  /* -- Light palette (Content sections) -- */
  --color-surface:         #F8F7F4;
  --color-surface-card:    #FFFFFF;
  --color-surface-muted:   #F0EFEB;
  --color-border-light:    #E2E0DA;
  --color-text-dark:       #112659;
  --color-text-body:       #1A2E55;
  --color-text-muted:      #4A5568;

  /* -- Accent -- */
  --color-accent:          #0ee8d5;
  --color-accent-hover:    #0bc4b3;
  --color-accent-tint:     rgba(14, 232, 213, 0.10);
  --color-accent-2:        #5d59b2;

  /* -- Semantic states -- */
  --color-success:         #34D399;
  --color-error:           #F87171;
  --color-warning:         #FBBF24;
  --color-info:            #60A5FA;

  /* -- Typography -- */
  --font-headline:         'Montserrat', sans-serif;
  --font-body:             'Montserrat', sans-serif;
  --font-ui:               'DM Sans', sans-serif;
  --font-accent:           'Kalam', cursive;

  /* -- Spacing (8px grid) -- */
  --space-1:   8px;
  --space-2:   16px;
  --space-3:   24px;
  --space-4:   32px;
  --space-6:   48px;
  --space-8:   64px;
  --space-12:  96px;
  --space-16:  128px;

  /* -- Border radius -- */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  /* -- Shadows (light context) -- */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* -- Z-index scale -- */
  --z-base:    1;
  --z-navbar:  100;
  --z-modal:   200;
  --z-tooltip: 300;

  /* -- Layout -- */
  --max-width:           1200px;
  --padding-mobile:      24px;
  --padding-tablet:      48px;
  --padding-desktop:     80px;
}
