Besplatna dostava od 12000RSD

5.0
Ceremonial Matcha Emerald Cloud Tin 1 Kumo Matcha

Ceremonijalna Matcha "Emerald Cloud"

🇯🇵 Šizuoka, Japan
🍵 Blago gorak
🌿 Organski

3,600.00 RSD
5.0
Ceremonijalna Matcha "Imperial Cloud"

Ceremonijalna Matcha "Imperial Cloud"

🇯🇵 Šizuoka, Japan
🍵 Bez gorčine
🌿 Organski

4,560.00 RSD
5.0
Organic Ceremonial Matcha Jade Cloud Two

Ceremonijalna Mača "Jade Cloud"

🇯🇵 Šizuoka, Japan
🍵 Blago gorak
🌿 Organski

3,600.00 RSD
Električna mešalica

Električna mešalica

⚡ Brza pena
🥛 Kremasto mleko
☕ Domaći latte

3,000.00 RSD

Saznaj više o Kumo proizvodima

Pročitaj sada
5.0
Pure Ritual

Pure Ritual

🌀 Idealan oblik
🎋 Prirodni bambus
🥄 Precizno doziranje

4,920.00 RSD
5.0
Sip & Glow

Sip & Glow

🧋 Matcha signature
🥤 Savršen latte
✨ Ikona stila

2,880.00 RSD
Traditional Kit

Traditional Kit

🎋 Tradicionalna mutilica
🧼 Očuvan oblik
🍵 Savršen ritual

3,480.00 RSD
Whisk Perfect

Whisk Perfect

🎋 Prirodni bambus
🖐️ Ručno rezbareno
🍵 100 krakova

2,400.00 RSD
Zen Starter

Zen Starter

🌀 Idealan oblik
🎋 Prirodni bambus
🥄 Precizno doziranje

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 }); });