This was a university project from 2019 and holds some great info for a starter project.
Customise an element using CSS variables (Shoes texture loads from a variable of another class added)
User selection modify classes on an element
Working cart
and more..
The code could be improved, refactored and simplified but for now it is to be archived.
Please see a demo below, alternatively you may clone the repo and view the site with a Live Server.