{"id":9624,"date":"2025-05-19T17:17:43","date_gmt":"2025-05-19T15:17:43","guid":{"rendered":"https:\/\/devbox2.mc8pm.com\/bobo-el-trailer\/modelos-bobo\/"},"modified":"2026-03-03T15:51:33","modified_gmt":"2026-03-03T14:51:33","slug":"modelos-bobo","status":"publish","type":"page","link":"https:\/\/vanme.de\/es\/bobo-el-trailer\/modelos-bobo\/","title":{"rendered":"Modelos BOBO"},"content":{"rendered":"\n\n\n                        \n            \n            <section class=\"block-media cnt-1 block-media-mobile-sort- blockheight-laptop-80vh blockheight-tablet-60vh blockheight-mobile-60vh blockstyle-display block-media-width-\" style=\"margin-top: 0px\">\n\n                \n                \n                    \n                    <div class=\"media media-0 has-media\">\n\n                        \n\n                        \n                            \n                            <picture class=\"s1x-picture-cover jshook-provide-hq-after-dom-loaded \">\n                                <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook3.jpg\"\n                                        width=\"1920\"\n                                        height=\"1080\">\n\n                                \n                                <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook3.jpg.webp\"\n                                        width=\"1920\"\n                                        height=\"1080\"\n                                        type=\"image\/webp\">\n\n                                                                <img decoding=\"async\" loading=\"lazy\"\n                                     src=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook3.jpg\"\n                                     width=\"1920\"\n                                     height=\"1080\"\n                                     alt=\"\">\n                            <\/picture>\n\n                        \n                        <div class=\"overlay s1x-absolute-100 has-media                            s1x-tovp-tablapdesk-                            s1x-tovp-mob-\n                            s1x-tovp-notext\">\n\n                            \n                            \n                            \n                            \n                            \n                            \n                        <\/div>\n\n                        \n                    <\/div>\n\n                \n            <\/section>\n\n            \n\n\n    <section class=\"block-breadcrumb  area-align-\" style=\"margin-top: 40px; max-width: ;\">\n\n        <nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Inicio<\/span><\/p><\/nav>\n    <\/section>\n\n\n\n    <section class=\"block-text center area-align-center\" style=\"margin-top: 80px; max-width: 1600px\">\n\n        \n                                \n                                            <h1 class=\"ff-bebas-ds80 ff-uppercase hlsize-\">BOBO - Libertad en dos tama\u00f1os<\/h1>\n                    \n        \n        <div class=\"ff-bodytext \">\n            <p>Ya sea compacto o espacioso, BOBO est\u00e1 disponible en dos versiones que tienen algo en com\u00fan: m\u00e1xima flexibilidad con el m\u00ednimo esfuerzo.<br \/>\nEl BOBO L+ es el compa\u00f1ero ideal para viajes de fin de semana y aventuras todoterreno, mientras que el BOBO XL+ impresiona con a\u00fan m\u00e1s espacio y capacidad de carga, perfecto para viajes m\u00e1s largos y grandes planes.<\/p>\n<p>Ambos modelos comparten el mismo ADN: robusta tecnolog\u00eda todoterreno, construcci\u00f3n modular y el inconfundible dise\u00f1o VANME.<br \/>\nElige el BOBO que mejor se adapte a tu aventura.<\/p>\n        <\/div>\n\n\n                \n    <\/section>\n\n\n\n    \n                \n            <section class=\"block-cars-grid\" style=\"margin-top: 80px\">\n\n                 \n                    <a href=\"https:\/\/vanme.de\/es\/bobo-el-trailer\/modelos-bobo\/bobo-l\/\" class=\"item\">\n\n                         \n                         <picture class=\"jshook-provide-hq-after-dom-loaded\">\n                             <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-sideview.png\"\n                                     width=\"1300\"\n                                     height=\"850\">\n\n                             \n                             <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-sideview.png.webp\"\n                                     width=\"1300\"\n                                     height=\"850\"\n                                     type=\"image\/webp\">\n\n                                                          <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-sideview.png\"\n                                  width=\"1300\"\n                                  height=\"850\"\n                                  alt=\"\">\n                         <\/picture>\n\n                         <h3 class=\"headline ff-lakes-neue-cnd-ds23\">BOBO L+<\/h3>\n                         <div class=\"text ff-bodytext\">Mochila talla L<\/div>\n\n                        \n                     <\/a>\n\n\n                 \n                    <a href=\"https:\/\/vanme.de\/es\/bobo-el-trailer\/modelos-bobo\/bobo-xl\/\" class=\"item\">\n\n                         \n                         <picture class=\"jshook-provide-hq-after-dom-loaded\">\n                             <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/09\/bobo-xl-modellbase-2.png\"\n                                     width=\"1300\"\n                                     height=\"850\">\n\n                             \n                             <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/09\/bobo-xl-modellbase-2.png.webp\"\n                                     width=\"1300\"\n                                     height=\"850\"\n                                     type=\"image\/webp\">\n\n                                                          <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/09\/bobo-xl-modellbase-2.png\"\n                                  width=\"1300\"\n                                  height=\"850\"\n                                  alt=\"\">\n                         <\/picture>\n\n                         <h3 class=\"headline ff-lakes-neue-cnd-ds23\">BOBO XL+<\/h3>\n                         <div class=\"text ff-bodytext\">Mochila talla XL<\/div>\n\n                        \n                     <\/a>\n\n\n                 \n            <\/section>\n\n        <script>\n            \/**\n             * Sets container padding based on content heights and adds interaction behavior\n             *\/\n            function initCarGridFunctionality() {\n                \/\/ Get all item elements\n                const items = document.querySelectorAll('.block-cars-grid .item');\n\n                \/\/ Function to set container padding\n                function setContainerPadding() {\n                    items.forEach(item => {\n                        \/\/ Get the elements whose heights we need to calculate\n                        const picture = item.querySelector('picture');\n                        const headline = item.querySelector('.headline');\n                        const text = item.querySelector('.text');\n                        const container = item.querySelector('.container');\n\n                        if (!picture || !headline || !text || !container) return;\n\n                        \/\/ Calculate total height\n                        const pictureHeight = picture.offsetHeight;\n                        const headlineHeight = headline.offsetHeight;\n                        const textHeight = text.offsetHeight;\n\n                        \/\/ Set padding-top of the container\n                        const totalHeight = pictureHeight + headlineHeight + textHeight + 20;\n                        container.style.paddingTop = `${totalHeight}px`;\n                    });\n                }\n\n                \/\/ Function to scroll an element to the center of the viewport\n                function scrollToCenter(element) {\n                    if (!element) return;\n\n                    \/\/ Get element's position relative to the viewport\n                    const rect = element.getBoundingClientRect();\n\n                    \/\/ Calculate where the element should be positioned\n                    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n                    const windowHeight = window.innerHeight;\n                    const elementHeight = rect.height;\n\n                    \/\/ Calculate the target scroll position (center of element aligned with center of viewport)\n                    const targetScrollPosition = scrollTop + rect.top - (windowHeight \/ 2) + (elementHeight \/ 2);\n\n                    \/\/ Smooth scroll to the target position\n                    window.scrollTo({\n                        top: targetScrollPosition,\n                        behavior: 'smooth'\n                    });\n                }\n\n                \/\/ Detect if device is mobile (touch device)\n                const isMobile = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n\n                \/\/ Setup interaction behavior for each item\n                items.forEach(item => {\n                    const container = item.querySelector('.container');\n                    const button = item.querySelector('.container .s1x-button');\n\n                    if (!container) return;\n\n                    if (isMobile) {\n                        \/\/ Mobile: Add click event to toggle active class\n                        item.addEventListener('click', function(event) {\n                            \/\/ Check if this item is already active\n                            const isActive = item.classList.contains('active');\n\n                            \/\/ Get the target and check if it's within the container or a link\n                            let target = event.target;\n                            let isWithinContainer = false;\n                            let isLink = target.tagName === 'A';\n\n                            \/\/ Check if target is within the container or is a link\n                            while (target && target !== item && !isLink) {\n                                if (target === container) {\n                                    isWithinContainer = true;\n                                }\n                                if (target.tagName === 'A') {\n                                    isLink = true;\n                                }\n                                target = target.parentNode;\n                            }\n\n                            \/\/ If it's already active, close it (unless clicking a link or inside container)\n                            if (isActive && !isLink && !isWithinContainer) {\n                                item.classList.remove('active');\n                                event.preventDefault();\n                                event.stopPropagation();\n                                return;\n                            }\n\n                            \/\/ If click is not within the container and not on a link\n                            if (!isWithinContainer && !isLink) {\n                                \/\/ Remove active class from all items first\n                                document.querySelectorAll('.block-cars-grid .item').forEach(i => {\n                                    i.classList.remove('active');\n                                });\n\n                                \/\/ Add active class\n                                item.classList.add('active');\n\n                                \/\/ Scroll this item to center of viewport\n                                scrollToCenter(item);\n\n                                event.preventDefault();\n                                event.stopPropagation();\n                            }\n                        });\n\n                        \/\/ Add click handler specifically for pictures\n                        const picture = item.querySelector('picture');\n                        if (picture) {\n                            picture.addEventListener('click', function(event) {\n                                \/\/ Check if this item is already active\n                                const isActive = item.classList.contains('active');\n\n                                if (isActive) {\n                                    \/\/ If already active, close it\n                                    item.classList.remove('active');\n                                } else {\n                                    \/\/ Remove active class from all items first\n                                    document.querySelectorAll('.block-cars-grid .item').forEach(i => {\n                                        i.classList.remove('active');\n                                    });\n\n                                    \/\/ Add active class\n                                    item.classList.add('active');\n\n                                    \/\/ Scroll this item to center of viewport\n                                    scrollToCenter(item);\n                                }\n\n                                event.preventDefault();\n                                event.stopPropagation();\n                            });\n                        }\n                    } else {\n                        \/\/ Desktop: Add hover events for visual effect\n                        item.addEventListener('mouseenter', function() {\n                            item.classList.add('active');\n                        });\n\n                        item.addEventListener('mouseleave', function() {\n                            item.classList.remove('active');\n                        });\n\n                        \/\/ Desktop: Add click event to navigate to button URL\n                        item.addEventListener('click', function(event) {\n                            \/\/ Get the URL from the button\n                            if (button && button.getAttribute('href')) {\n                                const url = button.getAttribute('href');\n\n                                \/\/ Check if clicking on a link or the button itself\n                                let isButtonOrLink = false;\n                                let target = event.target;\n\n                                while (target && target !== item) {\n                                    if (target.tagName === 'A') {\n                                        isButtonOrLink = true;\n                                        break;\n                                    }\n                                    target = target.parentNode;\n                                }\n\n                                \/\/ If not clicking on a link or button directly, navigate to button URL\n                                if (!isButtonOrLink) {\n                                    window.location.href = url;\n                                    event.preventDefault();\n                                }\n                            }\n                        });\n                    }\n                });\n\n                \/\/ For mobile: Close active item when clicking outside\n                if (isMobile) {\n                    document.addEventListener('click', function(event) {\n                        \/\/ Check if click is outside of any item\n                        const clickedOnItem = event.target.closest('.block-cars-grid .item');\n\n                        if (!clickedOnItem) {\n                            \/\/ Remove active class from all items\n                            document.querySelectorAll('.block-cars-grid .item').forEach(item => {\n                                item.classList.remove('active');\n                            });\n                        }\n                    });\n                }\n\n                \/\/ Handle resize and page load events\n                window.addEventListener('load', setContainerPadding);\n\n                let resizeTimeout;\n                window.addEventListener('resize', function() {\n                    clearTimeout(resizeTimeout);\n                    resizeTimeout = setTimeout(setContainerPadding, 100);\n                });\n\n                window.addEventListener('orientationchange', setContainerPadding);\n\n                \/\/ Initial calculation\n                setContainerPadding();\n            }\n\n            \/\/ Initialize when DOM is ready\n            document.addEventListener('DOMContentLoaded', initCarGridFunctionality);\n        <\/script>\n\n            \n\n\n    <section class=\"block-contact\" style=\"margin-top: 80px\">\n\n\n        <div class=\"block-inner\">\n\n                            <div class=\"bookmark\">\n                    <div class=\"cssimg-bookmark cssimg-contain-center-norepeat jshook-bookmark-add\"\n                         data-bookmark-headline=\"Trailer BOBO Info\"\n                         data-bookmark-content=\"Solicito m\u00e1s material informativo sobre BOBO.\">\n                    <\/div>\n                    <div class=\"text ff-bodytext\">Recuerda Trailer BOBO para tu consulta<\/div>\n                <\/div>\n\n            \n\n                            <div class=\"text ff-bodytext\">\u00bfQuieres tu propio BOBO? Haz una consulta para aclarar todas las cuestiones pendientes. \u00c9ste es el primer paso para que BOBO pueda seguirte pronto en tus aventuras.  <\/div>\n                <a class=\"s1x-button btn-white-do\" href=\"https:\/\/vanme.de\/es\/contacta-con-nosotros\/\">\n                    Contacto                <\/a>\n            \n        <\/div>\n\n        \n        <picture class=\"s1x-picture-cover-absolute jshook-provide-hq-after-dom-loaded\">\n            <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook.jpg\"\n                    width=\"1920\"\n                    height=\"1080\">\n\n            \n            <source srcset-hq=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook.jpg.webp\"\n                    width=\"1920\"\n                    height=\"1080\"\n                    type=\"image\/webp\">\n\n                        <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vanme.de\/wp-content\/uploads\/2025\/05\/bobo-lplus-portugal-outlook.jpg\"\n                 width=\"1920\"\n                 height=\"1080\"\n                 alt=\"\">\n        <\/picture>\n\n\n    <\/section>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":9622,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-9624","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/pages\/9624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/comments?post=9624"}],"version-history":[{"count":5,"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/pages\/9624\/revisions"}],"predecessor-version":[{"id":15157,"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/pages\/9624\/revisions\/15157"}],"up":[{"embeddable":true,"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/pages\/9622"}],"wp:attachment":[{"href":"https:\/\/vanme.de\/es\/wp-json\/wp\/v2\/media?parent=9624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}