This will be difficult because each product is requiring a custom popup with specific content. I imagine the least-code way to do this would be by having a unique CMS Collection for each product, which under the current version of Webflow is limited to 20/page. For each one, it will need to be set as a “Product” collection so that you can add a cart element. Essentially, each CMS instance will be limited to only show 1 product, and will contain the image element, as well as a popup element that you set to reveal on mouse click of the original image.
Also, variants are currently limited to only drop down menu’s. So you can’t add the check mark/radio button functionality as seem in the photo you’ve provided.
Hopefully that helps. Here’s a similar situation where I used a hefty amount of interactions to reveal CMS data: www.holeinthewallatl.com/vip