I think your css doesn’t work because I can’t find a .responsive class in the page or a #top id.
Not only have you got to set the width of li.product elements, but you also need to prevent the new-lines every 3 and put in new-lines every 2. Try this:
@media only screen and (max-width: 736px) {
.woocommerce ul.products li.product {
width: 49.0% !important;
margin: 0.5% 4% 0.5% 0;
}
body.woocommerce ul.products.columns-3 li.product:nth-of-type(3n+1) {
clear: none !important;
}
body.woocommerce ul.products.columns-3 li.product:nth-of_type(2n+1) {
clear: both !important;
}
}
Two columns is too tight on very small screens. There’s a lot of work to do to get this right for various resolutions.
You can flick quickly between different viewport widths on your desktop using this Chrome extension:
https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh?hl=en
For emulating the smaller viewport widths, you’ll need the inspector panel open and positioned to one side, not at the bottom.