Con una suela de goma única, cordones tradicionales, una experiencia Fáciles de poner y quitar, y el ajuste de nuestra famosa colección de Calzado Barefoot, este modelo híbrido de perfil bajo ofrece la sensación de ir descalzo con un toque moderno. CARACTERÍSTICAS
• Parte superior de gamuza de cerdo impermeable
• Parte superior de ripstop ligera y duradera
• Cierre con cordones tradicionales
• Cuello acolchado
• Forro de malla transpirable 100 % reciclada
• Cubierta de la plantilla de malla 100 % reciclada
• Tratamiento Cleansport NXT™ para el control natural de los olores
• Plantilla integrada de espuma EVA
• La construcción Merrell Calzado Barefoot 2 está diseñada para mantener el pie en una posición natural
• Construcción interna de EVA más suave y ligera
• Suela de goma duradera Merrell Quantum Grip™ que permite caminar con confianza en los entornos de senderos más extremos
• Peso de medio par: 0 lb-10,23 oz, 290 g
• Drop: 0 mm
Completa el look
/* projects/merrell-complete-the-look/template:scripts/script.js */”use strict”;(() => { // projects/merrell-complete-the-look/scripts/cross-sell-map.js var crossSellMap = { “60744M”: [“60746M”, “60748M”, “60760M”, “17703M”], “60746M”: [“60744M”, “60748M”, “60760M”, “17703M”], “60748M”: [“60746M”, “60744M”, “60760M”, “17703M”], “60753M”: [“60758M”, “60748M”, “60812U”], «60745W»: [«60747W», «60749W», «60930W», «16256W»], «60747W»: [«60745W», “60749W”, “60930W”, “16256W”], “60749W”: [“60745W”, “60747W”, “60930W”, “16256W”], “60628W”: [“60755W”, “60700W”, “60738U”], “17703M”: [“61113M”, “61081M”, “61085U”], “44491W”: [“61086W”, “61087W”, “61085U”], “60644M”: [“61092M”, “61081M”, “61084U”], “16256W”: [“61107W”, “61111W”, “60735U”] }; // projects/merrell-complete-the-look/scripts/pdp-utils.js function getCurrentProductId() { return window.dataLayer[2].product_id; } // projects/merrell-complete-the-look/scripts/api.js var API_URL = “https://fedapps.wolverineworldwide.com”; var PRODUCTS_ENDPOINT = “/api/products”; function getSiteParams() { const siteId = window.CQuotient?.siteId || “merrell_us”; const locale = window.CQuotient?.locale?.replace(“_”, “-“) || “en-US”; return { siteId, locale }; } async function fetchProducts(styleCodes) { const { siteId, locale } = getSiteParams(); const url = new URL(`${API_URL}${PRODUCTS_ENDPOINT}`); url.searchParams.append(“ids”, styleCodes.join(“,”)); url.searchParams.append(“siteId”, siteId); url.searchParams.append(“locale”, locale); const respuesta = await fetch(url); if (!respuesta.ok) { throw new Error(`No se pudieron obtener los productos: ${respuesta.status}`); } return respuesta.json(); } // projects/merrell-complete-the-look/scripts/script.js function renderSlide(producto) { return `
${producto.name}
`; } function initCarousel() { const root = document.querySelector(“#complete-the-look”); const viewportNode = root.querySelector(“.ctl-carousel-viewport”); const prevButton = root.querySelector(“.ctl-btn-prev”); const nextButton = root.querySelector(“.ctl-btn-next”); const scrollbarNode = root.querySelector(“.ctl-progress”); const carousel = EmblaCarousel(viewportNode, { align: “start”, skipSnaps: true }); const hideClass = “carousel-hide”; const canNotScroll = () => !carousel.canScrollNext() && !carousel.canScrollPrev(); función handleInit(isReInit = false) { función updateButtons() { si (!prevButton || !nextButton) return; función setButtonStates() { prevButton.toggleAttribute(“disabled”, !carousel.canScrollPrev()); nextButton.toggleAttribute(“disabled”, !carousel.canScrollNext()); } si (canNotScroll()) { prevButton.classList.add(hideClass); nextButton.classList.add(hideClass); } else { prevButton.classList.remove(hideClass); nextButton.classList.remove(hideClass); } if (!isReInit) { prevButton.addEventListener(“click”, () => carousel.scrollPrev()); nextButton.addEventListener(“click”, () => carousel.scrollNext()); carousel.on(“select”, setButtonStates); } setButtonStates(); } function updateScrollbar() { if (!scrollbarNode) return; function setScrollProgress() { const rootNode = carousel.rootNode(); const containerNode = carousel.containerNode(); const rootWidth = rootNode.clientWidth; const containerWidth = containerNode.scrollWidth; const visibleRatio = containerWidth ? Math.min(1, rootWidth / containerWidth) : 1; const progress = Math.max(0, Math.min(1, carousel.scrollProgress())); const viewportCoverageRatio = progress * (1 – visibleRatio) + visibleRatio; const progressPercent = Math.ceil(viewportCoverageRatio * 1e3) / 10; scrollbarNode.style.setProperty( “–scroll-progress”, `${progressPercent}%` ); } if (canNotScroll()) { scrollbarNode.classList.add(hideClass); } else { scrollbarNode.classList.remove(hideClass); } carousel.on(“scroll”, setScrollProgress); setScrollProgress(); } updateButtons(); updateScrollbar(); } function reInit() { carousel.reInit({ watchDrag: !canNotScroll() }); } window.addEventListener(“resize”, () => { clearTimeout(window.__ctlResizeTimer); window.__ctlResizeTimer = setTimeout(reInit, 150); }); carousel.on(“init”, () => { handleInit(); reInit(); }); carousel.on(“reInit”, () => handleInit(true)); } function initToggle() { const root = document.querySelector(“#complete-the-look”); const toggle = root.querySelector(“.ctl-toggle”); const carousel = root.querySelector(“.ctl-carousel”); const controls = root.querySelector(“.ctl-controls”); toggle.addEventListener(“click”, () => { const collapsed = toggle.classList.toggle(“is-collapsed”); carousel.style.display = collapsed ? “none” : “”; controls.style.display = collapsed ? “none” : “”; }); } fedlib.pollForDataLayer(async function() { const productId = getCurrentProductId(); console.log(“[CTL] productId:”, productId); if (!productId) return; const recommendations = crossSellMap[productId]; console.log(“[CTL] recommendations:”, recommendations); if (!recommendations) return; const productsData = await fetchProducts(recommendations); console.log(“[CTL] productsData:”, productsData); const productos = datosDeProductos.data || []; if (!longitudDeProductos) return; let productosEnriquecidos; try { productosEnriquecidos = productos.map((producto) => { const urlSlug = new URL(producto.slugUrl, location.origin); return { nombre: producto.nombre, precio: producto.precio, imagen: producto.gruposDeImágenes[0].imágenes[0].link, url: slugUrl.href }; }); } catch (e) { console.error(“[CTL] error en enrichedProducts:”, e, products); return; } const root = document.querySelector(“#complete-the-look”); console.log(“[CTL] raíz:”, raíz); si (!raíz) return; try { const contenedor = raíz.querySelector(“.ctl-carousel-container”); container.innerHTML = enrichedProducts.map(renderSlide).join(“”); const productDescCol = root.closest(“.bfx-product-desc”); if (productDescCol) { const row = productDescCol.closest(“.row”); const insertAfter = row || productDescCol; insertAfter.after(root); } initCarousel(); initToggle(); console.log(“[CTL] hecho u2705”); } catch (e) { console.error(“[CTL] error de renderización:”, e); } });})();/* projects/merrell-complete-the-look/template:styles/style.scss */#complete-the-look { –ctl-padding-x: 0; –ctl-card-min-width: 265px; –ctl-card-max-width: 640px; –ctl-gap: 1rem; –ctl-progress-max-width: 265px; display: none;}@media (min-width: 768px) { #complete-the-look { –ctl-progress-max-width: 384px; }}@media (ancho mínimo: 1024px) { #complete-the-look { –ctl-card-min-width: 249px; –ctl-progress-max-width: 800px; }}.ctl { tamaño de fuente: 1rem; color: var(–color-base); fondo: #fff; alineación del texto: izquierda;}.ctl * { -webkit-suavizado-de-fuente: antialiasado; tamaño-de-cuadro: border-box;}.ctl a { color: heredar; text-decoration: none;}.ctl img { display: block; width: 100%; height: auto;}.ctl-wrapper { padding: 0 var(–ctl-padding-x); margin: 0 auto; max-width: max-content; border-top: 1px solid black;}.ctl-header { display: flex; padding: 1.5rem 0; align-items: center; justify-content: space-between;}.ctl-title { font-size: 1.5rem; margin: 0; peso de fuente: 500; altura de línea: 1.75rem; espaciado entre letras: -0.48px;}.ctl-toggle { display: flex; altura: auto; fondo: ninguno; borde: ninguno; cursor: puntero; alinear elementos: centro; justificar contenido: centro;}.ctl-toggle svg { ancho: 15px; transition: transform 0.3s ease; height: 15px;}.ctl-toggle.is-collapsed svg { transform: rotate(180deg);}.ctl-carousel { margin: 0 calc(var(–ctl-padding-x) * -1);}.ctl-carousel-viewport { overflow: hidden; padding-inline: var(–ctl-padding-x);}.ctl-carousel-container { display: flex; gap: var(–ctl-gap); touch-action: pan-y pinch-zoom;}.ctl-slide { max-width: var(–ctl-card-max-width); flex: 0 0 auto; min-width: var(–ctl-card-min-width); flex: 1 0 0;}.ctl-slide-link { display: flex; dirección-flex: columna; fondo: #f2f2f2; radio-borde: 1rem; desbordamiento: oculto; altura: 100%;}.ctl-slide-img-wrapper { display: flex; relación-de-aspecto: 1/1; desbordamiento: oculto; alinear-elementos: centro; justificar-contenido: centro;}.ctl-slide-img { ancho: 100%; alto: 100%; ajuste-objeto: cubrir; modo-mezcla: multiplicar;}.ctl-slide-info { visualización: flex; relleno: 1rem; align-items: center; gap: 0.5rem;}.ctl-slide-name { font-size: 1rem; margin: 0; flex: 1; font-weight: 500; line-height: 1.5rem;}.ctl-slide-arrow { display: flex; width: 26px; flex-shrink: 0; align-items: center; overflow: hidden;}.ctl-slide-arrow svg { width: 24px; height: auto; flex-shrink: 0;}.ctl-controls { display: flex; padding: 1rem 0; align-items: flex-start; justify-content: space-between; gap: 10.25rem;}@media (min-width: 1024px) { .ctl-controls { padding: 1.5rem 0; }}.ctl-btns { display: none; gap: 1rem;}@media (min-width: 1024px) { .ctl-btns { display: flex; }}.ctl-btn { display: flex; justify-content: center; align-items: center; width: 3rem; height: 3rem; background: #f2f2f2; border: none; border-radius: 9999px; cursor: pointer; padding: 0; transition: background 0.15s ease, opacity 0.15s ease;}.ctl-btn::after { content: “”; display: block; width: 1rem; height: 1rem; background-position: center; background-repeat: no-repeat; background-size: contain; transition: transform 0.3s ease;}.ctl-btn[disabled] { cursor: not-allowed; pointer-events: none; opacity: 0.5;}.ctl-btn.carousel-hide { visibility: hidden;}.ctl-btn-prev::after { background-image: url(“data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE4IDE1IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMTcgNi4zNjM5NUMxNy41NTIzIDYuMzYzOTUgMTggNi44MTE2NyAxOCA3LjM2Mzk1QzE4IDcuOTE2MjQgMTcuNTUyMyA4LjM2Mzk1IDE3IDguMzYzOTVWNy4zNjM5NVY2LjM2Mzk1Wk0wLjI5Mjg5MiA4LjA3MTA2Qy0wLjA5NzYzMTUgNy42ODA1NCAtMC4wOTc2MzE1IDcuMDQ3MzcgMC4yOTI4OTIgNi42NTY4NUw2LjY1Njg1IDAuMjkyODg1QzcuMDQ3MzggLTAuMDk3NjM5NiA3LjY4MDU0IC0wLjA5NzYzOTYgOC4wNzEwNyAwLjI5Mjg4NUM4LjQ2MTU5IDAuNjgzNDA5IDguNDYxNTkgMS4zMTY1NyA4LjA3MTA3IDEuNzA3MUwyLjQxNDIxIDcuMzYzOTVMOC4wNzEwNyAxMy4wMjA4QzguNDYxNTkgMTMuNDExMyA4LjQ2MTU5IDE0LjA0NDUgOC4wNzEwNyAxNC40MzVDNy42ODA1NCAxNC44MjU1IDcuMDQ3MzggMTQuODI1NSA2LjY1Njg1IDE0LjQzNUwwLjI5Mjg5MiA4LjA3MTA2Wk0xNyA3LjM2Mzk1VjguMzYzOTVIMVY3LjM2Mzk1VjYuMzYzOTVIMTdWNy4zNjM5NVoiIGZpbGw9IiMxOTE5MTkiLz4KPC9zdmc+”);}@media (hover: hover) { .ctl-btn-prev:hover::after { transform: translateX(-30%); }}.ctl-btn-next::after { background-image: url(“data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE4IDE1IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMSA2LjM2Mzk1QzAuNDQ3NzE1IDYuMzYzOTUgMCA2LjgxMTY3IDAgNy4zNjM5NUMwIDcuOTE2MjQgMC40NDc3MTUgOC4zNjM5NSAxIDguMzYzOTVWNy4zNjM5NVY2LjM2Mzk1Wk0xNy43MDcxIDguMDcxMDZDMTguMDk3NiA3LjY4MDU0IDE4LjA5NzYgNy4wNDczNyAxNy43MDcxIDYuNjU2ODVMMTEuMzQzMSAwLjI5Mjg4NUMxMC45NTI2IC0wLjA5NzYzOTYgMTAuMzE5NSAtMC4wOTc2Mzk2IDkuOTI4OTMgMC4yOTI4ODVDOS41Mzg0MSAwLjY4MzQwOSA5LjUzODQxIDEuMzE2NTcgOS45Mjg5MyAxLjcwNzFMMTUuNTg1OCA3LjM2Mzk1TDkuOTI4OTMgMTMuMDIwOEM5LjUzODQxIDEzLjQxMTMgOS41Mzg0MSAxNC4wNDQ1IDkuOTI4OTMgMTQuNDM1QzEwLjMxOTUgMTQuODI1NSAxMC45NTI2IDE0LjgyNTUgMTEuMzQzMSAxNC40MzVMMTcuNzA3MSA4LjA3MTA2Wk0xIDcuMzYzOTVWOC4zNjM5NUgxN1Y3LjM2Mzk1VjYuMzYzOTVIMVY3LjM2Mzk1WiIgZmlsbD0iIzE5MTkxOSIvPgo8L3N2Zz4=”);}@media (hover: hover) { .ctl-btn-next:hover::after { transform: translateX(30%); }}@media (hover: hover) { .ctl-btn:hover { background: #ff803b; }}.ctl-progress-wrapper { display: flex; flex: 1; flex-direction: column; align-items: center; padding-top: 1rem;}@media (min-width: 1024px) { .ctl-progress-wrapper { padding-top: 1.5rem; }}.ctl-progress { position: relative; width: 100%; ancho máximo: var(–ctl-progress-max-width); altura: 4px; fondo: #e3e3e3; radio del borde: 8px; desbordamiento: oculto;}.ctl-progress::after { posición: absoluta; parte superior: 0; left: 0; width: var(–scroll-progress, 0%); content: “”; height: 100%; background: var(–color-base); border-radius: 8px; transition: width 0.1s ease;}.ctl-progress.carousel-hide { visibility: hidden;}




















Valoraciones
No hay valoraciones aún.