Heart Soap Boutique- Small World

Heart Soap Boutique- Small World

Regular price
R 255.00
Sale price
R 255.00
Free shipping on all orders over R950
Quantity must be 1 or more

Create charming heart-shaped soaps with the Heart Soap Boutique from Small World Toys! Melt, pour and decorate your own colourful, fragranced designs using the included molds and stamps. A hands-on activity that encourages creativity and is suitable for ages 8 and up.

Includes:
3 × 40 g bags of white glycerin soap
3 plastic heart-shaped molds
2 heart-shaped stamps with different designs
3 ml concentrated red dye
3 ml concentrated scent
1 disposable cup
1 wooden stick
1 wooden toothpick
Detailed instructions

Item size: 26.5 × 26.5 × 6.5 cm
const button = event.target.closest('.custom-product-add-to-cart'); if (!button) return; event.preventDefault(); const variantId = button.dataset.variantId; if (!variantId) { console.error('No variant ID found.'); return; } if (button.disabled) return; const originalText = button.textContent; button.disabled = true; button.textContent = 'Adding...'; fetch(window.Shopify.routes.root + 'cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ items: [ { id: Number(variantId), quantity: 1 } ] }) }) .then(function(response) { return response.json().then(function(data) { if (!response.ok) { throw new Error( data.description || 'Could not add product to cart.' ); } return data; }); }) .then(function(data) { button.textContent = 'Added ✓'; return fetch(window.Shopify.routes.root + 'cart.js'); }) .then(function(response) { return response.json(); }) .then(function(cart) { const cartCount = document.querySelector('#CartCount span'); if (cartCount) { cartCount.textContent = cart.item_count; } const cartDrawer = document.querySelector('cart-drawer'); if (cartDrawer && typeof cartDrawer.open === 'function') { cartDrawer.open(); } setTimeout(function() { button.disabled = false; button.textContent = originalText; }, 1500); }) .catch(function(error) { console.error('Add to cart error:', error); button.disabled = false; button.textContent = 'Error - try again'; setTimeout(function() { button.textContent = originalText; }, 2000); });