Hi
You would need a bundling solution for this one. We have our own bundle app that lets you build bundles for each variant and set price for the variant. The inventory is calculated based on what you have available from components. Once an order is received that contains a bundle we convert the order lines to the individual components so your inventory is correct and you can fulfil normally. There is no change to your theme required.
If you would like to test it out send me an email to tom@channelup.io and I can get my team to demo and set up so you can see if it will work for you.
Regards
Tom