[email protected]

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

Shopping Cart

Janod Magneti’book – Modulo

Original price was: $19.99.Current price is: $15.99.
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 Suddenly, a shape moves and everything changes! The Magnti’book tangram offers 85 colorful magnets so children as young as 3 can create lots of fun figures: birds, characters, vehicles and much more! Its magnetic book format is ultra-practical: simply open it to discover the magnets, the 30 model cards, and the magnetic surface on which to assemble the magnets. The principle is simple: children can reproduce the provided models or let their imaginations run wild, creating whatever comes to mind. All the pieces fit together, offering an infinite number of original combinations! Children can then imagine their own stories: it’s ideal for stimulating the imagination! This tangram-inspired game invites children to manipulate geometric shapes, thus developing their logic, concentration, and spatial awareness. Each creation is a little challenge to overcome! Manipulating the magnets also helps stimulate children’s fine motor skills. Indeed, they are easy for little hands to grasp. Thanks to its compact size, the Magnti’book easily slips into a bookcase or bag to be taken everywhere. This box is made of FSC certified cardboard. Features Suitable for ages 3 and up, to stimulate logic and imagination Enough to keep the children occupied for hours! Hilarious figures to create Product Details Dimensions 19 x 4 x 26 cm (7.5 x 1.6 x 10.2″) Material(s) cardboard Box type Lovely book-shaped box set, ideal for storing in a library or for carrying Warning(s) WARNING! Small parts. Choking hazard. Remove all packaging before giving the toy to your child. Keep this information. /* ================================================== 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

Bumbo Step 'N Potty Grey
-20%
Classic Dolls Pram - Pink
-50%
Classic Dolls Pram - Pink

$110.00   $55.00

Changing Backpack
-50%
Changing Backpack

$116.99   $58.50