[email protected]

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

Shopping Cart

Janod Sweet Cocoon: Multi-Activity Maxi Cube

Original price was: $77.99.Current price is: $39.00.
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 Description This is THE wooden activity cube that baby is bound to love! The complete early-learning toy has been designed to stimulate the senses of little ones aged 18 months and up. What you can expect from this wooden early-years toy: fine motor skills, sound stimulation, manipulation, slotting and a surprising new friend. The 11 activities are distributed over each side, resulting in a giant multi-activity cube that is full of surprises, all within baby’s reach! Included: rotating flower gears, 1 ladybird that makes a grinding sound, 1 multicoloured caterpillar with each round body part rotating on their axis, 2 mirrors (including 1 hidden under 1 felt leaf), 1 snail whose shell rotates to move the beads inside, 1 maze with 6 sliding wooden pieces, 1 shape-sorting box with 5 slot-in pieces, 1 large abacus and 1 large flower-shaped mirror for a birds-eye view. However, the funniest surprise remains to be discovered by baby: a mischievous spider that has woven its web over the shape sorter! To retrieve the pieces that have fallen inside the cube, your toddler will have to pass their hand through the canvas web. But that’s not all, this fun insect is magnetic and therefore adheres to its web! Our easy-to-grasp and manipulate spider friend can also roll and lunge on the ground to surprise and amuse the whole family (especially baby, who is sure to laugh out loud)! This activity cube with an abacus will promote your little ones manipulation skills, discovery and curiosity: important developmental concepts that will help them better understand their environment and grow properly. Thanks to the pastoral dcor, various shapes and natural elements, your baby will learn something new every day! Sounds to be discovered, various materials to touch time and time again, movements to carefully observe, etc. The timeless colours and natural wood make this activity toy essential for entertaining your little one. This Multi-Activity Maxi Cube is made from FSC-certified wood, decorated with water-based paints and part of our Sweet Cocoon collection. Features Activity cube with abacus for babies aged 18 months and up More than 10 fun games to stimulate the senses A fun magnetic friend to roll around: surprises are guaranteed! Product Details Dimensions 36 x 34 x 48 cm Box type Pretty closed box /* ================================================== 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

Changing Backpack
-50%
Changing Backpack

$116.99   $58.50