/* Additions to the mockup styles for pieces the mockup does not draw:
   preview banner, version picker, version grid, not-rated rows, pending
   sections, list filters, issue pages, opening-day note. Uses the mockup's
   own color variables. */
.hidden { display: none !important; }
.preview-banner { background: var(--td-gold-soft); border-bottom: 1px solid #E4D9B4; font-size: 13px; color: var(--td-ink-soft); }
.preview-banner .band-inner { padding-top: 10px; padding-bottom: 10px; }
.pv-note { background: var(--td-gold-soft); border: 1px dashed #D9C690; color: #6B5320; font-size: 13px; padding: 8px 12px; border-radius: 2px; margin: 0 0 18px; }
.hero-stats .open-note { color: #CFC7B6; font-size: 15px; line-height: 1.6; margin: 8px 0 0; }

/* lists and filters */
.filters { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 10px; margin-bottom: 8px; }
.filters input, .filters select { font: inherit; font-size: 14px; padding: 10px 12px; border: 1px solid var(--td-rule); border-radius: 2px; background: #fff; color: var(--td-ink); min-width: 0; }
.count { font-size: 13px; color: var(--td-ink-mute); margin: 8px 0 12px; }
.empty { color: var(--td-ink-mute); font-size: 15px; padding: 18px 0; }
.issue-tile .tile-stmt { font-size: 13px; color: var(--td-ink-mute); line-height: 1.5; margin: 8px 0 10px; }
.issue-tile .tile-count { font-size: 12px; font-weight: 600; color: var(--td-ink-soft); letter-spacing: .03em; }
.issue-dims { background: #fff; border: 1px solid var(--td-rule); padding: 16px 20px; margin-bottom: 18px; }
.issue-dims ul { margin: 6px 0 0; padding-left: 18px; columns: 2; font-size: 14px; }

/* bill page */
.bp { background: var(--paper); color: var(--ink); font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }
.bp .prose-outer.single { grid-template-columns: minmax(0, 820px); justify-content: center; }
.bp .version-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.bp .vp-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); margin-right: 4px; }
.bp .vchip { display: inline-flex; flex-direction: column; padding: 6px 12px; border: 1px solid var(--rule-strong); border-radius: 2px; text-decoration: none; color: var(--ink-soft); font-size: 13px; font-weight: 600; background: #fff; line-height: 1.3; }
.bp .vchip span { font-size: 11px; font-weight: 400; color: var(--ink-mute); }
.bp .vchip.on { border-color: var(--ink); background: var(--ink); color: #FAF6EE; }
.bp .vchip.on span { color: #CFC7B6; }
.bp .facts-grid details.more { display: inline; }
.bp .facts-grid details.more summary { display: inline; cursor: pointer; color: var(--brand); }
.bp .facts-grid a, .bp .method-note a, .bp .rail a { color: var(--brand); }
.bp tr.not-rated td { color: var(--ink-mute); }
.bp .nr-why { font-size: 13px; }
.bp .pending-box { border: 1px dashed var(--lock-border); background: var(--lock-bg); color: #6B5320; padding: 12px 16px; font-size: 14px; border-radius: 2px; margin: 4px 0 12px; }
.bp .meta-line { font-size: 13px; color: var(--ink-mute); margin: 10px 0; }
.bp .aside-note { font-size: 14px; color: var(--ink-mute); font-style: italic; margin-top: 14px; }
.bp .conf-line { font-size: 13px; color: var(--ink-mute); margin: 6px 0 0; }
.bp .quotes { margin-top: 10px; }
.bp .quote-line { border-left: 3px solid var(--rule-strong); padding-left: 14px; font-size: 14px; color: var(--ink-soft); margin: 8px 0; }
.bp .quote-line .prov { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
.bp .fine { color: var(--ink-mute); font-size: 12px; margin-top: 14px; }
.bp .tablewrap { overflow-x: auto; }
.bp .vgrid th a { color: inherit; }
.bp .vgrid .vdate, .bp .vgrid .vissue { display: block; font-size: 11px; font-weight: 400; color: var(--ink-faint); text-transform: none; letter-spacing: 0; }
.bp .vgrid td.vcell { white-space: nowrap; font-size: 13px; }
.bp .vgrid td.changed { outline: 2px solid var(--gold); outline-offset: -3px; background: var(--gold-soft); }
.bp .vdir { font-weight: 700; }
.bp .vdir.positive { color: var(--positive); }
.bp .vdir.negative { color: var(--negative); }
.bp .vdir.neutral { color: var(--neutral); }
.bp .vnr { color: var(--ink-faint); font-style: italic; }
.bp .rail-status.ok { background: var(--positive-bg); color: var(--positive); }
.bp .rail-status.pend { background: var(--neutral-bg); color: var(--neutral); }
.bp .rail-link { margin: 4px 0; font-size: 13px; }
.bp .tier-bar .demo-note { font-size: 12px; color: #A99F8A; }
.bp .prose ul { padding-left: 20px; }

@media (max-width: 1000px) {
  .filters { grid-template-columns: 1fr 1fr; }
  .issue-dims ul { columns: 1; }
  .bp .tier-bar .demo-note { display: none; }
}
@media (max-width: 600px) {
  .filters { grid-template-columns: 1fr; }
  .bp .prose-outer { padding: 24px 18px; }
  .bp .tier-toggle { flex-wrap: wrap; }
}
.bp .role-line + .role-line { margin-top: 4px; }
.bp .more-toggle { color: var(--brand); font-size: 13px; white-space: nowrap; }
.bp ul.withheld { font-size: 14px; color: var(--ink-mute); margin-top: 6px; }
.bp ul.withheld li { margin-bottom: 8px; }
.bp ul.withheld span { font-style: italic; }
@media (max-width: 1000px) {
  .bp .prose-outer, .bp .prose-outer.single { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .utility-inner { flex-wrap: wrap; gap: 6px; }
  .utility .parent > span:last-child, .utility .parent > .div, .utility .right > a:first-child, .utility .right > .div { display: none; }
  .bp .tier-bar-inner { padding: 0 16px; gap: 10px; }
  .bp .tier-label { display: none; }
  .bp .tier-btn { padding: 8px 10px; font-size: 12px; }
  .bp .bill-headline { font-size: 34px; }
  .bp .ratings-table th, .bp .ratings-table td { padding: 8px 6px; font-size: 13px; }
  .bp .facts-grid { grid-template-columns: 1fr; }
  .bp .facts-grid dt { padding-bottom: 0; border-bottom: none; }
}
.bp .vc-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--brand); font-weight: 600; margin: 22px 0 4px; }
.bp .vc-label:first-of-type { margin-top: 0; }

/* Two plans, Free and Paid (Pipeline, 2026-11-04) */
.tiers-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
.tiers-grid.two .tier.featured::before { content: none; display: none; }
.tier .tier-note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--td-ink-mute); text-align: center; }
.tier .tier-note a { color: inherit; text-decoration: underline; }
.bp .tier-tag.paid { border-color: var(--brand-dark); color: var(--brand-dark); }
@media (max-width: 1024px) { .tiers-grid.two { grid-template-columns: 1fr; } }
/* Examples from the 89th Legislature: the session badge does not pulse as if live */
body.examples .mast-session .pulse { animation: none; background: var(--gold, #B08640); box-shadow: none; }
.mast-session { white-space: nowrap; flex-shrink: 0; }
.bp .paywall-perks { flex-wrap: wrap; justify-content: center; row-gap: 6px; }
.bp .paywall-perks span { white-space: nowrap; }
/* Subscribers (Pipeline, 2026-11-05) */
.bp .paywall-signin { margin: 10px 0 0; font-size: 13px; color: #A99F8A; }
.bp .paywall-signin a { color: inherit; text-decoration: underline; }
