Тоже используем первый вариант. Только отступ даем не вверх а вниз. Соответственно отрицательный отступ — тоже вниз.
Под списком таких товаров обычно выводится постраничность.
В итоге имеем единственное ограничение: вертикальный отступ между элементами должен быть меньше чем отступ от всего блока до постраничности.
Вертикальные отступы между колонками с помощью Sass на примере bootstrap сетки