/* Housing market styles (loaded after style.css). Single column; no currency switch on this page. */
main.market, body:has(main.market) > header { max-width: 1000px; }
main.market .stack > * { min-width: 0; }
h3.sub { margin: var(--space-5) 0 var(--space-3); font-size: 15px; font-weight: 600; }
.private {
  font-size: 11px; font-weight: 500; padding: 1px 8px; border-radius: 999px; margin-left: 6px; vertical-align: 1px;
  border: 1px solid var(--accent); color: var(--accent); white-space: nowrap;
}
.source { margin: var(--space-3) 0 0; font-size: 12px; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.source a { color: var(--muted); text-underline-offset: 2px; }
.source a:hover { color: var(--text); }
.source b { color: var(--text); font-weight: 600; }
.formula { margin: 0 0 var(--space-4); padding: 12px 16px; border-left: 3px solid var(--accent); background: var(--accent-soft); border-radius: var(--radius-sm); font-size: 15px; }
.summary { margin: 0; padding-left: 20px; }
.summary li { margin: var(--space-2) 0; }
.load-note { padding: 14px 16px; border-left: 3px solid var(--pmi); background: var(--card); border-radius: var(--radius-sm); }
details { margin-top: var(--space-3); }
details .table-wrap { max-height: 360px; margin-top: var(--space-2); }
.defs { margin: var(--space-4) 0 0; padding-left: 18px; font-size: 13px; line-height: 1.55; color: var(--muted); }
.defs b { color: var(--text); font-weight: 600; }
canvas { width: 100%; display: block; }
.chart-legend { display: flex; gap: 16px; font-size: 12px; color: var(--muted); margin-top: var(--space-3); flex-wrap: wrap; }
.chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.copy-row { display: flex; gap: var(--space-3); align-items: flex-end; flex-wrap: wrap; }
.copy-row .field { margin: 0; width: 160px; }
a.btn { text-decoration: none; display: inline-block; }
a.btn[aria-disabled] { opacity: 0.4; pointer-events: none; }
.btn.primary { padding: 10px 18px; font-size: 14px; }
.muted { color: var(--muted); }
tr.total td { font-weight: 700; }
/* Data last updated: text columns, so left-aligned; long period notes wrap instead of widening the table */
#freshness th, #freshness td { text-align: left; }
#freshness .table-wrap { max-height: none; }
#freshness td { white-space: normal; }
#freshness td:last-child { min-width: 120px; }
/* Small screens: let headers wrap and tighten cells so short tables (like the yields) fit without scrolling */
@media (max-width: 560px) {
  main.market th { white-space: normal; }
  main.market th, main.market td { padding: 6px 6px; }
  main.market td .muted { display: block; font-size: 11px; }
  main.market table { font-size: 12px; }
  main.market td:first-child { white-space: normal; }
}
