/* Ported from Code Snippets: "JD: Design tokens" (id 34), pulled fresh from production 2026-08-24. */

/* ======================================================================
   JD: Design tokens - Route A, "Modern Archive"
   ----------------------------------------------------------------------
   RULE: no other JD snippet may contain a literal colour. If a value is
   not here, add it here first. The palette drifted the first time round
   precisely because each snippet carried its own hex codes - border grey
   alone existed in four different values, and the warm greys of the
   mockup had been replaced with cool slate ones.

   Mirrors the 12 JD * custom colours added to the Elementor Global Kit
   (kit 109) on 2026-08-04.

   Phase 6 (2026-08-24): the kit's SYSTEM slots (primary/secondary/text/
   accent - ~1,062 live bindings across the unconverted legacy documents)
   were deliberately repointed to match these tokens exactly, so a legacy
   document and a converted one now render the same palette either way:
     --jd-navy       #1a3352  <-> Kit "Primary"   #1A3352
     --jd-navy-dark  #12253c  <-> Kit "Secondary" #12253C
     --jd-text       #2b2b28  <-> Kit "Text"      #2B2B28
     --jd-accent     #e0822f  <-> Kit "Accent"    #E0822F
   The 12 JD * custom swatches themselves were left untouched, as always -
   only the 4 SYSTEM slots were repointed. See CHANGELOG.md for the full
   Phase 6 mapping (colours + typography) and the Kit has no equivalent
   place to leave this note itself, hence recording it here and there.
   ====================================================================== */
:root{
  /* Brand */
  --jd-navy:#1a3352;
  --jd-navy-dark:#12253c;
  /* Muted variant (added 2026-08-25) - a desaturated, lighter navy for spots
     where the full-strength --jd-navy reads with too much visual weight
     next to something softer (e.g. a solid initials badge sitting beside
     grayscale photo avatars of the identical pixel size - the badge's flat
     saturated fill was making it look larger than the photo circle purely
     from contrast, an optical illusion, not an actual size difference).
     First consumer: .jd-analyst-avatar--initials in cpt/analyst/analyst.css. */
  --jd-navy-muted:#557296;
  --jd-accent:#e0822f;
  --jd-accent-soft:#fbe9d8;

  /* Status */
  --jd-success:#1f8f7a;
  --jd-success-soft:#e1f3ef;
  --jd-caution:#c08a1f;
  --jd-caution-soft:#faf1dd;

  /* Surfaces */
  --jd-ground:#f6f5f2;
  --jd-surface:#ffffff;
  --jd-tint:#eef2f6;
  --jd-tint-deep:#e6ecf1;

  /* Rules - WARM. Replaces #e5e5e5 / #e6e6e6 / #efefef / #f0f0f0 */
  --jd-rule:#e6e2da;
  --jd-rule-soft:#f0ede6;

  /* Text - WARM. Replaces #1f2937 / #333333 / #6b7280 / #8a8a8a / #777 / #666 */
  --jd-text:#2b2b28;
  --jd-text-muted:#6b6b64;
  --jd-text-invert:#ffffff;

  /* On-navy (added 2026-08-05, footer) - text/rule tints for dark-surface
     components. First consumer is the footer; reuse rather than re-deriving
     rgba(255,255,255,...) values in a component snippet. */
  --jd-on-navy:#ffffff;
  --jd-on-navy-muted:rgba(255,255,255,.62);
  --jd-on-navy-faint:rgba(255,255,255,.34);
  --jd-on-navy-rule:rgba(255,255,255,.14);

  /* Type - four roles, mirroring Elementor's own Global Fonts (Primary/
     Secondary Headline, Body Text, Accent Text). Each reads the Kit's
     value first so a change in Site Settings -> Global Fonts updates both
     systems at once; the literal fallback only renders if that Kit
     variable is ever absent. Added 2026-08-26, replacing the single
     --jd-font token (which put headings and body on one face) and the
     reserved --jd-font-serif accent slot (Libre Baskerville - unused by
     Elementor's own Accent Text, which had drifted to EB Garamond italic).
     See claude/tokens-font-roles-20260826.md for the full consumer list. */
  --jd-font-heading:var(--e-global-typography-primary-font-family,'Libre Baskerville',Georgia,serif);
  --jd-font-heading-secondary:var(--e-global-typography-secondary-font-family,'Libre Baskerville',Georgia,serif);
  --jd-font-text:var(--e-global-typography-text-font-family,'EB Garamond',Georgia,serif);
  --jd-font-accent:var(--e-global-typography-accent-font-family,'Fraunces',Georgia,serif);
  --jd-fs-h1:25px;
  --jd-fs-label:13px;
  --jd-fs-h3:14.5px;
  --jd-fs-body:14.5px;
  --jd-fs-meta:12.5px;
  --jd-fs-micro:11.5px;
  --jd-ls-label:.09em;
  --jd-lh:1.55;

  /* Geometry */
  --jd-r-lg:10px;
  --jd-r-md:8px;
  --jd-r-sm:6px;
  --jd-r-pill:999px;
  --jd-pad:22px;
  --jd-pad-lg:28px;
  --jd-gap:24px;
  --jd-gap-sm:12px;
  --jd-rail:336px;
  --jd-max:1180px;
}
