/* Maps the brand.css tokens onto Bootstrap 5.3. Bootstrap's compiled CSS hard-codes
   its blue in component variables, so each primary-coloured component is re-pointed
   here. Shared by every client — change colours in brand.css, not here. */
:root, [data-bs-theme] {
  --bs-primary: var(--brand);
  --bs-primary-rgb: var(--brand-rgb);
  --bs-primary-text-emphasis: var(--brand-text-emphasis);
  --bs-primary-bg-subtle: var(--brand-bg-subtle);
  --bs-primary-border-subtle: var(--brand-border-subtle);
  --bs-link-color: var(--brand-text);
  --bs-link-color-rgb: var(--brand-text-rgb);
  --bs-link-hover-color: var(--brand-text-hover);
  --bs-link-hover-color-rgb: var(--brand-text-hover-rgb);
  --bs-focus-ring-color: rgba(var(--brand-rgb), .25);
}

.text-primary {
  color: RGBA(var(--brand-text-rgb), var(--bs-text-opacity, 1)) !important;
}

.text-bg-primary {
  color: var(--brand-on) !important;
  background-color: RGBA(var(--brand-rgb), var(--bs-bg-opacity, 1)) !important;
}

.btn-primary {
  --bs-btn-color: var(--brand-on);
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-color: var(--brand-on);
  --bs-btn-hover-bg: var(--brand-hover);
  --bs-btn-hover-border-color: var(--brand-hover);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
  --bs-btn-active-color: var(--brand-on);
  --bs-btn-active-bg: var(--brand-active);
  --bs-btn-active-border-color: var(--brand-active);
  --bs-btn-disabled-color: var(--brand-on);
  --bs-btn-disabled-bg: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
}

.btn-outline-primary {
  --bs-btn-color: var(--brand-text);
  --bs-btn-border-color: var(--brand-text);
  --bs-btn-hover-color: var(--brand-on);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
  --bs-btn-active-color: var(--brand-on);
  --bs-btn-active-bg: var(--brand-active);
  --bs-btn-active-border-color: var(--brand-active);
  --bs-btn-disabled-color: var(--brand-text);
  --bs-btn-disabled-border-color: var(--brand-text);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--brand-focus-border);
  box-shadow: 0 0 0 .25rem rgba(var(--brand-rgb), .25);
}

.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--brand);
  border-color: var(--brand);
}

.dropdown-menu {
  --bs-dropdown-link-active-color: var(--brand-on);
  --bs-dropdown-link-active-bg: var(--brand);
}

.nav-pills {
  --bs-nav-pills-link-active-color: var(--brand-on);
  --bs-nav-pills-link-active-bg: var(--brand);
}

.pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--brand-rgb), .25);
  --bs-pagination-active-color: var(--brand-on);
  --bs-pagination-active-bg: var(--brand);
  --bs-pagination-active-border-color: var(--brand);
}

.list-group {
  --bs-list-group-active-color: var(--brand-on);
  --bs-list-group-active-bg: var(--brand);
  --bs-list-group-active-border-color: var(--brand);
}

.progress,
.progress-stacked {
  --bs-progress-bar-bg: var(--brand);
}
