/* ── Publisher / Author Profile ── */

.publisher-hero {
  background: linear-gradient(
    135deg,
    var(--color-primary) 0%,
    var(--color-primary-dark) 100%
  );
  color: var(--color-on-primary);
}

.publisher-hero .publisher-name {
  color: var(--color-on-primary);
}

.publisher-hero .publisher-bio {
  color: color-mix(in srgb, var(--color-on-primary) 85%, transparent);
  max-width: 60ch;
}

.publisher-hero .publisher-social {
  filter: brightness(0) invert(1) opacity(0.92);
}

/* ── Stats bar ── */

.publisher-stats {
  border-bottom: 1px solid var(--color-border-light);
}

.stat-num {
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--color-primary);
}

/* ── Category filter chips ── */

.cat-chip {
  display: inline-block;
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  color: var(--color-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast),
    border-color var(--transition-fast);
  white-space: nowrap;
  font-size: var(--text-sm);
}

.cat-chip:hover {
  background: var(--color-bg-alt);
  border-color: var(--color-border);
}

.cat-chip.active {
  background: var(--color-primary);
  color: var(--color-on-primary);
  border-color: var(--color-primary);
}

/* ── Article card category badge (absolute) ── */

.cat-badge {
  position: absolute;
  top: var(--space-3);
  inset-inline-start: var(--space-3);
  background: color-mix(in srgb, var(--color-primary) 92%, transparent);
  color: var(--color-on-primary);
  padding: var(--space-1) var(--space-2);
  font-size: var(--text-xs);
  border-radius: var(--radius-sm);
  z-index: 2;
}

/* ── Article card title ── */

.publisher-article-title {
  color: var(--color-primary);
  line-height: var(--leading-normal);
}

/* ── Pagination overrides (Bootstrap integration) ── */

.pagination .page-item.active .page-link {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.pagination .page-link {
  color: var(--color-primary);
}

.pagination .page-link:hover {
  color: var(--color-primary-dark);
}

/* ── Empty state link ── */

.publisher-empty-link {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.publisher-empty-link:hover {
  color: var(--color-primary-dark);
}
