/* --- 2. Color Utility Classes --- */

/* --- 2a. Text color utilities (brand) --- */

.text-brand {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-dark-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-darker {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-darker-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-deep {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-deep-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-deepest {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-deepest-rgb), var(--bs-text-opacity)) !important;
}

/* --- 2b. Text color utilities (brand accents) --- */

.text-brand-accent-aqua {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-aqua-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-green {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-green-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-dark-green {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-dark-green-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-black-currant {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-black-currant-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-eggplant {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-eggplant-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-grape {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-grape-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-mulberry {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-mulberry-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-accent-raspberry {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-accent-raspberry-rgb), var(--bs-text-opacity)) !important;
}

/* --- 2c. Text color utilities (brand neutrals) --- */

.text-brand-silk {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-silk-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-frost {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-frost-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-pearl {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-pearl-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-cashmere {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-cashmere-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-moonstone {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-moonstone-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-platinum {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-platinum-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-graphite {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-graphite-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-iron {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-iron-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-steel {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-steel-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-charcoal {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-charcoal-rgb), var(--bs-text-opacity)) !important;
}
.text-brand-obsidian {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-brand-obsidian-rgb), var(--bs-text-opacity)) !important;
}

/* --- 2d. Text color utilities (extended) --- */

.text-severe-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-severe-warning-rgb), var(--bs-text-opacity)) !important;
}

/* --- 2e. Background color utilities (brand) --- */

.bg-brand {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-darker {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-darker-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-deep {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-deep-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-deepest {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-deepest-rgb), var(--bs-bg-opacity)) !important;
}

/* --- 2f. Background color utilities (brand accents) --- */

.bg-brand-accent-aqua {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-aqua-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-green {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-green-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-dark-green {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-dark-green-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-black-currant {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-black-currant-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-eggplant {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-eggplant-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-grape {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-grape-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-mulberry {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-mulberry-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-accent-raspberry {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-accent-raspberry-rgb), var(--bs-bg-opacity)) !important;
}

/* --- 2g. Background color utilities (brand neutrals) --- */

.bg-brand-silk {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-silk-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-frost {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-frost-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-pearl {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-pearl-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-cashmere {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-cashmere-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-moonstone {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-moonstone-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-platinum {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-platinum-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-graphite {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-graphite-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-iron {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-iron-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-steel {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-steel-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-charcoal {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-charcoal-rgb), var(--bs-bg-opacity)) !important;
}
.bg-brand-obsidian {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-brand-obsidian-rgb), var(--bs-bg-opacity)) !important;
}

/* --- 2h. Background color utilities (extended) --- */

.bg-severe-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-severe-warning-rgb), var(--bs-bg-opacity)) !important;
}

/* --- 2h-2. Background opacity (custom extension) --- */

.bg-opacity-5 {
  --bs-bg-opacity: 0.05;
}

/* --- 2i. Extra text color utilities (hardcoded, from colors/_colors.scss) --- */

.text-mlj {
  --bs-text-opacity: 1;
  color: rgba(0, 164, 181, var(--bs-text-opacity)) !important;
}
.text-mlj-dark {
  --bs-text-opacity: 1;
  color: rgba(0, 123, 136, var(--bs-text-opacity)) !important;
}
.text-brand-extra-dark {
  --bs-text-opacity: 1;
  color: rgba(0, 82, 91, var(--bs-text-opacity)) !important;
}
.text-brand-super-dark {
  --bs-text-opacity: 1;
  color: rgba(0, 42, 66, var(--bs-text-opacity)) !important;
}
