/*
 * Design tokens. Loaded first; every other plugin stylesheet reads from here and should not
 * reference a `--cf-*` / `--bbg-*` theme variable directly.
 *
 * Each token is `var(--theme-token, <fallback>)`. When the Bricks child theme is present its
 * value wins, exactly as before. When it isn't — a different theme, the block editor, an admin
 * preview — the fallback keeps the board legible instead of collapsing to `unset`. The fallbacks
 * are the real values the theme ships today, so nothing changes on the live site.
 *
 * Naming: `ink` is the near-black text colour and its alpha steps; `surface` is the card/field
 * grey; `brand-*` are the two logo colours the icons are drawn in.
 */

:root {
    /* ---- brand ---- */
    --pjb-brand-blue: var(--cf-tertiary-01, hsla(197, 100%, 35%, 1));
    --pjb-brand-coral: var(--cf-accent, hsla(6, 99%, 68%, 1));
    --pjb-navy: var(--cf-secondary, hsla(212, 64%, 21%, 1)); /* headings */
    --pjb-white: var(--cf-white, hsla(0, 0%, 100%, 1));

    /* ---- ink (near-black + alpha steps the theme exposes) ---- */
    --pjb-ink: var(--cf-primary, hsla(232, 28%, 10%, 1));
    --pjb-ink-90: var(--cf-primary-90, hsla(232, 28%, 10%, 0.9));
    --pjb-ink-80: var(--cf-primary-80, hsla(232, 28%, 10%, 0.8));
    --pjb-ink-70: var(--cf-primary-70, hsla(232, 28%, 10%, 0.7));
    --pjb-ink-60: var(--cf-primary-60, hsla(232, 28%, 10%, 0.6));
    --pjb-ink-50: var(--cf-primary-50, hsla(232, 28%, 10%, 0.5));
    --pjb-ink-10: var(--cf-primary-10, hsla(232, 28%, 10%, 0.1));

    /* ---- surfaces + lines ---- */
    --pjb-surface: var(--cf-bg-body-l-3, hsla(0, 0%, 95%, 1)); /* cards, form fields */
    --pjb-surface-alt: var(--cf-neutral-02, hsla(0, 0%, 92%, 1)); /* modal close button */
    --pjb-line: var(--cf-bg-body-d-1, hsla(0, 0%, 81%, 1));

    /* ---- type scale (fluid; mirrors the theme's clamps) ---- */
    --pjb-text-xxs: var(--cf-text-xxs, clamp(1.2rem, calc(0.09vw + 1.17rem), 1.3rem));
    --pjb-text-xs: var(--cf-text-xs, clamp(1.4rem, calc(0.09vw + 1.37rem), 1.5rem));
    --pjb-text-s: var(--cf-text-s, clamp(1.5rem, calc(0.19vw + 1.44rem), 1.7rem));
    --pjb-text-m: var(--cf-text-m, clamp(1.6rem, calc(0.19vw + 1.54rem), 1.8rem));
    --pjb-text-l: var(--cf-text-l, clamp(1.8rem, calc(0.37vw + 1.68rem), 2.2rem));

    /* ---- layout ---- */
    --pjb-stage-padding: var(--bbg-stage-padding, clamp(3rem, 6vw, 6rem));
    --pjb-maxwidth: var(--bbg-maxwidth-l, calc(1400px + var(--pjb-stage-padding) * 2));
    --pjb-space-s: var(--cf-space-s, clamp(1.28rem, calc(0.65vw + 1.07rem), 1.98rem));

    /* ---- icons (consumed by prime-jobs-icons.css) ---- */
    --pjb-icon-blue: #007fb0;
    --pjb-icon-coral: #fe6b5b;
    --pjb-icon-mono: var(--pjb-brand-blue);
}
