/* Keep the existing card widths and image crops; align the content slots. */
.card-grid { align-items: stretch; }
.recent-grid { grid-auto-rows: 1fr; }
.listing-card { display: flex; flex-direction: column; height: 100%; }
.listing-card .card-photo { flex: none; }
.listing-card .card-copy { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.listing-card .card-title { display: block; min-height: 2.9em; min-height: 2lh; }
.listing-card .card-copy > p:not(.card-desc) { min-height: 2.9em; min-height: 2lh; }
.listing-card .card-copy > .card-desc { flex: 1 1 auto; min-height: 2.9em; min-height: 2lh; }
.listing-card .card-meta { min-height: 1lh; margin-top: auto; align-content: end; }
.listing-card.system-card .tag { align-self: center; margin-top: auto; }
/* The fixed canvas previously gave recent cards a hard 320px cap. */
.recent-grid .listing-card { height: 100%; }
.recent-column .card-meta { display: flex; }
