/* Bayes Pharma unified product identity — BayesGenRx
 * One master logo and component language; teal is the product identifier.
 * Semantic success/warning/error colors intentionally remain independent.
 */
:root {
  --bp-master-navy: #082A4B;
  --bp-master-navy-dark: #061F38;
  --bp-product-accent: #008C87;
  --bp-product-accent-dark: #006B67;
  --bp-product-accent-soft: #E6F5F4;
  --bp-product-accent-faint: #F3FAFA;

  /* Map common historical UI tokens onto the canonical BayesGenRx palette. */
  --brand: var(--bp-product-accent);
  --brand-2: var(--bp-product-accent-dark);
  --brand2: var(--bp-product-accent-dark);
  --primary: var(--bp-product-accent);
  --primary-2: var(--bp-product-accent-dark);
  --accent: var(--bp-product-accent);
  --accent-2: var(--bp-product-accent-dark);
  --accent2: var(--bp-product-accent-dark);
  --accent-soft: var(--bp-product-accent-soft);
}

/* The same Bayes Pharma mark is used on every product. */
img[src*="bp%20logo.png"],
img[src*="bp logo.png"] {
  object-fit: contain;
  object-position: center;
}

.brand img,
.navbar-brand img,
.site-brand img,
.logo img {
  max-height: 46px;
  width: auto;
}

/* Product identity: teal for active/navigation/primary actions, navy for copy. */
.brand-text b,
.brand-text strong,
.product-name,
.navbar .active,
.nav-link.active,
.eyebrow,
.kicker,
.overline {
  color: var(--bp-product-accent-dark);
}

.btn-primary,
.primary-btn,
.cta-primary,
button.primary,
.nav-cta {
  background: linear-gradient(135deg, var(--bp-product-accent), var(--bp-product-accent-dark));
  border-color: var(--bp-product-accent-dark);
}

.btn-primary:hover,
.primary-btn:hover,
.cta-primary:hover,
button.primary:hover,
.nav-cta:hover {
  filter: brightness(.96);
  box-shadow: 0 12px 30px rgba(0, 140, 135, .20);
}

.nav-link:hover,
.navbar a:hover,
.tab.active,
[role="tab"][aria-selected="true"] {
  color: var(--bp-product-accent-dark);
}

.tab.active,
[role="tab"][aria-selected="true"],
.active-indicator,
.progress-active,
.step.active,
.stage.active {
  border-color: var(--bp-product-accent);
}

.hero,
.hero-card,
.product-hero {
  --bp-hero-tint: var(--bp-product-accent-soft);
}

/* Subtle teal identity surfaces — not a wholesale recolor. */
.product-pill,
.brand-pill,
.eyebrow,
.kicker,
.overline,
.badge-brand {
  background-color: var(--bp-product-accent-soft);
  border-color: color-mix(in srgb, var(--bp-product-accent) 24%, transparent);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline-color: var(--bp-product-accent) !important;
}

::selection {
  background: color-mix(in srgb, var(--bp-product-accent) 24%, white);
  color: var(--bp-master-navy-dark);
}

/* Keep semantic states semantically meaningful. */
.success, .status-success, .good { --bp-state-accent: #0E9F6E; }
.warning, .status-warning, .warn { --bp-state-accent: #B7791F; }
.error, .status-error, .danger { --bp-state-accent: #C0392B; }

@media (prefers-color-scheme: dark) {
  :root {
    --bp-product-accent-soft: #0B3735;
    --bp-product-accent-faint: #072826;
  }
}
