for some crazy reason, woocommerce has image width set like this:
div.product div.images img,#content div.product div.images img{width:100%}
when it should be this:
div.product div.images img,#content div.product div.images img{width:auto; max-width:100%}
this will prevent images from stretching out beyond their natual size, but will allow them to collapse if the div they are in is more narrow