/* Mistria Lookup — extends the rampant.io baseline.
   Only what's specific to this data shape lives here; .section, .label,
   .table-wrap, .toolbar, .field and .count all come from base.css. */

/* Banding tints the whole block, so it bleeds into the page gutter rather than
   stopping short of the text it wraps; the margin cancels the padding to leave
   that text aligned with the heading above. */
.npc {
  padding: 0.6rem 0.75rem;
  margin-inline: -0.75rem;
  border-top: 1px solid var(--line);
}
.npc:first-of-type { border-top: none; }
.npc > h3 { font-size: 0.95rem; line-height: 1.4; margin-bottom: 0.15rem; }

/* Gift lists read as dense comma-separated runs, not bulleted columns. */
.row { display: flex; gap: 0.5rem; align-items: baseline; margin-block: 0.1rem; }
.row > b { flex: none; min-width: 4.5rem; line-height: 1.7; letter-spacing: 0.08em; }
.row ul { display: inline; margin: 0; padding: 0; list-style: none; font-size: 0.92rem; }
.row li { display: inline; }
.row li:not([hidden]) ~ li:not([hidden])::before { content: ", "; color: var(--muted); }

.section table td:first-child { font-weight: 500; }

/* Banding for both shapes of list. `of …:not([hidden])` counts only what the
   filter left showing, so plain nth-child parity can't double up a tint after
   a search. The stripe outranks the base row hover on specificity, hence the
   restatement. */
tbody tr:nth-child(2n of :not([hidden])),
.npc:nth-child(2n of .npc:not([hidden])) { background: var(--stripe); }

tbody tr:nth-child(2n of :not([hidden])):hover { background: var(--surface-2); }
