Free delivery from €49

Electric Mixer

Electric Mixer

⚡ Quick froth
🥛 Creamy milk
☕ Homemade latte

3,000.00 RSD
Traditional Kit

Traditional Kit

🎋 Traditional whisk
🧼 Shape preserved
🍵 Perfect ritual

3,480.00 RSD
Whisk Perfect

Whisk Perfect

🎋 Natural bamboo
🖐️ Hand-carved
🍵 100 prongs

2,400.00 RSD
5.0
Pure Ritual

Pure Ritual

🌀 Ideal shape
🎋 Natural bamboo
🥄 Precise dosing

4,920.00 RSD

Learn more about Kumo products

Read now
5.0
Sip & Glow

Sip & Glow

🧋 Matcha signature
🥤 Perfect latte
✨ Iconic style

2,880.00 RSD
Zen Starter

Zen Starter

🌀 Ideal shape
🎋 Natural bamboo
🥄 Precise dosing

3,960.00 RSD
`); newTab.document.close(); } else { window.location.href = finalUrl; } } // ✅ Pour le bouton Checkout dans le panier function handleCartCheckout(button) { if (button.classList.contains('redirect-active')) return; button.classList.add('redirect-active'); button.addEventListener("click", function(event) { event.preventDefault(); fetch('/cart.js') .then(res => res.json()) .then(cart => { redirectToSanovita(cart.items); }) .catch(error => { console.error("Erreur récupération panier :", error); }); }); } // ✅ Pour le bouton Buy it now sur une fiche produit function handleBuyNow(button) { if (button.classList.contains('redirect-active')) return; button.classList.add('redirect-active'); button.addEventListener("click", function(event) { event.preventDefault(); const form = button.closest('form'); const formData = new FormData(form); fetch('/cart/add.js', { method: 'POST', body: formData, headers: { 'Accept': 'application/json' } }) .then(() => fetch('/cart.js')) .then(res => res.json()) .then(cart => { redirectToSanovita(cart.items); }) .catch(error => { console.error("Erreur Buy Now :", error); }); }); } // ✅ Observation dynamique des boutons const observer = new MutationObserver(() => { const checkoutButton = document.querySelector('button[name="checkout"]'); const buyNowButton = document.querySelector('button[name="buy_now"]'); if (checkoutButton) handleCartCheckout(checkoutButton); if (buyNowButton) handleBuyNow(buyNowButton); }); observer.observe(document.body, { childList: true, subtree: true }); });