.product-card__body h3 { overflow-wrap:anywhere; }
.product-card__image { min-width:0; width:100%; }
.product-card__summary { font-size:var(--type-detail); }
.product-card__description { display:grid; align-content:start; gap:var(--space-4); }
.product-card__description > p + p { margin-top:0; }
.product-card__specs { display:grid; gap:var(--space-2); margin:0; font-size:var(--type-detail); }
.product-card__specs > div { display:flex; flex-wrap:wrap; gap:var(--space-1) var(--space-3); }
.product-card__specs dt { flex:1 1 max-content; max-width:100%; color:var(--color-text-secondary); overflow-wrap:anywhere; hyphens:none; }
.product-card__specs dd { flex:1 1 55%; min-width:0; margin:0; overflow-wrap:anywhere; hyphens:none; font-variant-numeric:tabular-nums; }

/* Share content-driven tracks within each visual row, including wrapped specs. */
@supports (grid-template-rows:subgrid) {
 .product-grid { row-gap:var(--space-4); }
 .product-grid > .product-card { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:var(--space-4); margin-bottom:var(--space-6); }
 .product-card > .product-card__body { display:grid; grid-row:span 6; grid-template-rows:subgrid; row-gap:var(--space-4); padding-top:var(--space-1); }
 .product-card__body > h3 { grid-row:1; align-self:start; }
 .product-card__description { grid-row:2; }
 .product-card__body > .product-card__specs { grid-row:3 / span 3; grid-template-rows:subgrid; row-gap:var(--space-2); }
 .product-card__specs > div { align-content:start; }
 .product-card__body > .product-card__actions { grid-row:6; align-self:end; }
}

/* A single column needs no space reserved for neighbouring cards. */
@media (max-width:640px) {
 .product-grid { row-gap:var(--space-10); }
 .product-grid > .product-card { display:flex; row-gap:0; margin-bottom:0; }
 .product-card > .product-card__body { display:flex; padding-top:var(--space-5); }
 .product-card__body > .product-card__specs { grid-template-rows:none; }
}
@media (max-width:760px) {
 .catalog-entry-products .product-grid { row-gap:var(--space-10); }
 .catalog-entry-products .product-grid > .product-card { display:flex; row-gap:0; margin-bottom:0; }
 .catalog-entry-products .product-card > .product-card__body { display:flex; padding-top:var(--space-5); }
 .catalog-entry-products .product-card__body > .product-card__specs { grid-template-rows:none; }
}
