.download-catalog { min-width: 1050px; }
.download-catalog th:first-child { min-width: 240px; max-width: 320px; }
.download-catalog th p { font-weight: normal; margin: .5rem 0 0; }
.download-catalog td { vertical-align: top; }
.download-catalog td form { min-width: 150px; }
.download-catalog label { display: block; margin-bottom: .25rem; }
.download-catalog select { width: 100%; margin-bottom: .5rem; font: inherit; padding: 7px 9px; border: 1px solid var(--muted); border-radius: 4px; background: #fff; min-height: 44px; }
.download-buttons { display: flex; gap: .5rem; }
.download-buttons button, .download-formats button, .download-formats a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: .5rem .75rem; font: inherit; color: #fff; background: var(--primary); border: 0; border-radius: 4px; cursor: pointer; text-decoration: none; }
.download-formats { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
/* While a dataset is rebuilt with nothing complete to serve, its buttons are inert. */
/* polish44 (hub 12c): a muted outline, never a filled button that looks pressable; still 44 px tall. */
.download-formats button[disabled] { color: var(--muted); background: transparent; border: 1px dashed var(--muted); cursor: not-allowed; }
.download-wait { margin: 0 0 .5rem; }

/* The published row becomes the same labelled card used by the site's phone tables.  Keep the
   wider tablet layout readable too: at 800px the seven-column row is already too wide for a
   useful download page. */
@media (max-width: 800px) {
  .download-catalog-wrap { overflow: visible; }
  .download-catalog-wrap table.download-catalog.stack { min-width: 0; }
  .download-catalog.stack caption { display: block; width: 100%; }
  .download-catalog.stack, .download-catalog.stack tbody,
  .download-catalog.stack tr { display: block; width: 100%; min-width: 0; }
  .download-catalog.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .download-catalog.stack thead tr, .download-catalog.stack thead th { display: block; width: 1px; padding: 0; border: 0; }
  .download-catalog.stack tr { margin: 0 0 12px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
  .download-catalog.stack tbody th, .download-catalog.stack tbody td { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 10px; width: 100%; min-width: 0; padding: 7px 0; border-bottom: 1px solid var(--line); text-align: left; overflow-wrap: anywhere; vertical-align: top; }
  .download-catalog.stack tbody th::before, .download-catalog.stack tbody td::before { content: attr(data-label); color: var(--muted); font-weight: 400; font-size: .85rem; }
  .download-catalog.stack tbody tr > :last-child { border-bottom: 0; }
  .download-catalog.stack tbody th:first-child { display: block; padding-top: 4px; }
  .download-catalog.stack tbody th:first-child::before { display: none; }
  .download-catalog.stack tbody th:first-child span { display: block; font-weight: 600; }
  .download-catalog.stack tbody th:first-child p { margin: .35rem 0 0; }
  .download-catalog.stack .download-formats { flex-direction: row; flex-wrap: wrap; gap: .5rem; }
  .download-catalog.stack .download-formats button, .download-catalog.stack .download-formats a { min-height: 44px; }
  .download-catalog.stack select { min-height: 44px; }
  .download-catalog.stack td a { display: inline-flex; align-items: center; min-height: 44px; }
.download-catalog.stack td form { min-width: 0; }
}
@media (max-width: 767.98px) {
  .page-head .summary a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media print {
  .download-catalog.stack caption { display: table-caption; }
  .download-catalog.stack, .download-catalog.stack tbody { display: table; width: 100%; min-width: 0; }
  .download-catalog.stack tbody { display: table-row-group; }
  .download-catalog.stack tbody tr { display: table-row; width: auto; margin: 0; padding: 0; border: 0; background: none; }
  .download-catalog.stack tbody th, .download-catalog.stack tbody td { display: table-cell; width: auto; padding: .45rem .55rem; border-bottom: 1px solid var(--line); }
  .download-catalog.stack thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .download-catalog.stack thead tr { display: table-row; width: auto; }
  .download-catalog.stack thead th { display: table-cell; width: auto; padding: .45rem .55rem; overflow: visible; }
  .download-catalog.stack tbody th::before, .download-catalog.stack tbody td::before { display: none; }
  .download-catalog.stack th.download-year-column, .download-catalog.stack td.download-year-column,
  .download-catalog.stack th.download-dictionary-column, .download-catalog.stack td.download-dictionary-column { display: none; }
}

/* Print: every Data Center page keeps the same inset as the issuer, bond and grid pages' named pages
   (.4in), so index pages never print flush to the paper's edge (g22 P3). */
@page { margin: .4in; }
