
/* ==========================================================================
   NOVARIC® Related Documents — Tabbed Module
   Token: ***
   Component: nv-gov-related-tabs
   ========================================================================== */

/* ── Section wrapper ─────────────────────────────────────────────────────── */
.nv-gov-related-tabs {
  margin-top: var(--nv-sp-5, 3rem);
  padding-top: var(--nv-sp-4, 2rem);
  border-top: 2px solid var(--nv-border, #D9DFE7);
}
.nv-gov-related-tabs__eyebrow {
  font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--nv-cat-accent, var(--nv-action, #0072A9));
  margin: 0 0 .35rem;
}
.nv-gov-related-tabs__heading {
  font-size: clamp(1.2rem, 2.5vw, 1.55rem); font-weight: 700;
  color: var(--nv-navy, #30384B); margin: 0 0 .4rem;
}
.nv-gov-related-tabs__lead {
  font-size: .9rem; color: var(--nv-text-muted, #4D5A6B);
  margin: 0 0 var(--nv-sp-2, 1rem);
}

/* ── Tab list ────────────────────────────────────────────────────────────── */
.nv-gov-related-tabs__tablist {
  display: flex; gap: .35rem; flex-wrap: nowrap;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  border-bottom: 2px solid var(--nv-border, #D9DFE7);
  margin-bottom: var(--nv-sp-2, 1rem);
  scrollbar-width: none;
}
.nv-gov-related-tabs__tablist::-webkit-scrollbar { display: none; }

/* ── Individual tab button ───────────────────────────────────────────────── */
.nv-gov-related-tabs__tab {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .55rem .9rem; border: none; border-bottom: 2px solid transparent;
  margin-bottom: -2px; /* overlap the tablist border */
  background: none; cursor: pointer; white-space: nowrap;
  font-size: .82rem; font-weight: 600;
  color: var(--nv-text-muted, #4D5A6B);
  border-radius: 4px 4px 0 0;
  transition: color .15s, border-color .15s, background .15s;
}
.nv-gov-related-tabs__tab:hover {
  color: var(--nv-navy, #30384B);
  background: var(--nv-surface, #F4F6F8);
}
.nv-gov-related-tabs__tab[aria-selected="true"] {
  color: var(--nv-cat-accent, var(--nv-navy, #30384B));
  border-bottom-color: var(--nv-cat-accent, var(--nv-navy, #30384B));
  background: #fff;
}
.nv-gov-related-tabs__tab:focus-visible {
  outline: 3px solid var(--nv-focus, #0072A9); outline-offset: 2px;
}
/* Count badge on tab */
.nv-gov-related-tabs__tab-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 .3rem;
  border-radius: 999px; font-size: .68rem; font-weight: 700;
  background: var(--nv-surface, #F4F6F8);
  color: var(--nv-text-muted, #4D5A6B);
}
.nv-gov-related-tabs__tab[aria-selected="true"] .nv-gov-related-tabs__tab-count {
  background: var(--nv-cat-accent, var(--nv-navy, #30384B));
  color: #fff;
}

/* ── Tab panel ───────────────────────────────────────────────────────────── */
.nv-gov-related-tabs__panel {
  /* Visible by default (no-JS); JS will hide inactive panels */
}
.nv-gov-related-tabs__panel[hidden] {
  display: none;
}
/* No-JS: show group heading */
.nv-gov-related-tabs__panel-heading {
  font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--nv-text-muted, #4D5A6B);
  margin: var(--nv-sp-2, 1rem) 0 .75rem;
  padding-bottom: .35rem;
  border-bottom: 1px solid var(--nv-border, #D9DFE7);
}
/* Hide headings when JS is active (tabs provide the label) */
.js-tabs-active .nv-gov-related-tabs__panel-heading { display: none; }

/* ── Card grid ───────────────────────────────────────────────────────────── */
.nv-gov-related-tabs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--nv-sp-2, 1rem);
}

/* ── Document card ───────────────────────────────────────────────────────── */
.nv-gov-rel-card {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--nv-border, #D9DFE7);
  border-radius: 6px; overflow: hidden;
  transition: box-shadow .15s, border-color .15s;
  text-decoration: none; color: inherit;
}
.nv-gov-rel-card:hover {
  border-color: var(--nv-cat-accent, var(--nv-action, #0072A9));
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.nv-gov-rel-card:focus-visible {
  outline: 3px solid var(--nv-focus, #0072A9); outline-offset: 2px;
}
/* Category stripe */
.nv-gov-rel-card__stripe {
  height: 3px;
  background: var(--card-cat-accent, var(--nv-border, #D9DFE7));
}
.nv-gov-rel-card__body {
  flex: 1; padding: .85rem var(--nv-sp-2, 1rem) .6rem;
}
.nv-gov-rel-card__meta {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  margin-bottom: .35rem;
}
.nv-gov-rel-card__cat {
  display: inline-flex; align-items: center; gap: .25rem;
  font-size: .65rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--card-cat-accent, var(--nv-text-muted, #4D5A6B));
}
.nv-gov-rel-card__cat::before {
  content: '';
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--card-cat-accent, var(--nv-border, #D9DFE7));
  flex-shrink: 0;
}
.nv-gov-rel-card__type {
  font-size: .65rem; color: var(--nv-text-muted, #4D5A6B);
  font-weight: 600; letter-spacing: .04em;
}
.nv-gov-rel-card__id {
  font-size: .62rem; color: var(--nv-text-muted, #4D5A6B);
  font-family: ui-monospace, 'Cascadia Code', monospace;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nv-gov-rel-card__title {
  font-size: .92rem; font-weight: 700;
  color: var(--nv-navy, #30384B); margin: 0 0 .35rem;
  line-height: 1.35;
}
.nv-gov-rel-card__summary {
  font-size: .82rem; color: var(--nv-text-muted, #4D5A6B);
  line-height: 1.55; margin: 0;
}
/* Cross-listed indicator */
.nv-gov-rel-card__cross {
  display: inline-flex; align-items: center; gap: .25rem;
  font-size: .62rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; padding: .15rem .5rem;
  border-radius: 2px;
  background: rgba(11,107,115,.10);
  color: #0B6B73;
  border: 1px solid rgba(11,107,115,.30);
  margin-top: .35rem; align-self: flex-start;
}
.nv-gov-rel-card__footer {
  padding: .5rem var(--nv-sp-2, 1rem) .7rem;
  border-top: 1px solid var(--nv-border, #D9DFE7);
  display: flex; align-items: center; justify-content: space-between;
  background: var(--nv-surface, #F4F6F8);
}
.nv-gov-rel-card__action {
  font-size: .78rem; font-weight: 700;
  color: var(--nv-action, #0072A9);
  text-decoration: none; display: flex; align-items: center; gap: .3rem;
}
.nv-gov-rel-card__action::after { content: ' \2192'; }
.nv-gov-rel-card__hubref {
  font-size: .65rem; color: var(--nv-text-muted, #4D5A6B);
  font-family: ui-monospace, monospace;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .nv-gov-related-tabs__grid {
    grid-template-columns: 1fr;
  }
  .nv-gov-related-tabs__tab {
    padding: .5rem .7rem;
    font-size: .78rem;
  }
}

/* ── Print ───────────────────────────────────────────────────────────────── */
@media print {
  .nv-gov-related-tabs__tablist { display: none; }
  .nv-gov-related-tabs__panel { display: block !important; }
  .nv-gov-related-tabs__panel-heading { display: block !important; }
  .nv-gov-rel-card { break-inside: avoid; margin-bottom: .5rem; }
}

/* ── Reduced motion ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .nv-gov-rel-card,
  .nv-gov-related-tabs__tab { transition: none; }
}
