I have a client who's looking for something a little bespoke with their eCommerce system.

They'd like the customers to be able to customise their end product on the web site.
So rather than simply browse the site and add items to the cart and checkout....they'd prefer if the customer could:

1) Choose a Product
2) Choose a colour/size of the Product
3) Choose Accessories
4) Choose a size/type/colour for the Accessories
5) Customise the Product with a name/signature
6) Choose a Gift Card

... and the list goes on a bit more.

Is this something I could do by tweaking an existing shopping cart (prestashop, cubecart, magento) or would I have to go down a more bespoke route?

Many thanks for any guidance with this.