Confused about choosing between line items and product attributes
If you made it all attributes (fields) on the products, created a product with each possible variation and referenced them all in a single node, it would work with the commerce add to cart form out of the box.

Commerce would create a select list for each attribute, which might not be exactly what you want, but that should be possible to handle with some form alter.