/* ═══════════════════════════════════════════════════════════════
   Flex palettes — colour tokens only (--fx-*)
   ─────────────────────────────────────────────────────────────
   Phase 1 reuses the 8 Trade family palettes. The hex values MIRROR
   static/css/themes-services.css; flex/tests.py fails if they drift.
   Fonts, shapes and rhythm come from the frame stylesheet, never here.
   ═══════════════════════════════════════════════════════════════ */

:root,
[data-theme="heritage"]  { --fx-accent:#1f3a63; --fx-accent-dk:#15294a; --fx-accent-soft:#e6ecf5; --fx-bg:#f5f3ee; --fx-surface:#ffffff; --fx-surface-2:#ebe6da; --fx-ink:#0e1624; --fx-ink-dim:#4a5566; --fx-muted:#8a8f98; --fx-rule:#d8d2c4; --fx-alt:#c04a2b; --fx-on-accent:#ffffff; }
[data-theme="safety"]    { --fx-accent:#d62828; --fx-accent-dk:#9f1d1d; --fx-accent-soft:#fde4e4; --fx-bg:#f4f1eb; --fx-surface:#ffffff; --fx-surface-2:#ebe5d7; --fx-ink:#0a0a0a; --fx-ink-dim:#3c3a36; --fx-muted:#8a867c; --fx-rule:#d8d0bd; --fx-alt:#111111; --fx-on-accent:#ffffff; }
[data-theme="shopfloor"] { --fx-accent:#f2c029; --fx-accent-dk:#c99a14; --fx-accent-soft:#2a2a2a; --fx-bg:#1a1a1a; --fx-surface:#242424; --fx-surface-2:#2e2e2e; --fx-ink:#f2f0eb; --fx-ink-dim:#a8a49c; --fx-muted:#6a665e; --fx-rule:#3a3a3a; --fx-alt:#f2c029; --fx-on-accent:#1a1a1a; }
[data-theme="blueprint"] { --fx-accent:#0a73a6; --fx-accent-dk:#06557a; --fx-accent-soft:#dbeef7; --fx-bg:#f3f4ec; --fx-surface:#ffffff; --fx-surface-2:#e5e8d9; --fx-ink:#0c1b26; --fx-ink-dim:#456072; --fx-muted:#8a9098; --fx-rule:#c6cdb8; --fx-alt:#e85d1f; --fx-on-accent:#ffffff; }
[data-theme="copper"]    { --fx-accent:#b85a27; --fx-accent-dk:#8c4219; --fx-accent-soft:#f6e7d8; --fx-bg:#f5f1ea; --fx-surface:#ffffff; --fx-surface-2:#ebe3d4; --fx-ink:#241c16; --fx-ink-dim:#5a4e42; --fx-muted:#8c8174; --fx-rule:#d9cdb7; --fx-alt:#375163; --fx-on-accent:#ffffff; }
[data-theme="forest"]    { --fx-accent:#2d5a3d; --fx-accent-dk:#1e4029; --fx-accent-soft:#dce8df; --fx-bg:#f2f1ea; --fx-surface:#ffffff; --fx-surface-2:#e4e7dc; --fx-ink:#152019; --fx-ink-dim:#4a5850; --fx-muted:#868f84; --fx-rule:#cfd4c4; --fx-alt:#c89a3a; --fx-on-accent:#ffffff; }
[data-theme="garage"]    { --fx-accent:#e63946; --fx-accent-dk:#b82a36; --fx-accent-soft:#fde4e6; --fx-bg:#fafaf9; --fx-surface:#ffffff; --fx-surface-2:#f0efed; --fx-ink:#101213; --fx-ink-dim:#4a4d52; --fx-muted:#8a8d92; --fx-rule:#e0ded9; --fx-alt:#101213; --fx-on-accent:#ffffff; }
[data-theme="midnight"]  { --fx-accent:#f25c05; --fx-accent-dk:#c14400; --fx-accent-soft:#2a1f17; --fx-bg:#0d1117; --fx-surface:#161c24; --fx-surface-2:#1f2832; --fx-ink:#ecedef; --fx-ink-dim:#9aa3af; --fx-muted:#5d6673; --fx-rule:#28313c; --fx-alt:#3fb68b; --fx-on-accent:#0d1117; }

/* Button colours default to the accent. Where white text on the accent falls
   below WCAG AA (4.5:1) the button uses the darker shade instead. */
:root { --fx-button: var(--fx-accent); --fx-button-hover: var(--fx-accent-dk); --fx-on-button: var(--fx-on-accent); }
[data-theme="garage"] { --fx-button: #b82a36; --fx-button-hover: #9a2230; }
