/**
 * Design-system token adapter (design-system adoption, pilot).
 *
 * The admin colour settings (Appearance > Theme colours, written to colors.css as :root variables such as
 * --primary_color) stay the single source of truth for colours on this site. This file points the design
 * system's semantic tokens (--vs-*, defined in vs-tokens.css) at those variables, so a colour change in the
 * admin panel reaches every design-system rule. The design system must not know these variable names.
 *
 * Load order: colors.css -> app.css -> vs-tokens.css -> THIS FILE -> vs-components.css -> vs-primitives.css.
 * Rules: no colour literal, and deliberately NO fallback value in var(): if a theme update renames or removes
 * a source variable the colour must visibly break (and tests/Unit/Theme/VsPrimitivesCssTest.php fails), not
 * silently fall back to the design system's default green.
 *
 * Not mapped (not used by anything on this site yet): the hover/pressed shades and tints of the primary
 * button (--vs-button-primary-hover, -pressed, tertiary tints). The theme's own button rules do not use them.
 */
:root {
    --vs-color-brand-primary: var(--primary_color);
    --vs-color-brand-secondary: var(--secondary_color);
    --vs-color-background: var(--background_color);
    --vs-color-text-heading: var(--heading_color);
    --vs-color-text-body: var(--text_color);
    --vs-color-text-muted: var(--text_muted);
    --vs-color-border: var(--border_color);
    /* Same choice as vs-a11y.css: dark text (--text_color) on the brand green, not white (2.78:1). */
    --vs-color-text-on-primary: var(--text_color);
    --vs-color-badge-trending: var(--trending_item_badge_color);
    --vs-color-badge-sale: var(--sale_item_badge_color);
    --vs-color-badge-free: var(--free_item_badge_color);
    /* The site font is self-hosted Poppins with a metric-matched fallback (vs-fonts.css). */
    --vs-font-family: Poppins, "Poppins Fallback", Arial, sans-serif;
}
