/* Each configured client source remains a separate, equally sized choice. */
.download-content .download-mirrors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
  align-items: stretch;
}
.download-content .download-mirrors .dl-card {
  display: flex; flex-direction: column; gap: 16px; margin: 0;
  padding: 20px; min-width: 0;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px;
}
.download-mirrors .dl-file-icon {
  display: block; width: 28px; height: 28px; flex: 0 0 auto;
  background: none; border: 0; border-radius: 0; font-size: 1.4rem;
}
.download-mirrors .dl-card-body {
  display: flex; flex-direction: column; gap: 12px;
  width: 100%; min-width: 0; flex: 1;
}
.download-mirrors .dl-title { font-size: 1rem; line-height: 1.5; margin: 0; }
.download-mirrors .dl-host { margin: 0; overflow-wrap: anywhere; }
.download-mirrors .dl-size { margin: auto 0 0; padding-top: 4px; }
.download-content .download-mirrors .btn-dl-action {
  align-self: flex-start; margin-top: auto; max-width: 100%; flex-wrap: wrap;
}
.download-content .download-mirrors .dl-size + .btn-dl-action { margin-top: 0; }
.download-mirrors > .alert { grid-column: 1 / -1; }
/* Native hash navigation still works without competing with page arrival. */
#module-content-start, #rankings-panel { scroll-margin-top: 140px; }
@media (max-width: 991.98px) {
  #module-content-start, #rankings-panel { scroll-margin-top: 108px; }
}
