/* Downloads page: one tap per file, phone first. */
.dl-group { padding-block: var(--s-6); border-top: 1px solid var(--c-line); }
.dl-group h2 { font: 600 var(--t-h3)/1.2 var(--f-sans); margin: 0 0 var(--s-4); }
.dl-list { display: grid; gap: var(--s-3); list-style: none; margin: 0; padding: 0; }
@media (min-width: 760px) { .dl-list { grid-template-columns: repeat(2, 1fr); gap: var(--s-4); } }
@media (min-width: 1160px) { .dl-list { grid-template-columns: repeat(3, 1fr); } }
.dl-card { display: grid; grid-template-columns: 84px 1fr auto; gap: var(--s-4); align-items: center; min-height: 112px; padding: var(--s-3); background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); color: var(--c-ink); text-decoration: none; }
.dl-card:hover { border-color: var(--c-bronze); }
.dl-card:focus-visible { outline: 2px solid var(--c-bronze); outline-offset: 2px; }
.dl-thumb { width: 84px; height: 84px; object-fit: contain; background: var(--c-bone); display: block; }
.dl-title { display: block; font-weight: 600; line-height: 1.25; }
.dl-meta { display: block; margin-top: var(--s-1); font-size: var(--t-small); color: var(--c-grey); line-height: 1.35; }
.dl-open { font-size: var(--t-small); font-weight: 600; white-space: nowrap; border-bottom: 1px solid var(--c-bronze); }
.dl-more { padding-top: var(--s-7); }
