По верстке, карточки товаров на мой взгляд зря уменьшаются, лучше бы их просто перестраивать. Да и начинают они сужаться раньше, чем нужно. Место по бокам еще много - а сайт уже сужается.
По поводу высоты - всё просто, в вашем случае нужно:
Задать для
html, body {height: 100%}
Для main {min-height: 100%; padding-bottom: 100px} - получится мэйн во всю страницу, но снизу будет место для футера. Можно больше 100, если хотите отступ от футера.
Для footer задать margin-top: -100px; - возвращаем футер вверх, на освобожденное место.
И вставить div class="clearfix" перед /main, потому что каталог у вас с float: left (иначе подвал будет налезать на каталог).
Есть и другие способы - гуглите "footer к низу страницы".