98b3b3b6da
Replaces the fixed line-clamp-2 subline cap with real subgrid alignment: each grid (ProductGrid/RelatedProducts/MerklisteGrid) declares 6 explicit row-tracks (image/header/price/belowPrice/lowstock/button, last one minmax(0,1fr)), and every card spans those same 6 tracks via grid-template-rows: subgrid — so row heights are genuinely shared across a row of cards. A subline can now wrap to any number of lines (3, 4, ...) without being truncated, and the price row still starts at the same Y on every card in that row. ProductCard.tsx is flattened from nested flex divs into 6 direct grid-row children so each one can be its own subgrid track; the old flex-1 spacer is replaced by self-end on the button's row. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J1Hu5bZ1kZUgKhab6yNwCt