I've seen that the ul.products.elementor-grid.columns-3, that has the list of items, has a grid-row-gap: 1%. This is whats causing the overflow of the list. Use fixed size in px. I leave here a posts that explains a bit better than i do.
ul.products.elementor-grid.columns-3
grid-row-gap: 1%
Why does grid-gap cause an overflow?