/*
Theme Name: Michael Brinkmann
Theme URI: https://www.michaelbrinkmann.net
Author: Michael Brinkmann
Description: Warm editorial executive theme for Michael Brinkmann — strategic advisor focused on growth, partnerships, fintech, and digital transformation.
Version: 1.0.0
License: Private
Text Domain: michaelbrinkmann
Tags: executive, editorial, custom-theme
*/

/* ============================================================
   CSS CUSTOM PROPERTIES (DESIGN TOKENS)
   ============================================================ */

:root {
  /* Colors */
  --color-bg:           #E8ECF2;
  --color-surface:      #FFFFFF;
  --color-surface-2:    #EEF2F6;
  --color-surface-3:    #E7EDF4;
  --color-border:       rgba(27, 43, 58, 0.12);
  --color-border-strong:rgba(27, 43, 58, 0.22);
  --color-grid:         rgba(42, 64, 86, 0.08);

  --color-accent:       #10263A;
  --color-accent-soft:  #4B647B;
  --color-highlight:    #FF6A1A;
  --color-highlight-soft: rgba(255, 106, 26, 0.14);
  --color-highlight-strong: #FF7C33;
  --color-accent-olive: #6C7785;
  --color-accent-glow:  rgba(122, 152, 182, 0.16);

  --color-text:         #09131D;
  --color-text-main:    #243140;
  --color-text-muted:   #617082;
  --color-text-dim:     rgba(36, 49, 64, 0.54);

  --color-white:        #FFFFFF;

  /* Typography — fallbacks prevent layout shift before web fonts load */
  --font-display: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;
  --font-body:    'Manrope', 'Inter', system-ui, -apple-system, sans-serif;

  --size-xs:   0.75rem;   /* 12px */
  --size-sm:   0.875rem;  /* 14px */
  --size-base: 1rem;      /* 16px */
  --size-md:   1.125rem;  /* 18px */
  --size-lg:   1.25rem;   /* 20px */
  --size-xl:   1.5rem;    /* 24px */
  --size-2xl:  2rem;      /* 32px */
  --size-3xl:  2.75rem;   /* 44px */
  --size-4xl:  3.75rem;   /* 60px */
  --size-5xl:  5rem;      /* 80px */
  --size-6xl:  6rem;      /* 96px */

  /* Spacing (8pt grid) */
  --space-1:  0.5rem;    /* 8px */
  --space-2:  1rem;      /* 16px */
  --space-3:  1.5rem;    /* 24px */
  --space-4:  2rem;      /* 32px */
  --space-5:  2.5rem;    /* 40px */
  --space-6:  3rem;      /* 48px */
  --space-8:  4rem;      /* 64px */
  --space-10: 5rem;      /* 80px */
  --space-12: 6rem;      /* 96px */
  --space-16: 8rem;      /* 128px */
  --space-20: 10rem;     /* 160px */

  /* Layout */
  --container-max: 1320px;
  --container-pad: clamp(1.5rem, 5vw, 4rem);

  /* Radius */
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-xl: 40px;

  /* Effects */
  --shadow-soft: 0 18px 44px rgba(16, 38, 58, 0.06);
  --shadow-card: 0 24px 60px rgba(16, 38, 58, 0.08);
  --shadow-hero: 0 32px 80px rgba(16, 38, 58, 0.14);

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:  cubic-bezier(0.7, 0, 0.84, 0);
  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg:           #0D1117;
    --color-surface:      #161B22;
    --color-surface-2:    #1C2128;
    --color-surface-3:    #21262D;
    --color-border:       rgba(139, 148, 158, 0.14);
    --color-border-strong:rgba(139, 148, 158, 0.28);
    --color-grid:         rgba(139, 148, 158, 0.06);

    --color-accent:       #CDD9E5;
    --color-accent-soft:  #8B949E;
    --color-highlight:    #FF7C33;
    --color-highlight-soft: rgba(255, 124, 51, 0.18);
    --color-highlight-strong: #FF9154;
    --color-accent-olive: #8B949E;
    --color-accent-glow:  rgba(88, 116, 143, 0.2);

    --color-text:         #E6EDF3;
    --color-text-main:    #CDD9E5;
    --color-text-muted:   #8B949E;
    --color-text-dim:     rgba(205, 217, 229, 0.48);

    --color-white:        #E6EDF3;

    --shadow-soft: 0 18px 44px rgba(0, 0, 0, 0.28);
    --shadow-card: 0 24px 60px rgba(0, 0, 0, 0.38);
    --shadow-hero: 0 32px 80px rgba(0, 0, 0, 0.46);
  }
}

/* Explicit dark: user has toggled dark mode regardless of OS preference */
:root[data-theme="dark"] {
  --color-bg:           #0D1117;
  --color-surface:      #161B22;
  --color-surface-2:    #1C2128;
  --color-surface-3:    #21262D;
  --color-border:       rgba(139, 148, 158, 0.14);
  --color-border-strong:rgba(139, 148, 158, 0.28);
  --color-grid:         rgba(139, 148, 158, 0.06);

  --color-accent:       #CDD9E5;
  --color-accent-soft:  #8B949E;
  --color-highlight:    #FF7C33;
  --color-highlight-soft: rgba(255, 124, 51, 0.18);
  --color-highlight-strong: #FF9154;
  --color-accent-olive: #8B949E;
  --color-accent-glow:  rgba(88, 116, 143, 0.2);

  --color-text:         #E6EDF3;
  --color-text-main:    #CDD9E5;
  --color-text-muted:   #8B949E;
  --color-text-dim:     rgba(205, 217, 229, 0.48);

  --color-white:        #E6EDF3;

  --shadow-soft: 0 18px 44px rgba(0, 0, 0, 0.28);
  --shadow-card: 0 24px 60px rgba(0, 0, 0, 0.38);
  --shadow-hero: 0 32px 80px rgba(0, 0, 0, 0.46);
}

/* Explicit light: user has toggled light mode while OS is in dark mode */
@media (prefers-color-scheme: dark) {
  :root[data-theme="light"] {
    --color-bg:           #E8ECF2;
    --color-surface:      #FFFFFF;
    --color-surface-2:    #EEF2F6;
    --color-surface-3:    #E7EDF4;
    --color-border:       rgba(27, 43, 58, 0.12);
    --color-border-strong:rgba(27, 43, 58, 0.22);
    --color-grid:         rgba(42, 64, 86, 0.08);

    --color-accent:       #10263A;
    --color-accent-soft:  #4B647B;
    --color-highlight:    #FF6A1A;
    --color-highlight-soft: rgba(255, 106, 26, 0.14);
    --color-highlight-strong: #FF7C33;
    --color-accent-olive: #6C7785;
    --color-accent-glow:  rgba(122, 152, 182, 0.16);

    --color-text:         #09131D;
    --color-text-main:    #243140;
    --color-text-muted:   #617082;
    --color-text-dim:     rgba(36, 49, 64, 0.54);

    --color-white:        #FFFFFF;

    --shadow-soft: 0 18px 44px rgba(16, 38, 58, 0.06);
    --shadow-card: 0 24px 60px rgba(16, 38, 58, 0.08);
    --shadow-hero: 0 32px 80px rgba(16, 38, 58, 0.14);
  }
}
