{"title":"BAT PAÑALITOS PLASTICO","description":"\u003c!-- ===================== BATS PAÑALITOS 3-6: SELLO + BARRIL + MEDIDAS (filtros independientes, sin localStorage) ===================== --\u003e\n\u003cstyle\u003e\n*{box-sizing:border-box;}\n.bm-menu-arrow{ position: fixed; top: 170px; left: 18px; display:flex; align-items:center; gap:10px; text-decoration:none; z-index:9999; transition:transform .25s ease; }\n.bm-menu-arrow img{ width:58px; height:58px; border-radius:50%; box-shadow:0 6px 18px rgba(0,0,0,.28); transition:transform .25s ease; }\n.bm-menu-arrow span{ background:#000; color:#fff; font-weight:800; font-size:13px; letter-spacing:.03em; padding:9px 14px; border-radius:22px; white-space:nowrap; box-shadow:0 6px 18px rgba(0,0,0,.28); }\n.bm-menu-arrow:hover img{transform:scale(1.08);}\n@media (max-width:768px){\n  .bm-menu-arrow{ top:auto; bottom:calc(16px + env(safe-area-inset-bottom)); left:12px; }\n  .bm-menu-arrow img{ display:none; }\n  .bm-menu-arrow span{ display:inline-flex; align-items:center; min-height:44px; padding:0 16px; font-size:12px; }\n}\n.bm-row{ position:relative; background:#fff; padding:10px 0 14px; border-bottom:1px solid #eee; overflow:hidden; }\n.bm-row__head{ max-width:1400px; margin:0 auto 8px; padding:0 12px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }\n.bm-row__title{ margin:0; font:800 16px\/1.1 system-ui; letter-spacing:.02em; }\n.bm-row__sub{ margin:0; font:500 12px\/1.2 system-ui; opacity:.7; }\n.bm-track{ display:flex; gap:18px; overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:0 44px; }\n.bm-track::-webkit-scrollbar{display:none}\n.bm-arrow{ position:absolute; top:62%; transform:translateY(-50%); z-index:10; border:none; cursor:pointer; width:36px; height:36px; border-radius:999px; background:rgba(255,255,255,.85); box-shadow:0 6px 18px rgba(0,0,0,.12); font-size:20px; color:#000; opacity:0; transition:opacity .25s ease, background .25s ease; }\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.bm-card{ flex:0 0 auto; text-decoration:none; color:#000; position:relative; border-radius:14px; overflow:hidden; border:1px solid #d7d7d7; background:#fff; transform:translateZ(0); }\n.bm-card img{ width:100%; height:100%; object-fit:contain; background:#fff; transition:transform .25s ease; }\n.bm-card:hover img{transform:scale(1.05);}\n.bm-card__label{ position:absolute; left:10px; right:10px; bottom:10px; display:block; padding:8px 10px; border-radius:12px; font:800 13px\/1 system-ui; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.78) 100%); backdrop-filter:blur(2px); }\n.bm-row--hero .bm-row__title{font-size:18px;}\n.bm-row--hero .bm-track{gap:20px;}\n.bm-card--hero{width:100px; height:100px;}\n.bm-card--hero img{object-fit:cover;}\n.bm-track--sizes{ gap:12px; }\n.bm-size{ min-width:74px; height:44px; padding:0 14px; display:flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid #d7d7d7; background:#fff; color:#000; font:900 16px system-ui; letter-spacing:.03em; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.08); transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }\n.bm-size:hover{ transform:translateY(-1px); }\n.bm-size::after{ content:\"in\"; margin-left:4px; font:700 10px system-ui; opacity:.55; }\n.bm-size.is-selected{ background:#000; color:#fff; border-color:#000; }\n.bm-cert{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:52px; padding:8px 18px; border-radius:12px; border:1px solid #d7d7d7; background:#fff; color:#000; font:900 14px system-ui; letter-spacing:.04em; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.08); transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }\n.bm-cert:hover{ transform:translateY(-1px); }\n.bm-cert small{ font:600 10px\/1 system-ui; opacity:.6; }\n.bm-cert.is-selected{ background:#000; color:#fff; border-color:#000; }\n.bm-cert.is-selected small{ opacity:.8; }\n.bm-selected{ max-width:1400px; margin:10px auto 0; padding:0 12px; font:600 13px\/1.2 system-ui; opacity:.85; }\n.bm-clear{ display:none; align-items:center; vertical-align:middle; min-height:44px; margin-left:10px; padding:0 16px; border:1px solid #000; border-radius:12px; font:700 12px system-ui; color:#000; text-decoration:none; }\n@media (max-width:768px){\n  .bm-row__head{padding:0 12px;}\n  .bm-track{ padding:0 12px; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; }\n  .bm-card, .bm-size, .bm-cert{scroll-snap-align:start;}\n  .bm-arrow{display:none !important;}\n  .bm-card--hero{width:120px; height:120px;}\n  .bm-size{ min-width:56px; height:48px; }\n  .bm-track--sizes{ gap:10px; }\n  .bm-selected{ font:600 14px\/1.3 system-ui; opacity:1; }\n}\n\u003c\/style\u003e\n\n\u003ca href=\"https:\/\/beisbolmania.mx\/collections\/bats\" class=\"bm-menu-arrow\" aria-label=\"Regresar\"\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\u003e❮ Regresar\u003c\/span\u003e\n\u003c\/a\u003e\n\n\n\u003c!-- ===================== 1) MAS OPCIONES (HERO) ===================== --\u003e\n\u003csection class=\"bm-row bm-row--hero\" data-bm-row aria-label=\"Tipo de bats\"\u003e\n  \u003cdiv class=\"bm-row__head\"\u003e\n    \u003ch3 class=\"bm-row__title\"\u003eMas opciones de Bats\u003c\/h3\u003e\n    \u003cp class=\"bm-row__sub\"\u003eEncuentra el bat ideal por categoría\u003c\/p\u003e\n  \u003c\/div\u003e\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  \u003cdiv class=\"bm-track\"\u003e\n    \u003ca href=\"\/collections\/bats-infantiles\" class=\"bm-card bm-card--hero\" title=\"Infantil\"\u003e\n      \u003cimg src=\"https:\/\/beisbolmania.odoo.com\/web\/image\/63668-0ad9b3c5\/RUT4I-102.webp\" alt=\"Bats infantil\" loading=\"lazy\"\u003e\n      \u003cspan class=\"bm-card__label\"\u003eINFANTIL\u003c\/span\u003e\n    \u003c\/a\u003e\n    \u003ca href=\"\/collections\/bat-softbol-infantil\" class=\"bm-card bm-card--hero\" title=\"Softbol Infantil\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/SOFTBOLINFANTIL.jpg?v=1769031583\" alt=\"Bats de softbol infantil\" loading=\"lazy\"\u003e\n      \u003cspan class=\"bm-card__label\"\u003eSOFTBOL INFANTIL\u003c\/span\u003e\n    \u003c\/a\u003e\n    \u003ca href=\"\/collections\/Bat-madera-infantil\" class=\"bm-card bm-card--hero\" title=\"Madera Infantil\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/BEISBOLMANIA-EDICIO-IBM.jpg?v=1769031061\" alt=\"Bats de madera infantil\" loading=\"lazy\"\u003e\n      \u003cspan class=\"bm-card__label\"\u003eMADERA INFANTIL\u003c\/span\u003e\n    \u003c\/a\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n\u003c!-- ===================== MATERIAL: ALUMINIO vs PLASTICO (subcolecciones smart, texturas Higgsfield) ===================== --\u003e\n\u003cstyle\u003e\n.bm-mats{ max-width:1400px; margin:0 auto; padding:0 12px; display:flex; gap:16px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }\n.bm-mats::-webkit-scrollbar{display:none}\n.bm-mat{ flex:0 0 auto; width:150px; text-decoration:none; color:#000; text-align:center; }\n.bm-mat__media{ position:relative; display:block; width:150px; height:150px; border-radius:14px; overflow:hidden; border:1px solid #d7d7d7; box-shadow:0 6px 18px rgba(0,0,0,.08); }\n.bm-mat__media img{ width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }\n.bm-mat:hover .bm-mat__media img{ transform:scale(1.05); }\n.bm-mat__check{ position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:#000; color:#fff; display:none; align-items:center; justify-content:center; font:700 14px system-ui; }\n.bm-mat.is-selected .bm-mat__media{ outline:3px solid #000; outline-offset:-2px; }\n.bm-mat.is-selected .bm-mat__check{ display:flex; }\n.bm-mat__label{ display:block; margin-top:8px; font:800 14px system-ui; }\n.bm-mat__desc{ display:block; font:500 11px\/1.3 system-ui; opacity:.7; }\n@media (max-width:768px){ .bm-mat{width:120px} .bm-mat__media{width:120px;height:120px} }\n\u003c\/style\u003e\n\u003csection class=\"bm-row\" aria-label=\"Material\"\u003e\n  \u003cdiv class=\"bm-row__head\"\u003e\n    \u003ch3 class=\"bm-row__title\"\u003eMATERIAL\u003c\/h3\u003e\n    \u003cp class=\"bm-row__sub\"\u003eToca un material para ver solo esos bats\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"bm-mats\" data-bm-materiales\u003e\n    \u003ca href=\"\/collections\/bats-tee-ball-aluminio\" class=\"bm-mat\" data-material=\"aluminio\"\u003e\n      \u003cspan class=\"bm-mat__media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/material-aluminio-textura.png?v=1786580965\u0026amp;width=240\" width=\"240\" height=\"240\" alt=\"Textura de aluminio de bat\" loading=\"lazy\" decoding=\"async\"\u003e\n        \u003cspan class=\"bm-mat__check\" aria-hidden=\"true\"\u003e✓\u003c\/span\u003e\n      \u003c\/span\u003e\n      \u003cspan class=\"bm-mat__label\"\u003eAluminio\u003c\/span\u003e\n      \u003cspan class=\"bm-mat__desc\"\u003eBat real de iniciación, ligero y resistente\u003c\/span\u003e\n    \u003c\/a\u003e\n    \u003ca href=\"\/collections\/bats-tee-ball-plastico\" class=\"bm-mat\" data-material=\"plastico\"\u003e\n      \u003cspan class=\"bm-mat__media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/material-plastico-textura.png?v=1786580964\u0026amp;width=240\" width=\"240\" height=\"240\" alt=\"Textura de plastico de juguete\" loading=\"lazy\" decoding=\"async\"\u003e\n        \u003cspan class=\"bm-mat__check\" aria-hidden=\"true\"\u003e✓\u003c\/span\u003e\n      \u003c\/span\u003e\n      \u003cspan class=\"bm-mat__label\"\u003ePlástico\u003c\/span\u003e\n      \u003cspan class=\"bm-mat__desc\"\u003eDe juguete: plástico y espuma para empezar\u003c\/span\u003e\n    \u003c\/a\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"bm-selected\" aria-live=\"polite\"\u003e\n    Material: \u003cstrong id=\"bmMaterialText\"\u003e—\u003c\/strong\u003e\n  \u003c\/p\u003e\n\u003c\/section\u003e\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  \/\/ MATERIAL (regla Karina 12-ago): panalitos dividido en subcolecciones\n  \/\/ smart — ALUMINIO (tag Bat Panalitos Aluminio y NO tipo juguete) y\n  \/\/ PLASTICO (tipo Bat Recreativo Juguete). El chip conserva el sello y\n  \/\/ barril de la ruta y la medida del query al brincar de coleccion;\n  \/\/ tocar el material activo regresa a bats-tee-ball. La disponibilidad\n  \/\/ la agrega el runtime de la seccion en cada click.\n  const FAMILIA = { \"aluminio\": \"bats-tee-ball-aluminio\", \"plastico\": \"bats-tee-ball-plastico\" };\n  const PRINCIPAL = \"bats-tee-ball\";\n  const NOMBRES = { \"aluminio\": \"Aluminio\", \"plastico\": \"Plástico\" };\n  const m = decodeURIComponent(window.location.pathname).match(\/\\\/collections\\\/([^\\\/?]+)(?:\\\/([^\\\/?]+))?\/);\n  if (!m) return;\n  const handle = m[1];\n  const tags = m[2] || \"\";\n  let activo = null;\n  Object.keys(FAMILIA).forEach(k =\u003e { if (FAMILIA[k] === handle) activo = k; });\n  document.querySelectorAll(\"[data-bm-materiales] .bm-mat\").forEach(a =\u003e {\n    const k = a.getAttribute(\"data-material\");\n    if (!FAMILIA[k]) return;\n    const dest = (k === activo) ? PRINCIPAL : FAMILIA[k];\n    a.href = \"\/collections\/\" + dest + (tags ? \"\/\" + tags : \"\") + window.location.search;\n    a.classList.toggle(\"is-selected\", k === activo);\n  });\n  const est = document.getElementById(\"bmMaterialText\");\n  if (est) est.textContent = activo ? NOMBRES[activo] : \"—\";\n});\n\u003c\/script\u003e\n\n\n\u003c!-- ===================== 2) SELLO Y BARRIL ===================== --\u003e\n\u003csection class=\"bm-row\" aria-label=\"Sello y barril\"\u003e\n  \u003cdiv class=\"bm-row__head\"\u003e\n    \u003ch3 class=\"bm-row__title\"\u003eSELLO Y BARRIL\u003c\/h3\u003e\n    \u003cp class=\"bm-row__sub\"\u003ePara T-Ball y ligas de iniciación\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"bm-track bm-track--sizes\"\u003e\n    \u003cspan data-bm-sellos style=\"display:contents\"\u003e\n      \u003ca href=\"\/collections\/bats-tee-ball-plastico\/usa\" class=\"bm-cert\" data-sello=\"usa\" data-label=\"Sello USA\" data-sello-gid=\"gid:\/\/shopify\/Metaobject\/281704005948\"\u003eSELLO USA \u003csmall\u003eT-Ball y Little League\u003c\/small\u003e\u003c\/a\u003e\n    \u003c\/span\u003e\n    \u003cspan data-bm-barriles style=\"display:contents\"\u003e\n      \u003ca href=\"\/collections\/bats-tee-ball-plastico\/2-1-4\" class=\"bm-cert\" data-barril=\"2-1-4\" data-label=\"2 1\/4\"\u003e2 1\/4 \u003csmall\u003eBarril clásico\u003c\/small\u003e\u003c\/a\u003e\n      \u003ca href=\"\/collections\/bats-tee-ball-plastico\/2-5-8\" class=\"bm-cert\" data-barril=\"2-5-8\" data-label=\"2 5\/8\"\u003e2 5\/8 \u003csmall\u003eBarril grande\u003c\/small\u003e\u003c\/a\u003e\n    \u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n\u003c!-- ===================== 3) MEDIDAS (FILA DINÁMICA: ESPEJO DEL FILTRO REAL) ===================== --\u003e\n\u003csection class=\"bm-row bm-row--sizes\" data-bm-row aria-label=\"Medidas\"\u003e\n  \u003cdiv class=\"bm-row__head\"\u003e\n    \u003ch3 class=\"bm-row__title\"\u003eMEDIDAS\u003c\/h3\u003e\n    \u003cp class=\"bm-row__sub\"\u003eDesliza y toca tu medida\u003c\/p\u003e\n  \u003c\/div\u003e\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  \u003cdiv class=\"bm-track bm-track--sizes\" data-bm-sizes\u003e\n    \u003ca href=\"?filter.v.option.medida=24+in\" class=\"bm-size\" data-medida=\"24 in\" title=\"24 in\"\u003e24\u003c\/a\u003e\n    \u003ca href=\"?filter.v.option.medida=25+in\" class=\"bm-size\" data-medida=\"25 in\" title=\"25 in\"\u003e25\u003c\/a\u003e\n    \u003ca href=\"?filter.v.option.medida=26+in\" class=\"bm-size\" data-medida=\"26 in\" title=\"26 in\"\u003e26\u003c\/a\u003e\n    \u003ca href=\"?filter.v.option.medida=27+in\" class=\"bm-size\" data-medida=\"27 in\" title=\"27 in\"\u003e27\u003c\/a\u003e\n    \u003ca href=\"?filter.v.option.medida=28+in\" class=\"bm-size\" data-medida=\"28 in\" title=\"28 in\"\u003e28\u003c\/a\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"bm-selected\" aria-live=\"polite\"\u003e\n    Sello: \u003cstrong id=\"bmSelloText\"\u003e—\u003c\/strong\u003e ·\n    Barril: \u003cstrong id=\"bmBarrilText\"\u003e—\u003c\/strong\u003e ·\n    Medida: \u003cstrong id=\"bmSelectedSizeText\"\u003e—\u003c\/strong\u003e\n    \u003ca id=\"bmClearSize\" class=\"bm-clear\" href=\"\/collections\/bats-tee-ball-plastico\" style=\"display:none\"\u003eQuitar filtros\u003c\/a\u003e\n  \u003c\/p\u003e\n\u003c\/section\u003e\n\n\n\u003c!-- ===================== JS (1 SOLO) ===================== --\u003e\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  const COLL = 'bats-tee-ball-plastico';\n  const BASE = '\/collections\/' + COLL;\n  const wrap = document.querySelector('[data-bm-sizes]');\n  const sellos = document.querySelector('[data-bm-sellos]');\n  const barriles = document.querySelector('[data-bm-barriles]');\n  const textMedida = document.getElementById('bmSelectedSizeText');\n  const textSello = document.getElementById('bmSelloText');\n  const textBarril = document.getElementById('bmBarrilText');\n  const clearLink = document.getElementById('bmClearSize');\n  const PARAM = 'filter.v.option.medida';\n  const esMedida = (t) =\u003e \/^\\d+(\\.\\d+)?\\s*in\\b\/i.test(t);\n\n  const SELLO_PARAM = 'filter.p.m.custom.sello_beisbol';\n  const gidsActivos = new URLSearchParams(window.location.search).getAll(SELLO_PARAM);\n  const nativoActivo = gidsActivos.length \u003e 0 ||\n    [...document.querySelectorAll('a[href*=\"' + SELLO_PARAM + '\"], input[name=\"' + SELLO_PARAM + '\"]')]\n      .some(el =\u003e !el.closest('[data-bm-sellos]'));\n\n  const parts = window.location.pathname.split('\/').filter(Boolean);\n  const idx = parts.indexOf(COLL);\n  const seg = (idx \u003e= 0 \u0026\u0026 parts[idx + 1]) ? decodeURIComponent(parts[idx + 1]).toLowerCase() : '';\n  const tagsRuta = seg ? seg.split('+') : [];\n  const SELLOS_H = ['usa'];\n  const BARRILES_H = ['2-1-4', '2-5-8'];\n  const selloActivo = tagsRuta.find(t =\u003e SELLOS_H.indexOf(t) \u003e -1) || '';\n  const barrilActivo = tagsRuta.find(t =\u003e BARRILES_H.indexOf(t) \u003e -1) || '';\n\n  const rutaCon = (sello, barril) =\u003e {\n    const s = [sello, barril].filter(Boolean).join('+');\n    return BASE + (s ? '\/' + s : '');\n  };\n  const qsConservar = () =\u003e {\n    const actual = new URLSearchParams(window.location.search);\n    const qs = new URLSearchParams();\n    actual.getAll(PARAM).forEach(v =\u003e qs.append(PARAM, v));\n    gidsActivos.forEach(g =\u003e qs.append(SELLO_PARAM, g));\n    const s = qs.toString();\n    return s ? '?' + s : '';\n  };\n  const qsConservarSinSello = () =\u003e {\n    const actual = new URLSearchParams(window.location.search);\n    const qs = new URLSearchParams();\n    actual.getAll(PARAM).forEach(v =\u003e qs.append(PARAM, v));\n    const s = qs.toString();\n    return s ? '?' + s : '';\n  };\n\n  const medidasSeleccionadas = () =\u003e {\n    const out = [];\n    new URLSearchParams(window.location.search).getAll(PARAM).forEach(v =\u003e {\n      v = v.trim();\n      const gid = v.match(\/FilterSettingGroup\\\/(\\d+)\/);\n      if (gid) {\n        const candidatos = [...document.querySelectorAll('a[href*=\"' + PARAM + '\"]')]\n          .filter(a =\u003e !a.closest('[data-bm-sizes]')\n            \u0026\u0026 esMedida(a.textContent.replace(\/\\s+\/g, ' ').trim())\n            \u0026\u0026 (a.getAttribute('href') || '').indexOf(gid[1]) \u003e -1);\n        let link = candidatos.find(a =\u003e {\n          const vals = new URLSearchParams((a.getAttribute('href').split('?')[1] || '')).getAll(PARAM);\n          return vals.length === 1 \u0026\u0026 vals[0].indexOf(gid[1]) \u003e -1;\n        });\n        if (!link \u0026\u0026 candidatos.length) {\n          link = candidatos.sort((a, b) =\u003e\n            ((a.getAttribute('href').match(\/FilterSettingGroup\/g) || []).length) -\n            ((b.getAttribute('href').match(\/FilterSettingGroup\/g) || []).length))[0];\n        }\n        if (link) v = link.textContent.replace(\/\\s+\/g, ' ').replace(\/\\(\\d+\\)\\s*$\/, '').trim();\n      }\n      if (v \u0026\u0026 out.indexOf(v) === -1) out.push(v);\n    });\n    return out;\n  };\n  const sel = medidasSeleccionadas();\n\n  const medidasDelFiltro = () =\u003e {\n    const labels = [];\n    document.querySelectorAll('a[href*=\"' + PARAM + '\"]').forEach(a =\u003e {\n      if (a.closest('[data-bm-sizes]')) return;\n      const t = a.textContent.replace(\/\\s+\/g, ' ').replace(\/\\(\\d+\\)\\s*$\/, '').trim();\n      if (esMedida(t) \u0026\u0026 labels.indexOf(t) === -1) labels.push(t);\n    });\n    return labels;\n  };\n\n  const armarFila = () =\u003e {\n    if (!wrap) return;\n    const labels = medidasDelFiltro();\n    if (!labels.length) return;\n    const grupos = {};\n    labels.forEach(l =\u003e {\n      const num = (l.match(\/^\\d+(\\.\\d+)?\/) || [l])[0];\n      (grupos[num] = grupos[num] || []).push(l);\n    });\n    wrap.innerHTML = '';\n    Object.keys(grupos).sort((x, y) =\u003e parseFloat(x) - parseFloat(y)).forEach(num =\u003e {\n      const vals = grupos[num];\n      const a = document.createElement('a');\n      a.className = 'bm-size';\n      let href = window.location.pathname + '?' + vals.map(v =\u003e PARAM + '=' + encodeURIComponent(v)).join('\u0026');\n      gidsActivos.forEach(g =\u003e { href += '\u0026' + SELLO_PARAM + '=' + encodeURIComponent(g); });\n      a.href = href;\n      a.setAttribute('data-medida', num + ' in');\n      a.setAttribute('data-valores', JSON.stringify(vals));\n      a.title = vals.join(' · ');\n      a.textContent = num;\n      wrap.appendChild(a);\n    });\n  };\n  armarFila();\n\n  const valoresDe = (a) =\u003e {\n    try { const v = JSON.parse(a.getAttribute('data-valores') || 'null'); if (v \u0026\u0026 v.length) return v; } catch(e){}\n    return [a.getAttribute('data-medida')];\n  };\n\n  if (sellos) {\n    sellos.querySelectorAll('.bm-cert').forEach(c =\u003e {\n      const tag = c.getAttribute('data-sello');\n      const gid = c.getAttribute('data-sello-gid') || '';\n      const activo = tag === selloActivo || (gid \u0026\u0026 gidsActivos.indexOf(gid) \u003e -1);\n      c.classList.toggle('is-selected', !!activo);\n      if (nativoActivo \u0026\u0026 gid) {\n        const qs = new URLSearchParams();\n        if (!activo) qs.append(SELLO_PARAM, gid);\n        new URLSearchParams(window.location.search).getAll(PARAM).forEach(v =\u003e qs.append(PARAM, v));\n        c.setAttribute('href', rutaCon('', barrilActivo) + (qs.toString() ? '?' + qs.toString() : ''));\n      } else {\n        c.setAttribute('href', rutaCon(activo ? '' : tag, barrilActivo) + qsConservarSinSello());\n      }\n    });\n  }\n\n  if (barriles) {\n    barriles.querySelectorAll('.bm-cert').forEach(c =\u003e {\n      const tag = c.getAttribute('data-barril');\n      const activo = tag === barrilActivo;\n      c.classList.toggle('is-selected', activo);\n      c.setAttribute('href', rutaCon(nativoActivo ? '' : selloActivo, activo ? '' : tag) + qsConservar());\n    });\n  }\n\n  const chipSelSello = sellos \u0026\u0026 sellos.querySelector('.bm-cert.is-selected');\n  if (textSello) textSello.textContent = chipSelSello ? (chipSelSello.getAttribute('data-label') || '—') : '—';\n  if (textBarril) {\n    const cb = barriles \u0026\u0026 barriles.querySelector('.bm-cert.is-selected');\n    textBarril.textContent = (cb \u0026\u0026 cb.getAttribute('data-label')) || (barrilActivo || '—');\n  }\n  if (textMedida) {\n    const bonitos = sel.map(v =\u003e {\n      const chip = wrap \u0026\u0026 [...wrap.querySelectorAll('.bm-size')].find(a =\u003e valoresDe(a).indexOf(v) \u003e -1);\n      return chip ? chip.getAttribute('data-medida') : v;\n    });\n    const unicos = bonitos.filter((v, i) =\u003e bonitos.indexOf(v) === i);\n    textMedida.textContent = unicos.length ? unicos.join(', ') : '—';\n  }\n  if (clearLink) clearLink.style.display = (selloActivo || barrilActivo || gidsActivos.length || sel.length) ? 'inline-flex' : 'none';\n  if (wrap) {\n    wrap.querySelectorAll('.bm-size').forEach(a =\u003e {\n      a.classList.toggle('is-selected', valoresDe(a).some(v =\u003e sel.indexOf(v) \u003e -1));\n    });\n  }\n\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    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    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    const go = (dir) =\u003e { track.scrollBy({ left: dir === 'left' ? -getStep() : getStep(), behavior: 'smooth' }); };\n    btnL \u0026\u0026 btnL.addEventListener('click', () =\u003e go('left'));\n    btnR \u0026\u0026 btnR.addEventListener('click', () =\u003e go('right'));\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    track.addEventListener('scroll', () =\u003e requestAnimationFrame(updateDisabled));\n    window.addEventListener('resize', updateDisabled);\n    updateDisabled();\n  });\n});\n\u003c\/script\u003e\n","products":[{"product_id":"set-de-pelota-y-bat-de-espuma-jumbo-mlb-cachorros-chicago","title":"Set de Pelota y Bat de Espuma Jumbo Franklin MLB","description":"\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eBate jumbo de espuma de caucho de 21 in (53.34 cm) con logotipos oficiales del equipo\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003ePelota de espuma de PU de 4 in (10.16 cm) con logotipos y colores del equipo.\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Franklin","offers":[{"title":"San Diego Padres","offer_id":52554508403004,"sku":"15120F25","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Cachorros","offer_id":48275605389628,"sku":"15120F16","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Chicago White Sox","offer_id":52554508435772,"sku":"15120F04","price":360.0,"currency_code":"MXN","in_stock":true},{"title":"Los Angeles Angels","offer_id":52554508468540,"sku":"15120F03","price":360.0,"currency_code":"MXN","in_stock":true},{"title":"Yankees","offer_id":52869204967740,"sku":"15120F10","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Boston","offer_id":52869205000508,"sku":"15120F02","price":360.0,"currency_code":"MXN","in_stock":true},{"title":"Dodgers","offer_id":52869205033276,"sku":"15120F19","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Reds","offer_id":52869205066044,"sku":"15120F17","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Houston","offer_id":52869205098812,"sku":"15120F18","price":360.0,"currency_code":"MXN","in_stock":true},{"title":"Phillies","offer_id":52869205131580,"sku":"15120F22","price":360.0,"currency_code":"MXN","in_stock":false},{"title":"Mariners","offer_id":52869205164348,"sku":"15120F12","price":360.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/Set_de_Pelota_y_Bat_de_Espuma_Jumbo_Franklin_MLB-padres.jpg?v=1765819149"},{"product_id":"bat-beisbol-victus-yardstick-diseno-lapiz-vpbysp-plastico","title":"Bat Beisbol Victus Yardstick Diseño Lapiz VPBYSP Plastico","description":"\u003ch2 data-start=\"249\" data-end=\"272\"\u003e\u003cstrong data-start=\"252\" data-end=\"272\"\u003eVictus Yardstick\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ch3 data-start=\"274\" data-end=\"295\"\u003e\u003cstrong data-start=\"278\" data-end=\"293\"\u003eDescripción\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp data-start=\"296\" data-end=\"561\"\u003eVictus Yardstick: equipado para todos tus viajes dentro y fuera del campo. Diseñado para acompañarte en rutinas de práctica, calentamientos y trabajo técnico, este modelo ofrece portabilidad, resistencia y un diseño pensado para uso ligero en superficies adecuadas.\u003c\/p\u003e\n\u003ch3 data-start=\"568\" data-end=\"582\"\u003e\u003cstrong data-start=\"572\" data-end=\"580\"\u003eFeel\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul data-start=\"583\" data-end=\"802\"\u003e\n\u003cli data-start=\"583\" data-end=\"642\"\u003e\n\u003cp data-start=\"585\" data-end=\"642\"\u003eConstrucción ligera que facilita su transporte y manejo\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"643\" data-end=\"727\"\u003e\n\u003cp data-start=\"645\" data-end=\"727\"\u003eSensación firme y estable durante ejercicios de precisión y rutinas de movilidad\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"728\" data-end=\"802\"\u003e\n\u003cp data-start=\"730\" data-end=\"802\"\u003eAcabado cómodo para sostener y manipular en entrenamientos prolongados\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"830\" data-end=\"947\"\u003e\n\u003cp data-start=\"832\" data-end=\"947\"\u003ePelícula decorativa especial que mantiene la apariencia del Yardstick siempre que se use en superficies adecuadas\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"948\" data-end=\"1033\"\u003e\n\u003cp data-start=\"950\" data-end=\"1033\"\u003eMateriales optimizados para césped o pasto sintético, evitando desgaste prematuro\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"1034\" data-end=\"1120\"\u003e\n\u003cp data-start=\"1036\" data-end=\"1120\"\u003eDiseño pensado para resistir trayectos constantes y uso continuo durante prácticas\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"1154\" data-end=\"1189\"\u003e\n\u003cp data-start=\"1156\" data-end=\"1189\"\u003e\u003cstrong data-start=\"1156\" data-end=\"1180\"\u003eDiámetro del barril:\u003c\/strong\u003e 2 5\/8”\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"1190\" data-end=\"1228\"\u003e\n\u003cp data-start=\"1192\" data-end=\"1228\"\u003e\u003cstrong data-start=\"1192\" data-end=\"1216\"\u003eTamaños disponibles:\u003c\/strong\u003e 27” y 32”\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"1229\" data-end=\"1267\"\u003e\n\u003cp data-start=\"1231\" data-end=\"1267\"\u003e\u003cstrong data-start=\"1231\" data-end=\"1240\"\u003eDrop:\u003c\/strong\u003e No aplica en este modelo\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli data-start=\"1268\" data-end=\"1443\"\u003e\n\u003cp data-start=\"1270\" data-end=\"1443\"\u003e\u003cstrong data-start=\"1270\" data-end=\"1290\"\u003eUso recomendado:\u003c\/strong\u003e Exclusivo para superficies de césped o pasto sintético (el contacto con cemento, concreto, rocas u objetos filosos puede dañar la película decorativa)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Victus","offers":[{"title":"27 in \/ Aluminio","offer_id":52508704768316,"sku":"VPBYSP-27","price":790.0,"currency_code":"MXN","in_stock":true},{"title":"32 in \/ Aluminio","offer_id":52508704801084,"sku":"VPBYSP-32","price":790.0,"currency_code":"MXN","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/BatBeisbolVictusYardstickDisenoLapizVPBYSPPlasticoBEISBOLMANIA_0001_Capa33.jpg?v=1764697073"},{"product_id":"bat-de-juguete-beisbol-gosport-plastico","title":"Bat de Juguete LotBall GoSport Plastico Blanco","description":"\u003cp data-start=\"95\" data-end=\"358\"\u003e\u003cstrong data-start=\"95\" data-end=\"119\"\u003e¿QUÉ ES LOTBALL AIR?\u003c\/strong\u003e Un divertido y emocionante juego de béisbol con lanzamientos con efecto que cualquiera puede disfrutar. El diseño moderno AIR del balón eleva la intensidad del béisbol clásico de patio con lanzamientos impredecibles y llenos de diversión.\u003c\/p\u003e\n\u003cp data-start=\"360\" data-end=\"605\"\u003e\u003cstrong data-start=\"360\" data-end=\"393\"\u003eLANZA COMO LOS PROFESIONALES:\u003c\/strong\u003e Ahora cualquiera puede lanzar curvas, sliders, risers y más, de forma espectacular. Diviértete ponchando a amigos y familiares con lanzamientos que rivalizan con los de las Grandes Ligas (incluye instrucciones).\u003c\/p\u003e\n\u003cp data-start=\"607\" data-end=\"941\"\u003e\u003cstrong data-start=\"607\" data-end=\"625\"\u003ePAQUETE COMBO:\u003c\/strong\u003e Incluye 1 bat plástico clásico de barril delgado de \u003cstrong data-start=\"678\" data-end=\"710\"\u003e31.5 pulgadas (80 cm aprox.)\u003c\/strong\u003e y 3 pelotas plásticas LotBall AIR de \u003cstrong data-start=\"748\" data-end=\"792\"\u003e2.9 pulgadas de diámetro (7.4 cm aprox.)\u003c\/strong\u003e. Todo lo necesario para jugar. Patente en trámite. Compatible con GoSports Strike Zone Target y GoSports Baseball Base Set (se venden por separado).\u003c\/p\u003e\n\u003cp data-start=\"943\" data-end=\"1102\"\u003e\u003cstrong data-start=\"943\" data-end=\"972\"\u003eJUEGA EN CUALQUIER LUGAR:\u003c\/strong\u003e LotBall AIR se puede jugar con solo 2 personas en el patio, el parque o en superficies como pasto, tierra, arena, concreto y más.\u003c\/p\u003e\n\u003cp data-start=\"1104\" data-end=\"1287\"\u003e\u003cstrong data-start=\"1104\" data-end=\"1131\"\u003eMATERIALES RESISTENTES:\u003c\/strong\u003e Fabricado con plástico robusto y ligero, más seguro que los bates y pelotas reales, lo que lo hace una excelente opción tanto para niños como para adultos.\u003c\/p\u003e\n\u003cp data-start=\"1289\" data-end=\"1931\"\u003eGoSports LotBall AIR le da un giro divertido a un pasatiempo clásico estadounidense. Nuestra versión del béisbol de patio utiliza un bat plástico y pelotas ligeras que llevan el juego a otro nivel. El diseño especial de la pelota permite aplicar distintos efectos, creando lanzamientos salvajes e impredecibles que mantienen al bateador en suspenso. El juego es ideal para niños a partir de 6 años y es seguro para jugar en cualquier superficie o lugar. El set incluye un bat plástico y 3 pelotas LotBall AIR. Complementa el set con el GoSports Strike Zone Targ\u003c\/p\u003e","brand":"GoSports","offers":[{"title":"31 in \/ Plastico","offer_id":52669757555004,"sku":"BASB-LB-AIR-SET-01","price":420.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/BatdeJugueteLotBallGoSportPlasticoBEISBOLMANIA_0000_Capa2.jpg?v=1769098203"},{"product_id":"bat-de-juguete-lotball-gosport-plastico-verde-basb-lb-air-set-01","title":"Bat de Juguete LotBall GoSport Plastico Verde","description":"\u003cp data-start=\"95\" data-end=\"358\"\u003e\u003cstrong data-start=\"95\" data-end=\"119\"\u003e¿QUÉ ES LOTBALL AIR?\u003c\/strong\u003e Un divertido y emocionante juego de béisbol con lanzamientos con efecto que cualquiera puede disfrutar. El diseño moderno AIR del balón eleva la intensidad del béisbol clásico de patio con lanzamientos impredecibles y llenos de diversión.\u003c\/p\u003e\n\u003cp data-start=\"360\" data-end=\"605\"\u003e\u003cstrong data-start=\"360\" data-end=\"393\"\u003eLANZA COMO LOS PROFESIONALES:\u003c\/strong\u003e Ahora cualquiera puede lanzar curvas, sliders, risers y más, de forma espectacular. Diviértete ponchando a amigos y familiares con lanzamientos que rivalizan con los de las Grandes Ligas (incluye instrucciones).\u003c\/p\u003e\n\u003cp data-start=\"607\" data-end=\"941\"\u003e\u003cstrong data-start=\"607\" data-end=\"625\"\u003ePAQUETE COMBO:\u003c\/strong\u003e Incluye 1 bat plástico clásico de barril delgado de \u003cstrong data-start=\"678\" data-end=\"710\"\u003e31.5 pulgadas (80 cm aprox.)\u003c\/strong\u003e y 3 pelotas plásticas LotBall AIR de \u003cstrong data-start=\"748\" data-end=\"792\"\u003e2.9 pulgadas de diámetro (7.4 cm aprox.)\u003c\/strong\u003e. Todo lo necesario para jugar. Patente en trámite. Compatible con GoSports Strike Zone Target y GoSports Baseball Base Set (se venden por separado).\u003c\/p\u003e\n\u003cp data-start=\"943\" data-end=\"1102\"\u003e\u003cstrong data-start=\"943\" data-end=\"972\"\u003eJUEGA EN CUALQUIER LUGAR:\u003c\/strong\u003e LotBall AIR se puede jugar con solo 2 personas en el patio, el parque o en superficies como pasto, tierra, arena, concreto y más.\u003c\/p\u003e\n\u003cp data-start=\"1104\" data-end=\"1287\"\u003e\u003cstrong data-start=\"1104\" data-end=\"1131\"\u003eMATERIALES RESISTENTES:\u003c\/strong\u003e Fabricado con plástico robusto y ligero, más seguro que los bates y pelotas reales, lo que lo hace una excelente opción tanto para niños como para adultos.\u003c\/p\u003e\n\u003cp data-start=\"1289\" data-end=\"1931\"\u003eGoSports LotBall AIR le da un giro divertido a un pasatiempo clásico estadounidense. Nuestra versión del béisbol de patio utiliza un bat plástico y pelotas ligeras que llevan el juego a otro nivel. El diseño especial de la pelota permite aplicar distintos efectos, creando lanzamientos salvajes e impredecibles que mantienen al bateador en suspenso. El juego es ideal para niños a partir de 6 años y es seguro para jugar en cualquier superficie o lugar. El set incluye un bat plástico y 3 pelotas LotBall AIR. Complementa el set con el GoSports Strike Zone Targ\u003c\/p\u003e","brand":"GoSports","offers":[{"title":"31 in \/ Plastico","offer_id":52669828727100,"sku":"BASB-LOTBALL-SET-01-GREEN","price":490.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/BatdeJugueteLotBallGoSportPlasticoVerdeBASB-LB-AIR-SET-01.jpg?v=1769101480"},{"product_id":"set-lotball-gosport-bat-pelotas-y-zona-de-strike-basb-lotball-cmbo-rtl-01","title":"Set LotBall GoSport Bat Pelotas y Zona de Strike","description":"\u003cp data-start=\"95\" data-end=\"359\"\u003e\u003cstrong data-start=\"95\" data-end=\"115\"\u003e¿QUÉ ES LOTBALL?\u003c\/strong\u003e Un divertido y emocionante juego de béisbol con lanzamientos con efecto que cualquiera puede disfrutar. El diseño especial de la pelota incrementa la intensidad del béisbol clásico de patio con lanzamientos impredecibles y llenos de diversión.\u003c\/p\u003e\n\u003cp data-start=\"361\" data-end=\"604\"\u003e\u003cstrong data-start=\"361\" data-end=\"394\"\u003eLANZA COMO LOS PROFESIONALES:\u003c\/strong\u003e Ahora cualquiera puede lanzar curvas, sliders, risers y más, de forma espectacular. Disfruta ponchando a amigos y familiares con lanzamientos que rivalizan con los de las Grandes Ligas (incluye instrucciones).\u003c\/p\u003e\n\u003cp data-start=\"606\" data-end=\"867\"\u003e\u003cstrong data-start=\"606\" data-end=\"623\"\u003eSET COMPLETO:\u003c\/strong\u003e Incluye 1 \u003cstrong data-start=\"634\" data-end=\"698\"\u003ebat plástico oficial LotBall de 33 pulgadas (83.8 cm aprox.)\u003c\/strong\u003e, 3 \u003cstrong data-start=\"702\" data-end=\"785\"\u003epelotas plásticas oficiales LotBall de 2.9 pulgadas de diámetro (7.4 cm aprox.)\u003c\/strong\u003e y una \u003cstrong data-start=\"792\" data-end=\"866\"\u003ezona de strike premium de poliéster de 24 x 20 pulgadas (61 x 50.8 cm)\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp data-start=\"869\" data-end=\"1178\"\u003e\u003cstrong data-start=\"869\" data-end=\"896\"\u003eZONA DE STRIKE PREMIUM:\u003c\/strong\u003e Permite marcar fácilmente bolas y strikes durante el juego. Los lanzamientos que golpean el objetivo principal o el marco exterior se consideran strike; los que fallan el objetivo o golpean las patas se consideran bola. La zona de strike puede fijarse al pasto o arena con estacas.\u003c\/p\u003e\n\u003cp data-start=\"1180\" data-end=\"1279\"\u003e\u003cstrong data-start=\"1180\" data-end=\"1209\"\u003eJUEGA EN CUALQUIER LUGAR:\u003c\/strong\u003e LotBall puede jugarse con solo 2 personas en el patio o en el parque.\u003c\/p\u003e\n\u003cp data-start=\"1281\" data-end=\"1985\"\u003eGoSports LotBall le da un giro divertido a un pasatiempo clásico estadounidense. Esta versión del béisbol de patio utiliza un bat plástico y pelotas hexagonales ligeras que llevan el juego a otro nivel. El diseño de la pelota permite aplicar distintos efectos, generando lanzamientos salvajes e impredecibles que mantienen al bateador en suspenso. El juego es ideal para niños a partir de 6 años y puede jugarse tanto en el patio como en el parque. El set incluye un bat plástico con diseño tipo madera, 3 pelotas color neón y una zona de strike premium de poliéster que puede fijarse en pasto o arena. Con este set completo tienes todo lo necesario para disfrutar un divertido juego de GoSports LotBall.\u003c\/p\u003e","brand":"GoSports","offers":[{"title":"31 in \/ Plastico","offer_id":52669840523580,"sku":"BASB-LOTBALL-CMBO-RTL-01","price":1290.0,"currency_code":"MXN","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0267\/4940\/3235\/files\/SetLotBallGoSportBatPelotasyZonadeStrikeBASB-LOTBALL-CMBO-RTL-01BEISBOLMANIA_0000_Capa15.jpg?v=1769102161"}],"url":"https:\/\/beisbolmania.mx\/collections\/bats-tee-ball-plastico\/2-1-4.oembed","provider":"Beisbolmania","version":"1.0","type":"link"}