Your theme overrides the image width. You can fix it with this css:

.woocommerce-cart table.cart .wjecf-select-free-products img { width: auto; }

You might use a hover effect to make it clearer what image and textbox belong together.

ul.wjecf-cols > li:hover { background: #ccc; }

Design related stuff is not really my expertise, you better ask your designer for more improvements.