I would set the cart up to treat all of the individual "products" as options:
so add columns for:
lighting
lightingPriceIncrement
solidShelfQTY
solidShelfPriceIncrement
glassShelfQTY
glassShelfPriceIncrement
lining
liningPriceIncrement
Instead of using the checkboxes, just set the initial quantity value for the solid and glass shelf, and let the users increase the quantity if they like, a positive quantity would be the same as checking the box, the checkbox just adds an un needed layer of complexity.
you could then create calculations to set the product price based on the selections that where made.
If you need help setting this up, we could do this in a premiere support appointment.