/* ==========================================================================
   Tier 3 — Bootstrap color variable overrides
   Maps this site's brand primitives (_brand-tokens.css) onto the
   Bootstrap custom properties utility classes read at runtime
   (.text-*, .bg-*, .border-*, .badge). Components that bake computed
   shade/tint values in at compile time (.btn-*, .alert-*) are
   reproduced here with color-mix() so they stay in sync automatically.

   Only --bs-primary and --bs-secondary are mapped — the brand palette
   has no equivalents for success/info/warning/danger/light/dark, so
   those keep Bootstrap's stock colors.
   ========================================================================== */

:root {
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: 10, 92, 168; /* rgb of --brand-primary (#0a5ca8) */
  --bs-secondary: var(--brand-secondary);
  --bs-secondary-rgb: 0, 36, 62; /* rgb of --brand-secondary (#00243e) */
}

/* --- Buttons: dark background, white text (shade on hover/active) --- */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 80%, black);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary) 80%, black);
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary) 75%, black);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-secondary) 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-secondary) 80%, black);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: color-mix(in srgb, var(--bs-secondary) 80%, black);
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-secondary) 75%, black);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-secondary);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
}

/* --- Outline buttons --- */
.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-disabled-color: var(--bs-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

.btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: var(--bs-secondary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary);
  --bs-btn-active-border-color: var(--bs-secondary);
  --bs-btn-disabled-color: var(--bs-secondary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-secondary);
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
}

/* --- Alerts --- */
.alert-primary {
  --bs-alert-color: #000;
  --bs-alert-bg: color-mix(in srgb, var(--bs-primary) 20%, white);
  --bs-alert-border-color: color-mix(in srgb, var(--bs-primary) 30%, white);
  --bs-alert-link-color: #000;
}

.alert-secondary {
  --bs-alert-color: #000;
  --bs-alert-bg: color-mix(in srgb, var(--bs-secondary) 20%, white);
  --bs-alert-border-color: color-mix(in srgb, var(--bs-secondary) 30%, white);
  --bs-alert-link-color: #000;
}

/* --- Badge --- */
.badge {
  --bs-badge-color: var(--bs-primary);
}
