/* ==========================================================================
   Lese-Tracking: "Neu"-Badges, Nav-Zähler-Bubbles
   (embedded/core/unread-tracking.js)
   ========================================================================== */

.tva-new-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 2px 0;
  padding: 3px 11px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--membership-cta-text);
  background: var(--membership-cta-bg);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 2px 8px rgba(207, 77, 92, 0.35);
  vertical-align: middle;
  white-space: nowrap;
}

.tva-item--is-new {
  position: relative;
}

/* Badge liegt absolut in der Ecke, damit es Grid-/Flex-Layouts der Karten
   (Agenda-Zeilen, Hinweise-Karten) nicht verschiebt. */
.tva-item--is-new > .tva-new-badge {
  position: absolute;
  top: 6px;
  right: 8px;
  margin: 0;
  z-index: 5;
}

.tva-item--is-new.hinweise-item .hinweise-item-title,
.tva-item--is-new.news-item-compact--termin .agenda-item-title {
  position: relative;
}

/* Nav-Zähler-Bubbles an "Hinweise" / "Terminkalender" (Desktop) und den
   Quick-Tab-Icons im mobilen Header */
.tva-nav-counter {
  position: absolute;
  top: -6px;
  right: -10px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  color: var(--membership-cta-text);
  background: var(--membership-cta-bg);
  box-shadow: 0 2px 6px rgba(29, 47, 62, 0.25);
  pointer-events: none;
  z-index: 30;
}

.site-nav > a,
.site-nav .nav-item-row > .nav-link {
  position: relative;
}

.header-actions .tab-item {
  position: relative;
}

