I have searched everywhere. Is there a plugin or can someone point me in the right direction?

I have a product I have created that is a bulk t shirt purchase ("50 Family Reunion Shirts"). I need the customer to be able to pick a color (several if needed) and different sizes. The problem is with my current setup they can only pick 1 size and 1 color.

I know I can simply setup a lot of dropdown lists to achieve this, but I don't want a page full of unnecessary boxes. I would like to use cascading boxes and have everything hidden or conditional.

If the customer needs 3 different colors, then 3 different sets of drop down lists will appear. Each set having a color, size, & quantity option. This way they can order 50 shirts varying in size and color.

This particular brand has 18 different sizes (kids-adult unisex-adult lady cut). That would make for 54 dropdown lists. I really don't want to have that many visible on the page, unless the customer somehow needed all 18 sizes.

I would also like to have a validator on all of the quantity boxes to ensure the customer picks exactly 50 shirts.

Does this make sense and can anyone help? Thanks in advance.