/* BDD color schemes: structure and palette values are kept separate.
 * A future client build can map the same roles to its own ACSS palette.
 * ACSS paints buttons from custom --btn-* recipes supplied here. These values
 * override dashboard recipes in the listed schemes. This file also contains
 * custom heading, eyebrow and link rules; Bricks owns section backgrounds.
 * Existing filled recipes and their border widths stay unchanged.
 */

/* Structure: scheme roles feed family-less ACSS outlines. Explicit button
 * color-family recipes keep their own, more-specific ACSS variables. */
:where([class^="bdd-scheme--"], [class*=" bdd-scheme--"]) .btn--outline {
  --btn-background: transparent;
  --btn-background-hover: transparent;
  --btn-border-color: var(--bdd-scheme-outline-border);
  --btn-border-color-hover: var(--bdd-scheme-outline-border);
  --btn-text-color: var(--bdd-scheme-outline-ink);
  --btn-text-color-hover: var(--bdd-scheme-outline-ink);
  --btn-border-width: 1px;
  --focus-color: var(--bdd-scheme-outline-focus);
}

/* Magenta contexts: ACSS consumes the link roles. All scheme painting lives in
 * this file; Bricks scheme classes keep only their background and base text.
 * ACSS paints buttons from the --btn-* variables this file supplies. */
:where(.bdd-scheme--ground-magenta, .bdd-scheme--wash-magenta,
  .bdd-scheme--dark-magenta, .bdd-scheme--light-magenta) {
  --link-color: var(--bdd-scheme-link);
  --link-color-hover: var(--bdd-scheme-link-hover);
}


/* Light-hue filled contexts: ACSS paints these variable recipes.
 * Yellow labels use the existing near-black token, avoiding the old
 * doubled-selector white-label rule that overruled its yellow exception. */
:where(.bdd-scheme--light-blue, .bdd-scheme--light-orange, .bdd-scheme--light-yellow)
  :is(.btn--primary,.btn--neutral):not(.btn--outline):not(.btn--clear) {
  --btn-background: var(--bdd-scheme-hue);
  --btn-background-hover: var(--bdd-scheme-hue-hover);
  --btn-border-color: var(--bdd-scheme-hue);
  --btn-border-color-hover: var(--bdd-scheme-hue-hover);
  --btn-text-color: var(--bdd-scheme-filled-ink);
  --btn-text-color-hover: var(--bdd-scheme-filled-ink);
}

/* Values: existing approved palette roles; no new colors. */
.bdd-scheme--ground-magenta {
  --bdd-scheme-heading: var(--text-light);
  --bdd-scheme-eyebrow: var(--text-light);
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-link: var(--white);
  --bdd-scheme-link-hover: var(--white-trans-80);
  --bdd-section-link-ink: var(--white);
  --bdd-section-link-hover: var(--white-trans-80);
  --bdd-section-link-rule-width: .5px;
  --bdd-scheme-outline-border: var(--white);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--white);
}
.bdd-scheme--ground-blue {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--white);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--white);
}
.bdd-scheme--ground-orange {
 
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-link: var(--neutral-ultra-dark);
  --bdd-scheme-link-hover: var(--neutral-ultra-dark-trans-80);
  --bdd-scheme-outline-border: var(--neutral-ultra-dark);
  --bdd-scheme-outline-ink: var(--neutral-ultra-dark);
  --bdd-scheme-outline-focus: var(--neutral-ultra-dark);
}
.bdd-scheme--ground-yellow {
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--neutral-ultra-dark);
  --bdd-scheme-outline-ink: var(--neutral-ultra-dark);
  --bdd-scheme-outline-focus: var(--neutral-ultra-dark);
}
.bdd-scheme--wash-magenta {
  --bdd-scheme-heading: var(--text-dark);
  --bdd-scheme-eyebrow: var(--primary-semi-dark);
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-link: var(--primary-semi-dark);
  --bdd-scheme-link-hover: var(--primary-hover);
  --bdd-section-link-ink: var(--neutral-ultra-dark);
  --bdd-section-link-hover: var(--neutral-ultra-dark-trans-80);
  --bdd-section-link-rule-width: 1px;
  --bdd-scheme-outline-border: var(--primary-semi-dark);
  --bdd-scheme-outline-ink: var(--primary-semi-dark);
  --bdd-scheme-outline-focus: var(--primary);
}
.bdd-scheme--wash-blue {
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-link: var(--accent-semi-dark);
  --bdd-scheme-outline-border: var(--accent-semi-dark);
  --bdd-scheme-outline-ink: var(--accent-semi-dark);
  --bdd-scheme-outline-focus: var(--accent);
}
.bdd-scheme--wash-orange {
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--tertiary-semi-dark);
  --bdd-scheme-outline-ink: var(--tertiary-semi-dark);
  --bdd-scheme-outline-focus: var(--neutral-ultra-dark);
}
.bdd-scheme--wash-yellow {
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--neutral-ultra-dark);
  --bdd-scheme-outline-ink: var(--neutral-ultra-dark);
  --bdd-scheme-outline-focus: var(--neutral-ultra-dark);
}
.bdd-scheme--dark-magenta {
  --bdd-scheme-heading: var(--text-light);
  --bdd-scheme-eyebrow: var(--text-light);
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-link: var(--primary-semi-light);
  --bdd-scheme-link-hover: var(--primary-light);
  --bdd-section-link-ink: var(--white);
  --bdd-section-link-hover: var(--white-trans-80);
  --bdd-section-link-rule-width: .5px;
  --bdd-scheme-outline-border: var(--primary);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--primary);
}
.bdd-scheme--dark-blue {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--accent-semi-light);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--white);
}
.bdd-scheme--dark-orange {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--tertiary);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--tertiary);
}
.bdd-scheme--dark-yellow {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--secondary);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--secondary);
}
.bdd-scheme--charcoal-magenta {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--primary-light);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--white);
}
.bdd-scheme--charcoal-blue {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--accent-light);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--white);
}
.bdd-scheme--charcoal-orange {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--tertiary-light);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--tertiary);
}
.bdd-scheme--charcoal-yellow {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--secondary-ultra-light);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--secondary);
}
.bdd-scheme--dark-neutral {
  --bdd-scheme-description: var(--text-light);
  --bdd-scheme-outline-border: var(--white);
  --bdd-scheme-outline-ink: var(--white);
  --bdd-scheme-outline-focus: var(--primary);
}
.bdd-scheme--light-neutral {
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--neutral-ultra-dark);
  --bdd-scheme-outline-ink: var(--neutral-ultra-dark);
  --bdd-scheme-outline-focus: var(--primary);
}
.bdd-scheme--light-magenta {
  --bdd-scheme-hue: var(--primary);
  --bdd-scheme-hue-hover: var(--primary-semi-dark);
  --bdd-scheme-cta-ink: var(--primary-semi-dark);
  --bdd-scheme-heading: var(--text-dark);
  --bdd-scheme-eyebrow: var(--text-dark);
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-link: var(--primary-semi-dark);
  --bdd-scheme-link-hover: var(--primary-semi-dark);
  --bdd-section-link-ink: var(--neutral-ultra-dark);
  --bdd-section-link-hover: var(--neutral-ultra-dark-trans-80);
  --bdd-section-link-rule-width: 1px;
  --bdd-scheme-outline-border: var(--primary-semi-dark);
  --bdd-scheme-outline-ink: var(--primary-semi-dark);
  --bdd-scheme-outline-focus: var(--primary);
}
.bdd-scheme--light-blue {
  --bdd-scheme-hue: var(--accent);
  --bdd-scheme-hue-hover: var(--accent-hover);
  --bdd-scheme-link: var(--accent-semi-dark);
  --bdd-scheme-cta-ink: var(--accent-semi-dark);
  --bdd-scheme-filled-ink: var(--white);
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--accent-semi-dark);
  --bdd-scheme-outline-ink: var(--accent-semi-dark);
  --bdd-scheme-outline-focus: var(--accent);
}
.bdd-scheme--light-orange {
  --bdd-scheme-hue: var(--tertiary);
  --bdd-scheme-hue-hover: var(--tertiary-hover);
  --bdd-scheme-link: var(--tertiary-semi-dark);
  --bdd-scheme-cta-ink: var(--tertiary-semi-dark);
  --bdd-scheme-filled-ink: var(--neutral-ultra-dark);
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--tertiary-semi-dark);
  --bdd-scheme-outline-ink: var(--tertiary-semi-dark);
  --bdd-scheme-outline-focus: var(--tertiary);
}
.bdd-scheme--light-yellow {
  --bdd-scheme-hue: var(--secondary);
  --bdd-scheme-hue-hover: var(--secondary-hover);
  --bdd-scheme-link: var(--secondary-dark);
  --bdd-scheme-cta-ink: var(--neutral-ultra-dark);
  --bdd-scheme-filled-ink: var(--neutral-ultra-dark);
  --bdd-scheme-description: var(--text-dark);
  --bdd-scheme-outline-border: var(--neutral-ultra-dark);
  --bdd-scheme-outline-ink: var(--neutral-ultra-dark);
  --bdd-scheme-outline-focus: var(--neutral-ultra-dark);
}

/* On light and wash grounds, text and borders use the -semi-dark shade, never
 * the raw brand hue; brand hues are for fills. Contrast fixes go here, never on
 * elements. */

/* Per-scheme roles and their consumers. */

.bdd-scheme--ground-magenta { --bdd-scheme-primary-bg: var(--white); --bdd-scheme-primary-ink: var(--primary); --bdd-scheme-primary-bg-hover: var(--primary-ultra-light); --bdd-scheme-primary-ink-hover: var(--primary-semi-dark); }
.bdd-scheme--ground-blue { --bdd-scheme-heading: var(--text-light); --bdd-scheme-eyebrow: var(--text-light); --bdd-scheme-primary-bg: var(--white); --bdd-scheme-primary-ink: var(--accent); --bdd-scheme-primary-bg-hover: var(--accent-ultra-light); --bdd-scheme-primary-ink-hover: var(--accent); }
.bdd-scheme--ground-orange { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--text-dark); --bdd-scheme-primary-bg: var(--neutral); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--black); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--ground-yellow { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--text-dark); --bdd-scheme-primary-bg: var(--neutral); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--black); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--wash-blue { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--accent-semi-dark); --bdd-scheme-primary-bg: var(--accent); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--accent-hover); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--wash-orange { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--tertiary-semi-dark); --bdd-scheme-primary-bg: var(--tertiary); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--tertiary-hover); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--wash-yellow { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--text-dark); --bdd-scheme-primary-bg: var(--neutral); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--black); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--dark-yellow { --bdd-scheme-heading: var(--text-light); --bdd-scheme-eyebrow: var(--text-light); --bdd-scheme-primary-bg: var(--secondary); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--secondary-hover); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--dark-blue { --bdd-scheme-heading: var(--text-light); --bdd-scheme-eyebrow: var(--text-light); --bdd-scheme-primary-bg: var(--accent); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--accent-hover); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--dark-orange { --bdd-scheme-heading: var(--text-light); --bdd-scheme-eyebrow: var(--text-light); --bdd-scheme-primary-bg: var(--tertiary); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--tertiary-hover); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--dark-neutral { --bdd-scheme-heading: var(--text-light); --bdd-scheme-eyebrow: var(--text-light); --bdd-scheme-primary-bg: var(--white); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--neutral-light); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--charcoal-yellow { --bdd-scheme-heading: var(--secondary-ultra-light); --bdd-scheme-eyebrow: var(--secondary-ultra-light); --bdd-scheme-primary-bg: var(--secondary-ultra-light); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--secondary); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--charcoal-blue { --bdd-scheme-heading: var(--accent-light); --bdd-scheme-eyebrow: var(--accent-light); --bdd-scheme-primary-bg: var(--accent-light); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--accent); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--charcoal-magenta { --bdd-scheme-heading: var(--primary-light); --bdd-scheme-eyebrow: var(--primary-light); --bdd-scheme-primary-bg: var(--primary-light); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--primary); --bdd-scheme-primary-ink-hover: var(--white); }
.bdd-scheme--charcoal-orange { --bdd-scheme-heading: var(--tertiary-light); --bdd-scheme-eyebrow: var(--tertiary-light); --bdd-scheme-primary-bg: var(--tertiary-light); --bdd-scheme-primary-ink: var(--neutral-ultra-dark); --bdd-scheme-primary-bg-hover: var(--tertiary); --bdd-scheme-primary-ink-hover: var(--neutral-ultra-dark); }
.bdd-scheme--light-neutral { --bdd-scheme-heading: var(--text-dark); --bdd-scheme-eyebrow: var(--text-dark); --bdd-scheme-primary-bg: var(--neutral); --bdd-scheme-primary-ink: var(--white); --bdd-scheme-primary-bg-hover: var(--black); --bdd-scheme-primary-ink-hover: var(--white); }

/* Consumers: headings, taglines/eyebrows and links (all migrated schemes but ground-magenta). */
:is(.bdd-scheme--ground-blue, .bdd-scheme--ground-orange, .bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) :is(h1,h2,h3,h4,h5,h6,.brxe-heading) { color: var(--bdd-scheme-heading); }
:is(.bdd-scheme--ground-blue, .bdd-scheme--ground-orange, .bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) :is([class*="__tagline"], [class*="eyebrow"]) { color: var(--bdd-scheme-eyebrow); }
:is(.bdd-scheme--ground-blue, .bdd-scheme--ground-orange, .bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) a:not(.brxe-button):not(.is-active) { color: var(--bdd-scheme-link); }
:is(.bdd-scheme--ground-blue, .bdd-scheme--ground-orange, .bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) a:not(.brxe-button):not(.is-active):is(:hover, :focus-visible) { color: var(--bdd-scheme-link-hover, var(--link-color-hover)); }

/* Filled primary buttons: supply ACSS's button variables; ACSS paints. Outline and
 * clear buttons are excluded. Supported ACSS variable styling, not dashboard values. */
:is(.bdd-scheme--ground-magenta, .bdd-scheme--ground-blue, .bdd-scheme--ground-orange, .bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) .brxe-button.btn--primary:not(.btn--outline):not(.btn--clear) { --btn-background: var(--bdd-scheme-primary-bg); --btn-border-color: var(--bdd-scheme-primary-bg); --btn-text-color: var(--bdd-scheme-primary-ink); --btn-background-hover: var(--bdd-scheme-primary-bg-hover); --btn-border-color-hover: var(--bdd-scheme-primary-bg-hover); --btn-text-color-hover: var(--bdd-scheme-primary-ink-hover); }

/* Outline buttons: supply ACSS's button variables; ACSS paints. The .85 hover opacity
 * is kept as before. */
:is(.bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) .brxe-button.btn--outline:not(.btn--clear) { --btn-background: transparent; --btn-background-hover: transparent; --btn-border-width: 1px; --btn-border-color: var(--bdd-scheme-outline-border); --btn-border-color-hover: var(--bdd-scheme-outline-border); --btn-text-color: var(--bdd-scheme-outline-ink); --btn-text-color-hover: var(--bdd-scheme-outline-ink); }
:is(.bdd-scheme--ground-yellow, .bdd-scheme--wash-blue, .bdd-scheme--wash-orange, .bdd-scheme--wash-yellow, .bdd-scheme--dark-yellow, .bdd-scheme--dark-blue, .bdd-scheme--dark-orange, .bdd-scheme--dark-neutral, .bdd-scheme--charcoal-yellow, .bdd-scheme--charcoal-blue, .bdd-scheme--charcoal-magenta, .bdd-scheme--charcoal-orange, .bdd-scheme--light-neutral):is([class*="bdd-scheme--"]) .brxe-button.btn--outline:not(.btn--clear):hover { opacity: .85; }
