[email protected]

Sign up and GET 20% OFF for your first order.
Menu

Shopping Cart

Loot Bath Moon Bombs

Original price was: $7.99.Current price is: $6.39.
Categories:

Description Features What’s Included Specifications Reviews Related Content FAQ Key Features What’s Included Specifications Learn More Related Guides & Comparisons Helpful stroller guides, comparisons and buying advice related to this product. Frequently Asked Questions Description Features What’s Included Specifications Reviews Related Content FAQ Description Reviews FAQ Moon Bombs (3-pack) These hypoallergenic bath bombs don’t contain toys… but they DO make a colourless, scentless bubble bath that moisturizes your skin with coconut oil! Even better? It’s in a cute little gift box and wrapped in black crinkle paper. That means that everything is recyclable or biodegradable to be friendlier to our world! Moon Bombs are foaming hypo-allergenic bath fizzies with organic coconut oil & organic colloidal oats. As the Moon Bomb fizzes in the tub, it releases gentle, moisturing bath bubbles. We use Lathanol (sodium Lauryl Sulfoacetate or SLSa), a natural extract from coconuts to create bubbles to soften and sooth sensitive skin. Ingredients : Sodum Lauryl Sulfoacetate (Lathanol)*, Organic Coconut Oil, Organic Colloidal Oats, Sodium Bicarbonate, Citric Acid, Aqua. * Lathanai (SLSa) is a very gentle soothing bubbling agent, certified organic by ECOCERT. It s not to be confused with Sodium Lauryl Sulphate (SLS), a chemical compound that can irritate skin, eyes, mouth and lungs. NOTE: This product is hypo-allergenic and has no added scent or colour. Product Info: Hand-made Safe, non-toxic and 100% natural No pthalates, parabens, chemicals or other nasties Non-GMO, vegan, gluten-free Moisturizing bath bomb that creates bath bubbles Presented in a blue or white gabled gift box All Loot products are hand-made in Vancouver, Canada Ingredients sourced in North America About Loot Loot bath products are multi-sensory experiences designed to engage kids and stimulate their imagination. They draw on sight, smell and touch to motivate kids to jump in the tub and stay there. All products are certified compliant with CE, ASTM, CPSIA and Health Canada requirements. No pthalates, parabens or other nasties. The products are, at a minimum, 99.5% natural using ingredients that are both food and cosmetic grade, and they won’t stain your kids or your bathtub. They are committed to hand-making their products and sourcing their materials in North America. /* ================================================== DESKTOP MAIN BOX ================================================== */ .stroller-tabs-wrapper { position: relative; width: 92vw; max-width: 1600px; margin-top: 44px; margin-bottom: 30px; margin-left: 50%; transform: translateX(-50%); background: #ffffff; border: 1px solid #dfe5e8; border-radius: 8px; overflow: hidden; box-sizing: border-box; box-shadow: 0 3px 12px rgba(29, 54, 67, 0.045); } /* ================================================== DESKTOP NAV ================================================== */ .stroller-tabs-nav { display: flex; align-items: stretch; width: 100%; margin: 0; padding: 0; background: #f8f9fa; border-bottom: 1px solid #dfe5e8; } .stroller-tab-button { position: relative; flex: 1 1 0; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 60px; margin: 0; padding: 14px 12px; background: #f8f9fa; border: 0; border-right: 1px solid #e1e6e9; color: #363d42; font-size: 13px; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer; box-sizing: border-box; transition: background-color .2s ease, color .2s ease; } .stroller-tab-button:last-child { border-right: 0; } .stroller-tab-button::after { content: “”; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: transparent; } .stroller-tab-button:hover { background: #f1f9fd; color: #1687c9; } .stroller-tab-button.is-active { background: #ffffff; color: #1687c9; } .stroller-tab-button.is-active::after { background: #29a8e6; } /* ================================================== DESKTOP BODY ================================================== */ .stroller-tabs-body { width: 100%; min-height: 260px; background: #ffffff; } .stroller-tab-panel { display: none; width: 100%; } .stroller-tab-panel.is-active { display: block; } /* ================================================== CONTENT ================================================== */ .stroller-content-inner { width: 100%; padding: 42px 52px 50px; box-sizing: border-box; color: #343b40; font-size: 14px; line-height: 1.65; text-align: left; } .stroller-content-inner p, .stroller-content-inner li { text-align: left; } .stroller-description-content img { max-width: 100% !important; height: auto !important; } .stroller-description-content h1, .stroller-description-content h2, .stroller-description-content h3, .stroller-description-content h4 { text-align: left !important; } /* ================================================== SECTION HEADINGS ================================================== */ .stroller-section-heading { margin: 0 0 28px; } .stroller-section-heading h2 { margin: 0; color: #292e31; font-size: 24px; font-weight: 700; line-height: 1.25; text-align: left; } /* ================================================== FEATURES ================================================== */ .stroller-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } .stroller-feature-card { min-width: 0; padding: 25px 20px; background: #ffffff; border: 1px solid #e1e7ea; border-radius: 8px; box-sizing: border-box; text-align: center; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; } .stroller-feature-card:hover { transform: translateY(-2px); border-color: #b6dcea; box-shadow: 0 7px 20px rgba(38,117,150,.09); } .stroller-feature-icon { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin: 0 auto 15px; background: #edf9fd; border-radius: 50%; color: #219bc8; font-size: 15px; font-weight: 700; } .stroller-feature-title { margin-bottom: 8px; color: #292e31; font-size: 15px; font-weight: 700; text-align: center; } .stroller-feature-description { color: #647178; font-size: 12px; line-height: 1.55; text-align: center; } /* ================================================== INCLUDED ================================================== */ .stroller-included-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .stroller-included-card { padding: 22px; background: #fafbfb; border: 1px solid #e1e6e9; border-radius: 8px; } .stroller-included-title { margin-bottom: 7px; color: #292e31; font-size: 14px; font-weight: 700; } .stroller-included-description { color: #65727a; font-size: 12px; line-height: 1.55; } /* ================================================== SPECIFICATIONS ================================================== */ .stroller-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 54px; } .stroller-spec-row { display: grid; grid-template-columns: minmax(140px,.8fr) minmax(0,1.4fr); gap: 20px; padding: 13px 0; border-bottom: 1px solid #e7ecee; } .stroller-spec-label { color: #505b61; font-size: 12px; font-weight: 700; } .stroller-spec-value { color: #343b40; font-size: 12px; line-height: 1.5; } /* ================================================== RELATED CONTENT ================================================== */ .stroller-related-heading > span { display: block; margin-bottom: 8px; color: #279fc9; font-size: 11px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; } .stroller-related-heading p { max-width: 760px; margin: 10px 0 0; color: #657178; font-size: 13px; line-height: 1.6; } .stroller-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } .stroller-related-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #ffffff; border: 1px solid #dfe6e9; border-radius: 8px; color: inherit; text-decoration: none; box-shadow: 0 3px 12px rgba(29,54,67,.045); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; } .stroller-related-card:hover { transform: translateY(-3px); border-color: #9fd4e8; color: inherit; text-decoration: none; box-shadow: 0 9px 24px rgba(38,117,150,.11); } .stroller-related-image-wrap { position: relative; width: 100%; aspect-ratio: 16 / 8.5; overflow: hidden; background: #f2f6f8; } .stroller-related-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; } .stroller-related-card:hover .stroller-related-image { transform: scale(1.025); } .stroller-related-image-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 150px; padding: 20px; background: #f3f8fa; color: #91a4ad; font-size: 11px; font-weight: 600; letter-spacing: .4px; text-align: center; text-transform: uppercase; } .stroller-related-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; padding: 0 22px 20px; text-align: center; } .stroller-related-type { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; margin-top: -13px; margin-bottom: 16px; padding: 5px 11px; background: #ffffff; border: 1px solid #cfe8f3; border-radius: 4px; color: #279fc9; font-size: 9px; font-weight: 700; letter-spacing: .7px; line-height: 1; text-transform: uppercase; box-shadow: 0 3px 8px rgba(38,117,150,.08); z-index: 2; } .stroller-related-title { margin: 0 0 14px; color: #30373b; font-size: 17px; font-weight: 700; line-height: 1.35; text-align: center; } .stroller-related-read { display: inline-flex; align-items: center; justify-content: center; margin-top: auto; color: #279fc9; font-size: 11px; font-weight: 700; line-height: 1.3; } .stroller-related-card:hover .stroller-related-read { color: #1687c9; } .stroller-mobile-related-grid { display: grid; grid-template-columns: 1fr; gap: 13px; } .stroller-mobile-related-card { display: block; overflow: hidden; background: #ffffff; border: 1px solid #dfe6e9; border-radius: 7px; color: inherit; text-decoration: none; box-shadow: 0 3px 10px rgba(29,54,67,.04); } .stroller-mobile-related-card:hover { color: inherit; text-decoration: none; border-color: #9fd4e8; } .stroller-mobile-related-image { display: block; width: 100%; aspect-ratio: 16 / 8.5; object-fit: cover; background: #f3f8fa; } .stroller-mobile-related-body { padding: 16px 16px 18px; } .stroller-mobile-related-title { margin-bottom: 9px; color: #30383d; font-size: 14px; font-weight: 700; line-height: 1.4; } .stroller-mobile-related-read { display: inline-block; color: #279fc9; font-size: 11px; font-weight: 700; } /* Tablet */ @media screen and (min-width:768px) and (max-width:1050px) { .stroller-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* Mobile */ @media screen and (max-width:767px) { .stroller-related-grid { grid-template-columns: 1fr; } } /* ================================================== REVIEW ================================================== */ .stroller-review-content { min-height: 280px; } /* ================================================== MOBILE DEFAULT ================================================== */ .stroller-mobile-accordion { display: none; } /* ================================================== TABLET ================================================== */ @media screen and (min-width:768px) and (max-width:1050px) { .stroller-tabs-wrapper { width: 94vw; } .stroller-content-inner { padding: 34px 32px 40px; } .stroller-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .stroller-included-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .stroller-spec-grid { grid-template-columns: 1fr; } } /* ================================================== MOBILE ================================================== */ @media screen and (max-width:767px) { /* * Slightly wider than the original content column. * Approx. 12px extra on each side. */ .stroller-tabs-wrapper { width: calc(100% + 24px); max-width: none; margin-top: 20px; margin-bottom: 0; margin-left: -12px; transform: none; border-left: 0; border-right: 0; border-radius: 0; box-shadow: none; overflow: visible; } /* Hide desktop */ .stroller-tabs-nav, .stroller-tabs-body { display: none !important; } /* Show mobile accordion */ .stroller-mobile-accordion { display: block; width: 100%; background: #ffffff; } .stroller-mobile-item { width: 100%; border-bottom: 1px solid #e2e7ea; box-sizing: border-box; } .stroller-mobile-item:first-child { border-top: 1px solid #e2e7ea; } /* Header */ .stroller-mobile-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 60px; margin: 0; padding: 0 18px; background: #ffffff; border: 0; color: #30373c; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; box-sizing: border-box; } .stroller-mobile-trigger:hover { background: #fafcfd; } /* Arrow */ .stroller-mobile-arrow { position: relative; width: 18px; height: 18px; flex: 0 0 18px; margin-left: 16px; } .stroller-mobile-arrow::before, .stroller-mobile-arrow::after { content: “”; position: absolute; top: 8px; width: 7px; height: 1px; background: #40484d; transition: transform .2s ease; } .stroller-mobile-arrow::before { left: 2px; transform: rotate(45deg); } .stroller-mobile-arrow::after { right: 2px; transform: rotate(-45deg); } .stroller-mobile-item.is-open .stroller-mobile-arrow::before { transform: rotate(-45deg); } .stroller-mobile-item.is-open .stroller-mobile-arrow::after { transform: rotate(45deg); } /* Closed by default */ .stroller-mobile-panel { display: none; width: 100%; background: #ffffff; } .stroller-mobile-item.is-open .stroller-mobile-panel { display: block; } /* Content */ .stroller-mobile-content { width: 100%; padding: 18px 18px 26px; box-sizing: border-box; color: #49545a; font-size: 13px; line-height: 1.65; } .stroller-mobile-content p, .stroller-mobile-content li { text-align: left; } .stroller-mobile-description img { max-width: 100% !important; height: auto !important; } .stroller-mobile-description h1, .stroller-mobile-description h2, .stroller-mobile-description h3 { text-align: left !important; } /* Mobile cards */ .stroller-mobile-list { display: flex; flex-direction: column; gap: 11px; } .stroller-mobile-card { padding: 14px 15px; background: #fafbfb; border: 1px solid #e3e8eb; border-radius: 6px; } .stroller-mobile-card-title { margin-bottom: 5px; color: #30383d; font-size: 13px; font-weight: 700; } .stroller-mobile-card-description { color: #667279; font-size: 12px; line-height: 1.55; } /* Mobile specs */ .stroller-mobile-spec-list { width: 100%; } .stroller-mobile-spec-row { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); gap: 14px; padding: 11px 0; border-bottom: 1px solid #e7ecee; } .stroller-mobile-spec-label { color: #505b61; font-size: 12px; font-weight: 700; } .stroller-mobile-spec-value { color: #505b61; font-size: 12px; line-height: 1.45; } } document.addEventListener(‘DOMContentLoaded’, function () { /* ===================================================== READ CUSTOM FIELDS ====================================================== */ var fieldContainer = document.getElementById( ‘productTabFields’ ); if (!fieldContainer) { return; } var fields = {}; fieldContainer .querySelectorAll( ‘.product-tab-field’ ) .forEach(function (field) { var name = field.getAttribute( ‘data-name’ ); if (!name) { return; } fields[name.trim()] = ( field.getAttribute( ‘data-value’ ) || ” ).trim(); }); /* ===================================================== STROLLER MODE ====================================================== */ var strollerMode = fields.stroller_tabs && fields.stroller_tabs .replace(/ ]*>/g,”) .trim() .toLowerCase() === ‘yes’; /* ===================================================== SINGLE DESCRIPTION SOURCE Keep product.description only once in the HTML. Move that same DOM node to the correct desktop/mobile container instead of rendering duplicate copies. ====================================================== */ var productDescriptionSource = document.getElementById( ‘productDescriptionSource’ ); function moveProductDescription() { if (!productDescriptionSource) { return; } var target = null; if (strollerMode) { target = window.innerWidth ]*>/g,”) .trim(); if (!clean) { return; } results.push({ number: parseInt( match[1], 10 ), value: fields[key] }); }); results.sort( function (a,b) { return a.number-b.number; } ); return results; } function splitField(value) { var temp = document.createElement( ‘div’ ); temp.innerHTML = value; var text = temp.textContent || temp.innerText || ”; var parts = text.split(‘|’); return { title: (parts.shift() || ”) .trim(), description: parts .join(‘|’) .trim() }; } function escapeHTML(value) { var div = document.createElement( ‘div’ ); div.textContent = value || ”; return div.innerHTML; } /* ===================================================== FEATURES ====================================================== */ var featureFields = getNumberedFields( ‘tab_features’ ); if (featureFields.length) { var featureButton = strollerWrapper.querySelector( ‘.stroller-tab-features’ ); var mobileFeature = strollerWrapper.querySelector( ‘.stroller-mobile-features’ ); if (featureButton) { featureButton.style.display = ‘flex’; } if (mobileFeature) { mobileFeature.style.display = ‘block’; } var desktopGrid = document.getElementById( ‘strollerFeaturesGrid’ ); var mobileGrid = document.getElementById( ‘strollerMobileFeaturesGrid’ ); featureFields.forEach( function (item,index) { var data = splitField( item.value ); if (desktopGrid) { var card = document.createElement( ‘div’ ); card.className = ‘stroller-feature-card’; card.innerHTML = ‘ ‘ + String(index+1) .padStart(2,’0’) + ‘ ‘ + ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ( data.description ? ‘ ‘ + escapeHTML( data.description ) + ‘ ‘ : ” ); desktopGrid.appendChild( card ); } if (mobileGrid) { var mobileCard = document.createElement( ‘div’ ); mobileCard.className = ‘stroller-mobile-card’; mobileCard.innerHTML = ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ( data.description ? ‘ ‘ + escapeHTML( data.description ) + ‘ ‘ : ” ); mobileGrid.appendChild( mobileCard ); } } ); } /* ===================================================== INCLUDED ====================================================== */ var includedFields = getNumberedFields( ‘tab_included’ ); if (includedFields.length) { var includedButton = strollerWrapper.querySelector( ‘.stroller-tab-included’ ); var mobileIncluded = strollerWrapper.querySelector( ‘.stroller-mobile-included’ ); if (includedButton) { includedButton.style.display = ‘flex’; } if (mobileIncluded) { mobileIncluded.style.display = ‘block’; } var includedGrid = document.getElementById( ‘strollerIncludedGrid’ ); var mobileIncludedGrid = document.getElementById( ‘strollerMobileIncludedGrid’ ); includedFields.forEach( function (item) { var data = splitField( item.value ); if (includedGrid) { var card = document.createElement( ‘div’ ); card.className = ‘stroller-included-card’; card.innerHTML = ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ( data.description ? ‘ ‘ + escapeHTML( data.description ) + ‘ ‘ : ” ); includedGrid.appendChild( card ); } if (mobileIncludedGrid) { var mobileCard = document.createElement( ‘div’ ); mobileCard.className = ‘stroller-mobile-card’; mobileCard.innerHTML = ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ( data.description ? ‘ ‘ + escapeHTML( data.description ) + ‘ ‘ : ” ); mobileIncludedGrid .appendChild( mobileCard ); } } ); } /* ===================================================== SPECIFICATIONS ====================================================== */ var specificationFields = getNumberedFields( ‘tab_specifications’ ); if (specificationFields.length) { var specButton = strollerWrapper.querySelector( ‘.stroller-tab-specifications’ ); var mobileSpec = strollerWrapper.querySelector( ‘.stroller-mobile-specifications’ ); if (specButton) { specButton.style.display = ‘flex’; } if (mobileSpec) { mobileSpec.style.display = ‘block’; } var specGrid = document.getElementById( ‘strollerSpecificationsGrid’ ); var mobileSpecGrid = document.getElementById( ‘strollerMobileSpecificationsGrid’ ); specificationFields.forEach( function (item) { var data = splitField( item.value ); if (specGrid) { var row = document.createElement( ‘div’ ); row.className = ‘stroller-spec-row’; row.innerHTML = ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ‘ ‘ + escapeHTML( data.description ) + ‘ ‘; specGrid.appendChild( row ); } if (mobileSpecGrid) { var mobileRow = document.createElement( ‘div’ ); mobileRow.className = ‘stroller-mobile-spec-row’; mobileRow.innerHTML = ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ‘ ‘ + escapeHTML( data.description ) + ‘ ‘; mobileSpecGrid.appendChild( mobileRow ); } } ); } /* ===================================================== RELATED CONTENT Article fields: tab_related_1 tab_related_2 … Format: Title|URL Matching image fields: tab_related_image_1 tab_related_image_2 … Image field value: Full image URL ====================================================== */ var relatedFields = getNumberedFields( ‘tab_related’ ); function splitRelatedField(value) { var temp = document.createElement( ‘div’ ); temp.innerHTML = value; var textValue = temp.textContent || temp.innerText || ”; var parts = textValue.split(‘|’); return { title: (parts[0] || ”) .trim(), url: (parts[1] || ”) .trim() }; } if (relatedFields.length) { var relatedButton = strollerWrapper.querySelector( ‘.stroller-tab-related’ ); var mobileRelated = strollerWrapper.querySelector( ‘.stroller-mobile-related’ ); if (relatedButton) { relatedButton.style.display = ‘flex’; } if (mobileRelated) { mobileRelated.style.display = ‘block’; } var relatedGrid = document.getElementById( ‘strollerRelatedGrid’ ); var mobileRelatedGrid = document.getElementById( ‘strollerMobileRelatedGrid’ ); relatedFields.forEach( function (item) { var data = splitRelatedField( item.value ); if ( !data.title || !data.url ) { return; } var imageFieldName = ‘tab_related_image_’ + item.number; var imageUrl = ( fields[imageFieldName] || ” ) .replace(/ ]*>/g,”) .trim(); if (relatedGrid) { var card = document.createElement( ‘a’ ); card.className = ‘stroller-related-card’; card.href = data.url; card.innerHTML = ‘ ‘ + ( imageUrl ? ‘ ‘ : ‘ ‘ + ‘Related Guide’ + ‘ ‘ ) + ‘ ‘ + ‘ ‘ + ‘ READ ‘ + ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ‘ ‘ + ‘Read Now ‘ + ‘ ‘ + ‘ ‘; relatedGrid.appendChild( card ); } if (mobileRelatedGrid) { var mobileCard = document.createElement( ‘a’ ); mobileCard.className = ‘stroller-mobile-related-card’; mobileCard.href = data.url; mobileCard.innerHTML = ( imageUrl ? ‘ ‘ : ‘ ‘ + ‘Related Guide’ + ‘ ‘ ) + ‘ ‘ + ‘ ‘ + escapeHTML( data.title ) + ‘ ‘ + ‘ ‘ + ‘Read Now ‘ + ‘ ‘ + ‘ ‘; mobileRelatedGrid.appendChild( mobileCard ); } } ); } /* ===================================================== FAQ DESKTOP ====================================================== */ var faqSection = document.getElementById( ‘product-faq’ ); var faqTarget = document.getElementById( ‘strollerFaqTarget’ ); if ( faqSection && faqTarget ) { faqTarget.appendChild( faqSection ); } /* ===================================================== FAQ MOBILE ====================================================== */ var mobileFaqSection = document.getElementById( ‘product-faq-mobile’ ); var mobileFaqTarget = document.getElementById( ‘strollerMobileFaqTarget’ ); if ( mobileFaqSection && mobileFaqTarget ) { mobileFaqTarget.appendChild( mobileFaqSection ); } /* ===================================================== DESKTOP TAB CLICK ====================================================== */ var tabButtons = strollerWrapper .querySelectorAll( ‘[data-stroller-tab]’ ); tabButtons.forEach( function (button) { button.addEventListener( ‘click’, function () { var target = button.getAttribute( ‘data-stroller-tab’ ); tabButtons.forEach( function (item) { item.classList.remove( ‘is-active’ ); } ); strollerWrapper .querySelectorAll( ‘.stroller-tab-panel’ ) .forEach( function (panel) { panel.classList.remove( ‘is-active’ ); } ); button.classList.add( ‘is-active’ ); var targetPanel = document.getElementById( ‘stroller-panel-‘ + target ); if (targetPanel) { targetPanel.classList.add( ‘is-active’ ); } } ); } ); /* ===================================================== MOBILE ACCORDION ALL CLOSED BY DEFAULT ====================================================== */ var mobileItems = strollerWrapper .querySelectorAll( ‘.stroller-mobile-item’ ); mobileItems.forEach( function (item) { var trigger = item.querySelector( ‘.stroller-mobile-trigger’ ); if (!trigger) { return; } trigger.addEventListener( ‘click’, function () { var open = item.classList.contains( ‘is-open’ ); mobileItems.forEach( function (other) { other.classList.remove( ‘is-open’ ); } ); if (!open) { item.classList.add( ‘is-open’ ); } } ); } ); }); /* LA MILLOU THEME ONLY */ body.lm-textile-mode .stroller-tabs-wrapper { border-color: #dce6df; } /* DESKTOP TAB NAVIGATION */ body.lm-textile-mode .stroller-tabs-nav { background: #f7f9f7; border-bottom-color: #dce6df; } body.lm-textile-mode .stroller-tab-button { background: #f7f9f7; border-right-color: #e2e9e4; color: #34463b; } body.lm-textile-mode .stroller-tab-button:hover { background: #eef4ef; color: #445f52; } body.lm-textile-mode .stroller-tab-button.is-active { background: #ffffff; color: #445f52; } body.lm-textile-mode .stroller-tab-button.is-active::after { background: #6f8a7d; } /* SECTION HEADINGS */ body.lm-textile-mode .stroller-section-heading h2 { color: #273c30; } /* MATERIAL CARDS */ body.lm-textile-mode .stroller-feature-card { border-color: #dce6df; } body.lm-textile-mode .stroller-feature-card:hover { border-color: #9cb9a5; box-shadow: 0 7px 20px rgba(68,95,82,.08); } body.lm-textile-mode .stroller-feature-icon { background: #e7efe9; color: #445f52; } /* RELATED CONTENT */ body.lm-textile-mode .stroller-related-heading > span, body.lm-textile-mode .stroller-related-read, body.lm-textile-mode .stroller-mobile-related-read { color: #445f52; } body.lm-textile-mode .stroller-related-type { color: #445f52; border-color: #dce6df; } body.lm-textile-mode .stroller-related-card:hover, body.lm-textile-mode .stroller-mobile-related-card:hover { border-color: #9cb9a5; } /* MOBILE ACCORDION */ @media (max-width: 767px) { body.lm-textile-mode .stroller-mobile-item { border-bottom-color: #dce6df; } body.lm-textile-mode .stroller-mobile-trigger:hover { background: #f4f8f5; } body.lm-textile-mode .stroller-mobile-item.is-open > .stroller-mobile-trigger { background: #f4f8f5; color: #445f52; } body.lm-textile-mode .stroller-mobile-card { border-color: #dce6df; background: #f8faf8; } } (function () { “use strict”; /* ========================================= READ CUSTOM FIELD ========================================= */ var fieldContainer = document.getElementById(“productTabFields”); if (!fieldContainer) return; var fields = {}; fieldContainer .querySelectorAll(“.product-tab-field”) .forEach(function (field) { var name = field.getAttribute(“data-name”); var value = field.getAttribute(“data-value”); if (name) { fields[name.trim()] = (value || “”).trim(); } }); function isEnabled(value) { return String(value || “”) .replace(/ ]*>/g, “”) .trim() .toLowerCase() === “yes”; } var laMillouMode = isEnabled(fields.la_millou_tabs); if (!laMillouMode) return; /* Avoid overriding products already configured for the original stroller mode. */ if (isEnabled(fields.stroller_tabs)) return; /* ========================================= REUSE ORIGINAL STROLLER TAB ENGINE The original code reads Custom Fields on DOMContentLoaded. This field is inserted before that event, so the existing engine can run unchanged. ========================================= */ var modeField = document.createElement(“div”); modeField.className = “product-tab-field”; modeField.setAttribute(“data-name”, “stroller_tabs”); modeField.setAttribute(“data-value”, “yes”); fieldContainer.appendChild(modeField); document.body.classList.add(“lm-textile-mode”); /* ========================================= CHANGE LA MILLOU TAB LABELS ========================================= */ document.addEventListener(“DOMContentLoaded”, function () { var wrapper = document.getElementById(“strollerTabsWrapper”); if (!wrapper) return; var tabNames = { features: “Materials & Safety”, included: “Size & Details”, specifications: “Care Instructions” }; /* DESKTOP BUTTONS */ Object.keys(tabNames).forEach(function (key) { var button = wrapper.querySelector( ‘[data-stroller-tab=”‘ + key + ‘”]’ ); if (button) { button.textContent = tabNames[key]; } }); /* DESKTOP CONTENT HEADINGS */ var headings = { “stroller-panel-features”: “Materials & Safety”, “stroller-panel-included”: “Size & Product Details”, “stroller-panel-specifications”: “Care Instructions” }; Object.keys(headings).forEach(function (id) { var panel = document.getElementById(id); if (!panel) return; var heading = panel.querySelector( “.stroller-section-heading h2” ); if (heading) { heading.textContent = headings[id]; } }); /* RELATED CONTENT HEADING */ var relatedHeading = wrapper.querySelector( “.stroller-related-heading h2” ); if (relatedHeading) { relatedHeading.textContent = “La Millou Guides & Articles”; } var relatedDescription = wrapper.querySelector( “.stroller-related-heading p” ); if (relatedDescription) { relatedDescription.textContent = “Explore La Millou’s Polish design, ” + “fabric materials, textile safety ” + “and helpful product guides.”; } /* ========================================= MOBILE ACCORDION LABELS ========================================= */ var mobileLabels = { “.stroller-mobile-features”: “Materials & Safety”, “.stroller-mobile-included”: “Size & Details”, “.stroller-mobile-specifications”: “Care Instructions” }; Object.keys(mobileLabels).forEach(function (selector) { var item = wrapper.querySelector(selector); if (!item) return; var label = item.querySelector( “.stroller-mobile-trigger span” ); if (label) { label.textContent = mobileLabels[selector]; } }); }); })();

Add a Review

Your email address will not be published. Required fields are marked *

Related Products

Cuddle + Kind Baby Fawn
-20%
Cuddle + Kind Baby Fawn

$25.99   $20.79

Changing Backpack
-50%
Changing Backpack

$116.99   $58.50

Bumbo Multi Seat Lime
-50%
Bumbo Multi Seat Lime

$62.99   $31.50