/* Portal brand: black primary (replaces default Bootstrap / Spark blue). */

:root,
[data-bs-theme="light"] {
  --bs-primary: #111111;
  --bs-primary-rgb: 17, 17, 17;
  --bs-primary-bg-subtle: #ececec;
  --bs-primary-border-subtle: #bdbdbd;
  --bs-primary-text-emphasis: #0a0a0a;
  --bs-link-color: #111111;
  --bs-link-hover-color: #000000;
  --bs-dark: #111111;
  --bs-dark-rgb: 17, 17, 17;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #111111;
  --bs-btn-border-color: #111111;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #000000;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 17, 17, 17;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #000000;
  --bs-btn-active-border-color: #000000;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #111111;
  --bs-btn-disabled-border-color: #111111;
}

.btn-outline-primary {
  --bs-btn-color: #111111;
  --bs-btn-border-color: #111111;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #111111;
  --bs-btn-hover-border-color: #111111;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #111111;
  --bs-btn-active-border-color: #111111;
}

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

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

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.badge.bg-primary {
  background-color: #111111 !important;
}

.badge.text-primary {
  color: #111111 !important;
}

/* Admin Spark theme: sidebar band and nav chrome */
.wrapper::before {
  background: #111111 !important;
}

.sidebar,
.sidebar-brand {
  background-color: #111111 !important;
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

.sidebar-brand-logo {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  flex-shrink: 0;
}

#admin-sidebar-menu .sidebar-item.active > .sidebar-link,
#admin-sidebar-menu .sidebar-item .sidebar-link.active,
#admin-sidebar-menu .sidebar-item a.sidebar-link.active,
#admin-sidebar-menu .sidebar-item a.sidebar-link:focus-visible {
  color: #111111 !important;
}

/* Public site header */
.navbar.navbar-portal-header {
  background: #111111 !important;
  background-color: #111111 !important;
}

.navbar.navbar-portal-header .dropdown-menu {
  --bs-dropdown-bg: #111111;
  background-color: #111111;
}

.navbar-brand-logo {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
  flex-shrink: 0;
}

.navbar-brand-home {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.navbar-brand-logo-home {
  width: auto;
  height: 150px;
  max-width: 300px;
  object-fit: contain;
}

.home-page-hero {
  margin: 0;
  line-height: 0;
}

.home-page-hero__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Inline hero icons that still hard-code Spark blue */
.em-dash-glance-icon,
.reg-field-glance-icon,
.content-glance-icon,
.admin-content-glance-icon {
  background-color: var(--bs-primary) !important;
}
