{"product_id":"in-your-bookish-era","title":"Bundle Deals - In Your Bookish Era","description":"\u003cdiv class=\"custom-bundle-builder\"\u003e\n  \u003ch2\u003e✨ Build Your Ultimate Bookish Bundle ✨\u003c\/h2\u003e\n  \u003cp class=\"bundle-subtitle\"\u003eSelect your favorite pin 📌, tote bag 🛍️, and bookmark 🔖. Grab all 3 to unlock your special bundle savings! 💸📚\u003c\/p\u003e\n\n  \u003cdiv class=\"bundle-steps-container\"\u003e\n    \u003c!-- Step 1: Pin Badge --\u003e\n    \u003cdiv class=\"bundle-step\"\u003e\n      \u003cdiv class=\"bundle-image-preview\"\u003e\n        \u003cimg id=\"pin-image\" src=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Pins_4.jpg?v=1792400834\u0026amp;width=1206\" alt=\"Pin Preview\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bundle-step-details\"\u003e\n        \u003clabel for=\"pin-select\"\u003e1. Pin Badge 📌\u003c\/label\u003e\n        \u003cselect id=\"pin-select\" class=\"bundle-select\"\u003e\n          \u003coption value=\"49797577408771\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Pins_4.jpg?v=1792400834\u0026amp;width=1206\"\u003e🐉 Dragon Enamel Pin\u003c\/option\u003e\n          \u003coption value=\"49856625377539\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Dark_Romance_4.png?v=1792400785\u0026amp;width=1206\"\u003e🖤 Dark Romance\u003c\/option\u003e\n          \u003coption value=\"49887644909827\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Violence_4.png?v=1792400734\u0026amp;width=1206\"\u003e🗡️ Violent Thing\u003c\/option\u003e\n          \u003coption value=\"49887669780739\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Grey1.jpg?v=1792327078\u0026amp;width=1206\"\u003e⚖️ Grey Moral\u003c\/option\u003e\n          \u003coption value=\"49887692390659\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Courtpin1.jpg?v=1792330462\u0026amp;width=1206\"\u003e👑 A Court\u003c\/option\u003e\n        \u003c\/select\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Step 2: Tote Bag --\u003e\n    \u003cdiv class=\"bundle-step\"\u003e\n      \u003cdiv class=\"bundle-image-preview\"\u003e\n        \u003cimg id=\"tote-image\" src=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/RidersSociety2.jpg?v=1792073914\u0026amp;width=1206\" alt=\"Tote Preview\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bundle-step-details\"\u003e\n        \u003clabel for=\"tote-select\"\u003e2. Tote Bag 🛍️\u003c\/label\u003e\n        \u003cselect id=\"tote-select\" class=\"bundle-select\"\u003e\n          \u003coption value=\"49843551207683\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/RidersSociety2.jpg?v=1792073914\u0026amp;width=1206\"\u003e⚔️ Reader's Fantasy Tote\u003c\/option\u003e\n          \u003coption value=\"49796028104963\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Born_to_read_bag_7eb62f39-b0e7-4cc3-9ac9-aa2e70809a6d.jpg?v=1792399918\u0026amp;width=1206\"\u003e📖 Born to Read\u003c\/option\u003e\n          \u003coption value=\"49796409590019\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Dragon_Tote_Bag_1.jpg?v=1792400058\u0026amp;width=1206\"\u003e🔥 Winged Dragon\u003c\/option\u003e\n          \u003coption value=\"49843509690627\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/RidersQuadrant3.jpg?v=1792072601\u0026amp;width=1206\"\u003e🐉 Riders Dragon\u003c\/option\u003e\n          \u003coption value=\"49887686230275\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Runlittlemouse1.jpg?v=1792329933\u0026amp;width=1206\"\u003e🐁 Run!\u003c\/option\u003e\n        \u003c\/select\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Step 3: Bookmark --\u003e\n    \u003cdiv class=\"bundle-step\"\u003e\n      \u003cdiv class=\"bundle-image-preview\"\u003e\n        \u003cimg id=\"bookmark-image\" src=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Book_Markers_Silver_9126df17-16de-4f42-aecc-b46b7ff7bb88.jpg?v=1792400556\u0026amp;width=1206\" alt=\"Bookmark Preview\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bundle-step-details\"\u003e\n        \u003clabel for=\"bookmark-select\"\u003e3. Bookmark 🔖\u003c\/label\u003e\n        \u003cselect id=\"bookmark-select\" class=\"bundle-select\"\u003e\n          \u003coption value=\"49796513333507\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Book_Markers_Silver_9126df17-16de-4f42-aecc-b46b7ff7bb88.jpg?v=1792400556\u0026amp;width=1206\"\u003e🐉 Dragon Bookmark\u003c\/option\u003e\n          \u003coption value=\"49843603964163\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/purple_wings.jpg?v=1792075025\u0026amp;width=1206\"\u003e🦇 Bat Winged\u003c\/option\u003e\n          \u003coption value=\"49856695271683\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Girls_Fav_5_e0812279-ec47-4d54-8b35-5e8239c36950.jpg?v=1792400292\u0026amp;width=1206\"\u003e✨ Girl's Fav\u003c\/option\u003e\n          \u003coption value=\"49856762282243\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Trigger_Warning_1.png?v=1792400651\u0026amp;width=1206\"\u003e⚠️ Trigger Warning\u003c\/option\u003e\n          \u003coption value=\"49887698419971\" data-image=\"https:\/\/nookandnovel.co.za\/cdn\/shop\/files\/Runlittlemouse1_f0513866-6259-41bb-955d-d66a2b4dad0b.jpg?v=1792331182\u0026amp;width=1206\"\u003e🐁 Run!\u003c\/option\u003e\n        \u003c\/select\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cbutton id=\"add-bundle-btn\" type=\"button\" class=\"btn button\"\u003e🛒 Add Bundle to Cart 🛒\u003c\/button\u003e\n  \u003cp id=\"bundle-msg\" style=\"display: none; color: #5c4d3c; text-align: center; margin-top: 15px; font-weight: bold;\"\u003e✨ Magical! Your bundle has been added to the cart! ✨\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .custom-bundle-builder {\n    width: 100%;\n    max-width: 100%;\n    margin: 20px 0;\n    padding: 20px 16px;\n    border: 1px solid #EAE0D5; \n    border-radius: 12px;\n    background: #FAF8F5; \n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); \n    box-sizing: border-box;\n  }\n\n  .custom-bundle-builder h2 {\n    text-align: center;\n    font-family: 'Playfair Display', Georgia, serif; \n    color: #2C2A29; \n    margin: 0 0 8px 0;\n    font-size: 20px;\n    line-height: 1.3;\n  }\n\n  .bundle-subtitle {\n    text-align: center;\n    margin: 0 0 20px 0;\n    color: #5C5552;\n    font-size: 14px;\n    line-height: 1.4;\n  }\n\n  .bundle-steps-container {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n  }\n\n  .bundle-step {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    padding-bottom: 14px;\n    border-bottom: 1px dashed #D8C3A5; \n  }\n\n  .bundle-step:last-of-type {\n    border-bottom: none;\n    padding-bottom: 4px;\n  }\n\n  .bundle-step-details {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .bundle-step label {\n    display: block;\n    text-align: left;\n    margin-bottom: 6px;\n    font-weight: 600;\n    color: #4A306D; \n    font-size: 14px;\n  }\n\n  .bundle-image-preview {\n    flex-shrink: 0;\n  }\n\n  .bundle-image-preview img {\n    width: 72px;\n    height: 72px;\n    object-fit: cover;\n    border-radius: 8px;\n    border: 1px solid #EAE0D5;\n    background-color: #ffffff;\n    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);\n    display: block;\n    transition: opacity 0.2s ease;\n  }\n\n  .bundle-select {\n    width: 100%;\n    padding: 10px 12px;\n    border-radius: 6px;\n    border: 1px solid #D8C3A5;\n    font-size: 13px;\n    background-color: #ffffff;\n    color: #2C2A29;\n    cursor: pointer;\n    box-sizing: border-box;\n    text-overflow: ellipsis;\n  }\n\n  .bundle-select:focus {\n    outline: none;\n    border-color: #4A306D; \n  }\n\n  #add-bundle-btn {\n    display: block;\n    width: 100%;\n    margin-top: 20px;\n    padding: 14px 16px;\n    background-color: #4E1724;\n    color: #FAF8F5;\n    border: none;\n    border-radius: 8px;\n    font-size: 16px;\n    font-weight: bold;\n    font-family: 'Playfair Display', Georgia, serif;\n    cursor: pointer;\n    transition: background-color 0.2s ease, transform 0.1s ease;\n    box-shadow: 0 4px 10px rgba(78, 23, 36, 0.2);\n  }\n\n  #add-bundle-btn:hover {\n    background-color: #9D7676;\n    transform: translateY(-1px);\n  }\n\n  #add-bundle-btn:disabled {\n    background-color: #A9A4A1;\n    cursor: not-allowed;\n    transform: none;\n    box-shadow: none;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  (function () {\n    function initBundleBuilder() {\n      \/\/ 1. Image Preview Switching\n      const selects = document.querySelectorAll('.custom-bundle-builder .bundle-select');\n      selects.forEach(function (select) {\n        select.addEventListener('change', function () {\n          const selectedOption = this.options[this.selectedIndex];\n          const newImageUrl = selectedOption.getAttribute('data-image');\n          if (newImageUrl) {\n            const stepContainer = this.closest('.bundle-step');\n            const previewImg = stepContainer.querySelector('.bundle-image-preview img');\n            if (previewImg) {\n              previewImg.src = newImageUrl;\n            }\n          }\n        });\n      });\n\n      \/\/ 2. Add All 3 Items to Shopify Cart\n      const addBtn = document.getElementById('add-bundle-btn');\n      const msg = document.getElementById('bundle-msg');\n\n      if (!addBtn) return;\n\n      addBtn.addEventListener('click', function (e) {\n        e.preventDefault();\n\n        const pinVal = document.getElementById('pin-select')?.value;\n        const toteVal = document.getElementById('tote-select')?.value;\n        const bookmarkVal = document.getElementById('bookmark-select')?.value;\n\n        if (!pinVal || !toteVal || !bookmarkVal) {\n          alert('Please select an item for each category.');\n          return;\n        }\n\n        const originalText = addBtn.innerHTML;\n        addBtn.disabled = true;\n        addBtn.innerHTML = 'Adding Bundle... ✨';\n\n        fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: {\n            'Content-Type': 'application\/json',\n            'Accept': 'application\/json'\n          },\n          body: JSON.stringify({\n            items: [\n              { id: pinVal, quantity: 1 },\n              { id: toteVal, quantity: 1 },\n              { id: bookmarkVal, quantity: 1 }\n            ]\n          })\n        })\n        .then(function (response) {\n          if (!response.ok) {\n            throw new Error('Failed to add bundle to cart');\n          }\n          return response.json();\n        })\n        .then(function () {\n          if (msg) {\n            msg.style.display = 'block';\n          }\n          \/\/ Redirect to checkout or cart page:\n          window.location.href = '\/cart';\n        })\n        .catch(function (error) {\n          console.error('Error adding bundle:', error);\n          alert('There was an issue adding your bundle. Please try again.');\n          addBtn.disabled = false;\n          addBtn.innerHTML = originalText;\n        });\n      });\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', initBundleBuilder);\n    } else {\n      initBundleBuilder();\n    }\n  })();\n\u003c\/script\u003e","brand":"Nook \u0026 Novel","offers":[{"title":"Default Title","offer_id":49811627442435,"sku":null,"price":450.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0846\/4272\/6147\/files\/Bundle2.jpg?v=1793110850","url":"https:\/\/nookandnovel.co.za\/products\/in-your-bookish-era","provider":"Nook \u0026 Novel","version":"1.0","type":"link"}