/* ========================================================
   CARRINHO DE COMPRAS (carrinho.css)
   ======================================================== */
.carrinho-body { max-width: 800px; margin: 30px auto; padding: 0 20px 80px; }
.carrinho-titulo { font-size: 1.5rem; color: var(--cor-primaria); margin-bottom: 20px; text-align: center; font-weight: 800; }

/* Card do Item no Carrinho */
.carrinho-item { display: flex; background: white; padding: 15px; border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); margin-bottom: 15px; gap: 15px; position: relative; }
.carrinho-img { width: 80px; height: 106px; border-radius: 8px; object-fit: cover; }
.carrinho-info { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; }
.carrinho-nome { font-size: 1rem; font-weight: bold; color: var(--cor-texto); margin: 0; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.carrinho-tamanho { font-size: 0.85rem; color: #888; margin-top: 5px; }
.carrinho-preco { font-size: 1.1rem; color: var(--cor-primaria); font-weight: 900; }

/* Caixa de Resumo e Finalização */
.carrinho-resumo { background: #fdfdfd; padding: 25px 20px; border-radius: 16px; box-shadow: 0 -4px 20px rgba(0,0,0,0.05); border: 1px solid #eee; margin-top: 30px; }
.resumo-linha { display: flex; justify-content: space-between; font-size: 1rem; color: #666; margin-bottom: 10px; }
.resumo-total { display: flex; justify-content: space-between; font-size: 1.3rem; color: var(--cor-texto); font-weight: 900; margin-top: 15px; padding-top: 15px; border-top: 2px dashed #ddd; }
.btn-finalizar { background: var(--cor-botao-comprar); color: white; width: 100%; padding: 15px; border: none; border-radius: 30px; font-weight: bold; font-size: 1.1rem; text-transform: uppercase; margin-top: 20px; cursor: pointer; transition: 0.3s; text-align: center; text-decoration: none; display: block; }
.btn-finalizar:hover { background: var(--cor-primaria); }

/* Carrinho Vazio */
.carrinho-vazio { text-align: center; padding: 50px 20px; }
.carrinho-vazio i { font-size: 4rem; color: #ddd; margin-bottom: 15px; }

/* Seletor de Quantidade no Carrinho */
.qtd-controle { display: flex; align-items: center; gap: 15px; background: #f8f9fa; padding: 5px 10px; border-radius: 20px; width: fit-content; margin-top: 10px; }
.btn-qtd { background: white; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--cor-primaria); font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.1); font-size: 1.1rem; transition: 0.2s; }
.btn-qtd:active { transform: scale(0.9); }
.qtd-numero { font-weight: bold; color: var(--cor-texto); font-size: 0.95rem; min-width: 20px; text-align: center; }