What david is saying is that the product options and variants can be used instead of creating a custom product page type. A page type could work, but as noted, you need to write a query or find a way to couple that data. Why not piggy back on what Kentico has already created and add the shoe color and style as product options on a product named shoe. Seems like that is way simpler and using Kentico how it is meant to be used. Plus, Kentico has webparts which will show the product options and can be included easily in transformations.
Product options can also be attached on other similar products, which means they can be reused. You could also attach multiple options to the same product and use variants as well.