OBSERVATIONS:
The add to cart is not an image. It ought be a cta (call to action) button since clicking it will do an action.
To make your image responsive you should add img {display: block; max-width: 100%;}
on your .main you set a width of 40%, but no max-width. Adding a max-width or min-width will ensure the container does not grow or shrink beyond a certain point.
You didn't use the colors provided in the style guide.
using display: grid; on the .main container would have made it a lot easier for you.