Notei um detalhe no código que pode ser melhorando. Quando o usuário clica no botão adicionar sem escolher a quantidade o item pré-selecionado vai direto para o carrinho o que gera um bug: Pois por ser uma operação de multiplicação entre os valores, quantidade * valor do item armazenada na variável preço, por algum motivo o valor do item esta sendo zerando e por isso é adicionado zero ao total da compra. A minha sugestão é deixar o campo quantidade com o valor 1 pré-definido pois assim o usuário só vai manipular esse campo se desejar obter mais de uma unidade do produto escolhido, deixando o código mais funcional.
Outro ponto é para a situação que o usuário adiciona (no meu caso devido a proporção da dela) mais de 7 itens ao carrinho, a lista fica muito comprida ao ponto de perder de vista o botão adicionar. Prejudicando a acessibilidade da página. Minha sugestão é que a lista não interfira no fluxo da página, mas permita a visualização dos primeiros itens com um botão de scroll lateral. Por enquanto ainda não sei aplicar essa solução mas vou trabalhar nisso no futuro.
Desculpem a ousadia da opinião!