/* Layout only; typography, controls, icon and viewer reuse catalog/base tokens. */
.document-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-block: .5rem; }
.document-row .cta-row { margin: 0; }
.document-row .cat-note { margin: 0; }
.document-row .document-name { color: var(--ink); }
[data-document-icon] { display: inline-flex; margin-inline-start: .5rem; vertical-align: middle; }
.cat-index-table td:has(> [data-document-icon]) { position: relative; padding-inline-end: 3rem; }
.cat-index-table td:has(> [data-document-icon]) .cat-model-link__text { min-width: max-content; }
.cat-index-table td > [data-document-icon] { position: absolute; inset-inline-end: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.cat-document-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
[data-document-icon]:has(.document-open) [data-document-action="download"] { display: none; }
@media (max-width: 760px) {
  .document-open { display: none !important; }
  [data-document-icon]:has(.document-open) [data-document-action="download"] { display: inline-flex; }
  /* A thumbnail, model and download need more than the narrow sticky specs cell.
     Keep the existing table scroller; let its model column scroll with the data. */
  .cat-table-wrap .cat-index-table:has([data-document-icon]) :is(th, td):first-child { position: relative; min-width: 20rem; max-width: none; }
}

[data-document-dialog] .artifact-document__frame { height: min(60dvh, 44rem); }
