Never Touch A Grumpy Unicorn
Never Touch A Grumpy Unicorn
Never Touch A Grumpy Unicorn

Never Touch A Grumpy Unicorn

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

You must never touch a grumpy unicorn . . . unless it’s in this book! Children will love this magical addition to our bestselling range of Never Touch books, full of magical creatures who are sick of being magical! Every spread has a fun touch to explore and a witty rhyme to entertain the whole family

Dimensions:  186 x 186 x 19 mm

Number of pages:  12

Format:  Board Book / Silicone

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('[data-cart-count]') || document.querySelector('.cart-count-bubble'); 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); }); });