{"title":"GUANTELETAS UNDER ARMOUR","description":"\u003c!-- ===================== MENÚ FLOTANTE CON FLECHA ===================== --\u003e\n\u003cstyle\u003e\n\/* RESET BÁSICO *\/\n* {\n  box-sizing: border-box;\n}\n\n\/* CONTENEDOR MENÚ *\/\n.bm-menu-arrow{\n  position: fixed;\n  top: 170px;                 \/* AJUSTA ALTURA *\/\n  left: 18px;                 \/* DISTANCIA DEL BORDE *\/\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  text-decoration: none;\n  z-index: 9999;\n  transition: transform .25s ease;\n}\n\n\/* IMAGEN FLECHA *\/\n.bm-menu-arrow img{\n  width: 58px;\n  height: 58px;\n  border-radius: 50%;\n  box-shadow: 0 6px 18px rgba(0,0,0,.28);\n  transition: transform .25s ease;\n}\n\n\/* TEXTO AL LADO *\/\n.bm-menu-arrow span{\n  background: #000;\n  color: #fff;\n  font-weight: 800;\n  font-size: 13px;\n  letter-spacing: .03em;\n  padding: 9px 14px;\n  border-radius: 22px;\n  white-space: nowrap;\n  box-shadow: 0 6px 18px rgba(0,0,0,.28);\n}\n\n\/* HOVER *\/\n.bm-menu-arrow:hover img{\n  transform: scale(1.08);\n}\n\n\/* MOBILE *\/\n@media (max-width: 768px){\n  .bm-menu-arrow{\n    top: auto;\n    bottom: 20px;\n    left: 12px;\n  }\n  .bm-menu-arrow span{\n    display: none; \/* solo flecha en móvil *\/\n  }\n}\n\u003c\/style\u003e\n\n\u003ca href=\"\/collections\/guanteletas\" class=\"bm-menu-arrow\" aria-label=\"Menu\"\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/MENU-FLECHA.jpg?v=1718658956\" alt=\"Menú\"\u003e\n  \u003cspan\u003eMenu Guanteletas\u003c\/span\u003e\n\u003c\/a\u003e\n\u003c!-- ===================== FIN MENÚ FLOTANTE ===================== --\u003e\n\u003c!-- ===================== GUANTELETAS | TALLAS ===================== --\u003e\n\u003csection class=\"bm-row bm-row--sizes\" data-bm-row aria-label=\"Tallas guanteletas\"\u003e\n  \u003cdiv class=\"bm-row__head\"\u003e\n    \u003ch3 class=\"bm-row__title\"\u003eTALLAS\u003c\/h3\u003e\n    \u003cp class=\"bm-row__sub\"\u003eSolo pares disponibles\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cbutton class=\"bm-arrow left\" aria-label=\"Anterior\"\u003e❮\u003c\/button\u003e\n  \u003cbutton class=\"bm-arrow right\" aria-label=\"Siguiente\"\u003e❯\u003c\/button\u003e\n\n  \u003cdiv class=\"bm-track bm-track--sizes\" data-bm-sizes\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=Extra%20Chica\" data-medida=\"Extra Chica\"\u003eExtra Chica\u003c\/a\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=Chica\" data-medida=\"Chica\"\u003eChica\u003c\/a\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=Mediana\" data-medida=\"Mediana\"\u003eMediana\u003c\/a\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=Grande\" data-medida=\"Grande\"\u003eGrande\u003c\/a\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=Extra%20Grande\" data-medida=\"Extra Grande\"\u003eExtra Grande\u003c\/a\u003e\n    \u003ca class=\"bm-size\" href=\"?filter.v.availability=1\u0026amp;filter.v.option.talla=2XL\" data-medida=\"2XL\"\u003e2XL\u003c\/a\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"bm-selected\" aria-live=\"polite\"\u003e\n    Talla seleccionada: \u003cstrong id=\"bmSelectedSizeText\"\u003e—\u003c\/strong\u003e\n  \u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  const KEY = \"bm_talla_selected\";\n\n  \/\/ Flechas\/scroll (mismas funciones)\n  document.querySelectorAll('[data-bm-row]').forEach((row) =\u003e {\n    const track = row.querySelector('.bm-track');\n    const btnL = row.querySelector('.bm-arrow.left');\n    const btnR = row.querySelector('.bm-arrow.right');\n    if(!track) return;\n\n    const getStep = () =\u003e {\n      const isSizes = !!row.querySelector('[data-bm-sizes]');\n      const item = track.querySelector('.bm-size, .bm-card');\n      const w = item ? item.getBoundingClientRect().width : 160;\n      const gap = parseFloat(getComputedStyle(track).gap || 18);\n      const perClick = isSizes ? 6 : 3;\n      return (w + gap) * perClick;\n    };\n\n    const updateDisabled = () =\u003e {\n      if(!btnL || !btnR) return;\n      const max = track.scrollWidth - track.clientWidth - 2;\n      btnL.disabled = track.scrollLeft \u003c= 2;\n      btnR.disabled = track.scrollLeft \u003e= max;\n    };\n\n    const go = (dir) =\u003e\n      track.scrollBy({ left: dir === 'left' ? -getStep() : getStep(), behavior: 'smooth' });\n\n    btnL \u0026\u0026 btnL.addEventListener('click', () =\u003e go('left'));\n    btnR \u0026\u0026 btnR.addEventListener('click', () =\u003e go('right'));\n\n    row.addEventListener('wheel', (e) =\u003e {\n      if (Math.abs(e.deltaY) \u003e Math.abs(e.deltaX)) {\n        track.scrollLeft += e.deltaY;\n        e.preventDefault();\n        updateDisabled();\n      }\n    }, { passive:false });\n\n    track.addEventListener('scroll', () =\u003e requestAnimationFrame(updateDisabled));\n    window.addEventListener('resize', updateDisabled);\n    updateDisabled();\n  });\n\n  \/\/ Selección visible\n  const wrap = document.querySelector('[data-bm-sizes]');\n  const text = document.getElementById('bmSelectedSizeText');\n  if(!wrap) return;\n\n  const setSelected = (val) =\u003e {\n    const items = wrap.querySelectorAll('.bm-size');\n    items.forEach(a =\u003e a.classList.remove('is-selected'));\n    const match = [...items].find(a =\u003e (a.getAttribute('data-medida') || '') === val);\n    if(match) match.classList.add('is-selected');\n    if(text) text.textContent = val || \"—\";\n  };\n\n  \/\/ Si URL trae solo 1 talla, úsala. Si trae varias (rango), usamos localStorage.\n  const qs = new URLSearchParams(window.location.search);\n  const allFromUrl = qs.getAll('filter.v.option.talla').map(v =\u003e (v || \"\").trim()).filter(Boolean);\n\n  let selected = \"\";\n  if(allFromUrl.length === 1){\n    selected = allFromUrl[0];\n  } else {\n    try { selected = localStorage.getItem(KEY) || \"\"; } catch(e){}\n  }\n\n  setSelected(selected);\n\n  \/\/ Click: marcar y guardar ANTES de navegar\n  wrap.addEventListener('click', (e) =\u003e {\n    const a = e.target.closest('.bm-size');\n    if(!a) return;\n\n    const val = a.getAttribute('data-medida') || a.textContent.trim();\n    try { localStorage.setItem(KEY, val); } catch(e){}\n    setSelected(val);\n  });\n});\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n\/* =============== RESET =============== *\/\n*{box-sizing:border-box;}\n\n\/* =============== BASE SECCIONES (ROWS) =============== *\/\n.bm-row{\n  position:relative;\n  background:#fff;\n  padding:10px 0 14px;\n  border-bottom:1px solid #eee;\n  overflow:hidden;\n}\n.bm-row__head{\n  max-width:1400px;\n  margin:0 auto 8px;\n  padding:0 12px;\n  display:flex;\n  align-items:baseline;\n  justify-content:space-between;\n  gap:12px;\n}\n.bm-row__title{\n  margin:0;\n  font:800 16px\/1.1 system-ui;\n  letter-spacing:.02em;\n}\n.bm-row__sub{\n  margin:0;\n  font:500 12px\/1.2 system-ui;\n  opacity:.7;\n}\n\n.bm-track{\n  display:flex;\n  gap:18px;\n  overflow-x:auto;\n  scroll-behavior:smooth;\n  scrollbar-width:none;\n  -webkit-overflow-scrolling:touch;\n  padding:0 44px; \/* espacio para flechas *\/\n}\n.bm-track::-webkit-scrollbar{display:none}\n\n\/* =============== FLECHAS =============== *\/\n.bm-arrow{\n  position:absolute;\n  top:62%;\n  transform:translateY(-50%);\n  z-index:10;\n  border:none;\n  cursor:pointer;\n  width:36px;\n  height:36px;\n  border-radius:999px;\n  background:rgba(255,255,255,.85);\n  box-shadow:0 6px 18px rgba(0,0,0,.12);\n  font-size:20px;\n  color:#000;\n  opacity:0;\n  transition:opacity .25s ease, background .25s ease;\n}\n.bm-row:hover .bm-arrow{opacity:1;}\n.bm-arrow:hover{background:rgba(0,0,0,.06);}\n.bm-arrow.left{left:8px;}\n.bm-arrow.right{right:8px;}\n.bm-arrow:disabled{opacity:.25 !important; cursor:default;}\n\n\/* =============== TALLAS (RECTÁNGULOS) =============== *\/\n.bm-track--sizes{ gap:12px; }\n\n.bm-size{\n  min-width:120px; \/* para que quepan “Extra Grande” etc *\/\n  height:44px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  border-radius:12px;\n  border:1px solid #d7d7d7;\n  background:#fff;\n  color:#000;\n  font:900 14px system-ui;\n  letter-spacing:.03em;\n  text-decoration:none;\n  box-shadow:0 6px 18px rgba(0,0,0,.08);\n  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;\n  white-space:nowrap;\n  padding:0 12px;\n}\n.bm-size:hover{ transform:translateY(-1px); }\n.bm-size.is-selected{\n  background:#000;\n  color:#fff;\n  border-color:#000;\n}\n\n\/* Texto “seleccionada” *\/\n.bm-selected{\n  max-width:1400px;\n  margin:10px auto 0;\n  padding:0 12px;\n  font:600 13px\/1.2 system-ui;\n  opacity:.85;\n}\n\n\/* =============== MOBILE =============== *\/\n@media (max-width:768px){\n  .bm-row__head{padding:0 12px;}\n  .bm-track{\n    padding:0 12px;\n    scroll-snap-type:x mandatory;\n  }\n  .bm-size{scroll-snap-align:start;}\n  .bm-arrow{display:none !important;}\n  .bm-size{ min-width:140px; height:52px; font-size:14px; }\n}\n\u003c\/style\u003e\n","products":[{"product_id":"guanteletas-beisbol-softbol-under-armour-bryce-harper-azul-cafe-adulto","title":"Guanteletas Beisbol Softbol Under Armour Bryce Harper Azul Café ADULTO","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eLa construcción de cuero Cabretta Premium de Pittard ofrece una sensación y comodidad elevadas para ayudarte a llevar tu juego de bateo al siguiente nivel.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eMaterial elástico en 4 direcciones en la parte trasera de la mano que proporciona transpirabilidad y movilidad para un máximo rendimiento.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eMuñeca de neopreno con cierre moldeado de longitud completa que ofrece el máximo apoyo y comodidad para la muñeca.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eLos paneles de malla entre los dedos añaden ventilación para mantenerte fresco sin importar lo calientes que se pongan las cosas en el diamante.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eUnder Armour Los guantes de bateo Bryce Harper Pro para hombre están diseñados para hacer realidad los Grand Slams. ¡Consigue el tuyo hoy y sácalo del parque!\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003c!----\u003e\u003c\/p\u003e","brand":"Under Armour","offers":[{"title":"Chica","offer_id":49741466304828,"sku":null,"price":890.0,"currency_code":"MXN","in_stock":false},{"title":"Mediana","offer_id":49741466337596,"sku":"","price":890.0,"currency_code":"MXN","in_stock":true},{"title":"Grande","offer_id":49741466370364,"sku":null,"price":890.0,"currency_code":"MXN","in_stock":false},{"title":"Extra Grande","offer_id":49741466403132,"sku":null,"price":890.0,"currency_code":"MXN","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/GuanteletasBeisbolSoftbolUnderArmourBryceHarperAzulCafeADULTO.jpg?v=1719853850"},{"product_id":"guanteletas-beisbol-under-armour-clean-up-blanco-gris-3-a-6-anos","title":"Guanteletas Beisbol Under Armour Clean Up Blanco Gris 3 a 6 años","description":"\u003cdiv class=\"panel panel-primary\"\u003e\n\u003cdiv class=\"panel-body\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"b-product_description-main\"\u003e\n\u003cdiv class=\"b-product_description-content\"\u003e\n\u003cp\u003eEstos guantes te brindan el agarre y la protección que necesitas cada vez que bateas, durante toda la temporada. Nuestra exclusiva tela HeatGear® mantiene tus manos frescas y secas, y las palmas sintéticas son más duraderas que el cuero tradicional.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"g-tabs--desktop\"\u003e\n\u003cul class=\"b-product_description-tabs g-tabs-chips nav nav-tabs\" role=\"tablist\"\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eComposición\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eEspecificaciones\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eAjuste y cuidado del producto\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eLa palma de material sintético proporciona durabilidad y agarre\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eConfeccionados con tela HeatGear® para mantener tus manos frescas, secas y ligeras todo el juego\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eLas superposiciones sintéticas agregan apoyo en todos los lugares correctos\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003ePerforaciones sobre los dedos para una mayor transpirabilidad\u003c\/li\u003e\n\u003cli class=\"g-tabs-chip nav-item\" role=\"presentation\"\u003eLos puños elásticos ajustables proporcionan soporte y una sensación firme y potente\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e \u003c\/p\u003e","brand":"Under Armour","offers":[{"title":"Extra Extra Chica","offer_id":52207917400380,"sku":"GTLA-UA-CLEUP-BCO-2XS","price":390.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/GUIADETALLASGuanteletaBeisbolUnderArmourCleanUpBlancoGrisINFANTIL_0000_Capa20_277811fc-d647-4bcb-a469-a04a43443bd8.jpg?v=1758646668"},{"product_id":"guanteletas-beisbol-under-armour-clean-up-negro-rosa-3-a-6-anos","title":"Guanteletas Beisbol Under Armour Clean Up Negro Rosa 3 a 6 años","description":"\u003cdiv class=\"panel panel-primary\"\u003e\n\u003cdiv class=\"panel-body\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"b-product_description-main\"\u003e\n\u003cdiv class=\"b-product_description-content\"\u003e\n\u003cp\u003eEstos guantes te brindan el agarre y la protección que necesitas cada vez que bateas, durante toda la temporada. Nuestra exclusiva tela HeatGear® mantiene tus manos frescas y secas, y las palmas sintéticas son más duraderas que el cuero tradicional.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"g-tabs--desktop\"\u003e\n\u003cul role=\"tablist\" class=\"b-product_description-tabs g-tabs-chips nav nav-tabs\"\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eComposición\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eEspecificaciones\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eAjuste y cuidado del producto\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eLa palma de material sintético proporciona durabilidad y agarre\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eConfeccionados con tela HeatGear® para mantener tus manos frescas, secas y ligeras todo el juego\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eLas superposiciones sintéticas agregan apoyo en todos los lugares correctos\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003ePerforaciones sobre los dedos para una mayor transpirabilidad\u003c\/li\u003e\n\u003cli role=\"presentation\" class=\"g-tabs-chip nav-item\"\u003eLos puños elásticos ajustables proporcionan soporte y una sensación firme y potente\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e \u003c\/p\u003e","brand":"Under Armour","offers":[{"title":"Extra Extra Chica","offer_id":52207929164092,"sku":"GTLA-UA-CLEUP-RSA-2XS","price":390.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/beisolmniaGuanteletasBeisbolUnderArmourCleanUpNegroRosa3a6anos_0001_Capa11.jpg?v=1758646959"},{"product_id":"guanteletas-beisbol-under-armour-radar-novelty-marino-rojo-dorado-dama","title":"Guanteletas Beisbol Under Armour Radar Novelty Marino Rojo Dorado DAMA","description":"\u003cul class=\"a-unordered-list a-vertical a-spacing-mini\"\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePalma sintética que proporciona durabilidad y agarre\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eTejido HeatGear con elástico en 4 direcciones para una sensación fresca y cómoda\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eLas superposiciones sintéticas perforadas añaden apoyo y durabilidad\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003ePerforaciones en los dedos para mayor transpirabilidad\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"a-spacing-mini\"\u003e\u003cspan class=\"a-list-item\"\u003eEl puño elástico proporciona apoyo a la muñeca y una sensación de bloqueo\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Under Armour","offers":[{"title":"Chica","offer_id":53127315980604,"sku":null,"price":490.0,"currency_code":"MXN","in_stock":false},{"title":"Mediana","offer_id":53127316013372,"sku":null,"price":490.0,"currency_code":"MXN","in_stock":false},{"title":"Grande","offer_id":53127316046140,"sku":"UA-RADAR-MNO-L","price":490.0,"currency_code":"MXN","in_stock":true},{"title":"Extra Grande","offer_id":53127316078908,"sku":null,"price":490.0,"currency_code":"MXN","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/Guanteletas-Beisbol-Under-Armour-Radar-Novelty-Marino-Rojo-Dorado-DAMA.jpg?v=1781203507"}],"url":"https:\/\/beisbolmania.mx\/collections\/guanteletas-under-armour\/nike.oembed","provider":"Beisbolmania","version":"1.0","type":"link"}