{"title":"Bicicletas eléctricas","description":"","products":[{"product_id":"ouxi-v8-mini-fat-tire-electric-bike","title":"Bicicleta eléctrica OUXI V8 Mini Fat Tire","description":"\u003c!-- Versión aislada OUXI V8Mini: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMotor sin escobillas de 500 W\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e20 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eRango\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eaproximadamente 30-45 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"36V 10.4Ah removable battery\u0026lt;\/span\u0026gt;\n\u0026lt;\/div\u0026gt;\n      \u0026lt;div class=\" spec-row\u003e\n\u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eaproximadamente 5–7 horas\u003c\/span\u003e  \u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguador de horquilla delantera\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFrenos de disco dobles\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e4'11\" – 5'5\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del asiento\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e29,13 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e57 × 26 × 43,3 pulgadas.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e68,34 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN DE LA VERSIÓN AISLADA DEL OUXI V8Mini --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821480124493,"sku":"V8 Mini Ebike-Black","price":609.0,"currency_code":"USD","in_stock":false},{"title":"Blue","offer_id":41821487104077,"sku":"V8 Mini Ebike-Blue","price":609.0,"currency_code":"USD","in_stock":false},{"title":"Pink","offer_id":41830094340173,"sku":"V8 Mini Ebike-Pink","price":609.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/3.png?v=1752631322"},{"product_id":"ouxi-v8-fat-tire-electric-bike-750w","title":"Bicicleta eléctrica con neumático ancho OUXI V8 750W","description":"\u003c!-- Versión aislada de OUXI V8: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMotor sin escobillas de 750 W (potencia máxima de 1000 W)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e32 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCocina (eléctrica)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 37 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAlcance (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 60 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eBatería de litio extraíble de 48 V y 15 Ah\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAproximadamente 5-7 horas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguador de horquilla delantera\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFrenos de disco dobles\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del asiento\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e33,46 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e65 × 25,6 × 43,3 pulgadas.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e83,77 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN de la versión aislada de OUXI V8 --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821461184589,"sku":"MJD-V8-15AH-Black","price":699.0,"currency_code":"USD","in_stock":false},{"title":"Brown","offer_id":41821461217357,"sku":"V8 BROWN","price":699.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxiv8ebikes.webp?v=1772712642"},{"product_id":"ouxi-r7-fat-tire-electric-bike-750w","title":"Bicicleta eléctrica con neumáticos gruesos OUXI R7 750W","description":"\u003c!-- Versión aislada de OUXI R7: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAlta velocidad 750W\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e32 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCocina (eléctrica)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e35 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAlcance (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e60 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e48V 15Ah\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAproximadamente 5-7 horas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguadores delanteros y traseros.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFrenos de disco dobles\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'3\"–6'3\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e74,41 x 24,80 x 45,28 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e68,3 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN de la versión aislada de OUXI R7 --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821563486285,"sku":"R7-Black","price":589.0,"currency_code":"USD","in_stock":false},{"title":"Grey","offer_id":41821563420749,"sku":"R7-Grey","price":589.0,"currency_code":"USD","in_stock":false},{"title":"Navy","offer_id":42006856269901,"sku":"R7-blue","price":589.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxiebike1.png?v=1756716430"},{"product_id":"ouxi-v8-max-fat-tire-electric-bike-750w-dual-battery","title":"Bicicleta eléctrica con doble batería OUXI V8 Max 750W","description":"\u003c!-- Versión aislada OUXI V8Max: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMotor sin escobillas de 750 W (potencia máxima de 1500 W)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e32 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCocina (eléctrica)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 60 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAlcance (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 99 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eSistema de doble batería extraíble de 48 V\/30 Ah\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAproximadamente 5-7 horas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguador de horquilla delantera\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDoble sistema hidráulico\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del asiento\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e33,46 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e65 × 25,6 × 43,3 pulgadas.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e83,77 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN de la versión aislada de OUXI V8Max --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41876179484749,"sku":"V8-Oil Brake-Black","price":959.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxiv8maxebikes.webp?v=1772712789"},{"product_id":"ouxi-gt2000-electric-dirtbike-3000w","title":"Moto de cross eléctrica OUXI GT2000 | Bicicleta eléctrica todo terreno","description":"\u003c!-- Versión aislada del OUXI GT2000: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMotor sin escobillas de 3000 W\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e37 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCocina (eléctrica)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 75 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAlcance (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHasta 87 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eBatería de litio extraíble de 48 V y 30 Ah\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAproximadamente 6-7 horas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e          \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eInicio NFC\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eApoyo\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguadores delanteros y traseros.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDoble sistema hidráulico\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del asiento\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e45,27 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e74 x 24,8 x 45,2 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e59,5 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e350 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN de la versión aislada del OUXI GT2000 --\u003e","brand":"OUXI","offers":[{"title":"Grey","offer_id":41952776323149,"sku":"OUXI GT2000-Silver","price":1399.0,"currency_code":"USD","in_stock":false},{"title":"Orange","offer_id":41952776355917,"sku":"OUXI GT2000-Orange","price":1399.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxi-electric-dirt-bike.webp?v=1769051939"},{"product_id":"r11-electric-bicycle-500w","title":"Bicicleta eléctrica R11 500W","description":"\u003c!-- Versión aislada de OUXI R11: Ventana emergente solo para especificaciones, las demás se expanden normalmente. --\u003e  \u003cstyle\u003e\n  \/* --- 1. Sidebar Styles (Wide Version + Styled) --- *\/\n  .ouxi-sidebar-overlay {\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    z-index: 2147483640; \/* Extremely high z-index *\/\n    visibility: hidden; opacity: 0; transition: opacity 0.3s ease;\n  }\n\n  .ouxi-sidebar {\n    position: fixed; top: 0; right: -650px;\n    width: 550px; \/* Wide version *\/\n    max-width: 90%;\n    height: 100%;\n    background: #fff;\n    box-shadow: -4px 0 15px rgba(0,0,0,0.15);\n    z-index: 2147483647;\n    transition: right 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    overflow-y: auto;\n    padding: 0;\n    box-sizing: border-box;\n    font-family: Arial, \"Helvetica Neue\", Helvetica, sans-serif;\n    color: #333;\n  }\n\n  .ouxi-sidebar-active .ouxi-sidebar-overlay { visibility: visible; opacity: 1; }\n  .ouxi-sidebar-active .ouxi-sidebar { right: 0; }\n\n  \/* Header *\/\n  .ouxi-sidebar-header {\n    display: flex; justify-content: space-between; align-items: center;\n    padding: 25px 30px;\n    background: #fff;\n    position: sticky; top: 0; z-index: 10;\n    border-bottom: 1px solid #eee;\n  }\n  .ouxi-sidebar-title { font-size: 24px; font-weight: 800; margin: 0; color: #000; }\n  \n  \/* Close Button *\/\n  .ouxi-close-btn {\n    font-size: 40px; font-weight: 300; cursor: pointer; color: #333;\n    background: none; border: none; padding: 0 10px; height: 40px; line-height: 0.7;\n    transition: transform 0.2s;\n  }\n  .ouxi-close-btn:hover { transform: rotate(90deg); color: #000; }\n\n  \/* Content Area *\/\n  .ouxi-sidebar-content { padding: 10px 30px 60px 30px; }\n\n  \/* Gray Section Title *\/\n  .spec-section-header {\n    background-color: #F5F5F5; padding: 12px 15px;\n    font-size: 15px; font-weight: 700; text-transform: uppercase;\n    margin-top: 30px; margin-bottom: 10px; color: #000; border-radius: 4px;\n  }\n  .spec-section-header:first-child { margin-top: 20px; }\n\n  \/* Table Row *\/\n  .spec-row {\n    display: flex; justify-content: space-between; align-items: baseline; \n    padding: 15px 5px; border-bottom: 1px solid #EAEAEA; font-size: 15px;\n  }\n  .spec-label { font-weight: 600; color: #111; width: 40%; flex-shrink: 0; }\n  .spec-value { text-align: right; color: #555; font-weight: 400; line-height: 1.4; width: 55%; }\n  .spec-row:last-child { border-bottom: none; }\n\u003c\/style\u003e    \u003c!-- --- Estructura HTML --- --\u003e  \u003cdiv id=\"ouxiSidebarContainer\"\u003e      \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e      \u003cdiv class=\"ouxi-sidebar\"\u003e          \u003cdiv class=\"ouxi-sidebar-header\"\u003e              \u003cdiv class=\"ouxi-sidebar-title\"\u003ePresupuesto\u003c\/div\u003e              \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e          \u003c\/div\u003e                    \u003cdiv class=\"ouxi-sidebar-content\"\u003e              \u003c!-- ACTUACIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eACTUACIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMotor sin escobillas de 500 W\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eVelocidad máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e20 mph\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCocina (eléctrica)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e43 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAlcance (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e55 millas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eBatería\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eBatería de litio extraíble de 36 V y 10,4 Ah\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTiempo de carga\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAproximadamente 3-4 horas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eImpermeable\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- TRANSMISIÓN --\u003e              \u003cdiv class=\"spec-section-header\"\u003eTRANSMISIÓN\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAcelerador\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAcelerador de pulgar\/giro (compatible con modos totalmente eléctrico\/asistido\/a pedaleo)\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eTransmisión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano de 7 velocidades\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003edesviador trasero\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eNiveles PAS\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 niveles (sensor de cadencia)\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- MARCO --\u003e              \u003cdiv class=\"spec-section-header\"\u003eMARCO \u0026amp; FRENOS\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eMarco\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFabricado en acero de alto contenido en carbono.\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eSuspensión\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipado con amortiguador de horquilla delantera\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eFrenos\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eFrenos de disco dobles\u003c\/span\u003e  \u003c\/div\u003e                \u003c!-- DIMENSIONES --\u003e              \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONES\u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eAltura del jinete\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\"'-6'5\"\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eDimensiones (largo x ancho x alto)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e67,7 x 27 x 38,2 pulgadas\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003ePeso\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e47,6 libras\u003c\/span\u003e  \u003c\/div\u003e              \u003cdiv class=\"spec-row\"\u003e  \u003cspan class=\"spec-label\"\u003eCarga máxima\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 libras\u003c\/span\u003e  \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e  \u003c\/div\u003e    \u003c!-- --- Lógica de aislamiento precisa de JavaScript --- --\u003e  \u003cscript\u003e\n  \/\/ 1. Global Toggle Function\n  window.toggleOuxiSidebar = function() {\n    var container = document.getElementById('ouxiSidebarContainer');\n    if(container) {\n      container.classList.toggle('ouxi-sidebar-active');\n    }\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    \n    \/\/ 2. Move sidebar to the bottom of Body and remove duplicates\n    var existingSidebars = document.querySelectorAll('#ouxiSidebarContainer');\n    if (existingSidebars.length \u003e 0) {\n       \/\/ Keep only the last one, remove others (prevent duplicates)\n       for(var k=0; k\u003cexistingSidebars.length-1; k++) {\n           existingSidebars[k].remove();\n       }\n       document.body.appendChild(existingSidebars[existingSidebars.length-1]);\n    }\n\n    \/\/ 3. Global Click Listener (Use Capture Phase for precise interception)\n    document.addEventListener('click', function(e) {\n        var target = e.target;\n        var foundSpecTrigger = false;\n\n        \/\/ Traverse up max 5 levels (find the clicked row)\n        for (var i = 0; i \u003c 5; i++) {\n            if (!target) break;\n            \n            \/\/ Ignore clicks inside the sidebar\n            if (target.id === 'ouxiSidebarContainer' || target.closest('#ouxiSidebarContainer')) return;\n\n            \/\/ Get text of current element\n            var text = target.innerText || target.textContent || \"\";\n            text = text.trim().toLowerCase();\n\n            \/\/ --- Core Isolation Logic START ---\n            \n            \/\/ Condition 1: Must contain \"specification\"\n            if (text.includes('specification')) {\n                \n                \/\/ Condition 2 (Key): Must exclude words like FAQ, Features, etc.\n                \/\/ If text contains \"faq\" or \"features\", we went too high (found parent container), must ignore!\n                if (text.includes('faq') || text.includes('features') || text.includes('box')) {\n                    \/\/ This is a large container, not the single row we want. Let it pass!\n                    break; \n                }\n\n                \/\/ Condition 3 (Key): Length limit\n                \/\/ The single line title \"Specification\" is short. If finding a large paragraph, it's not the title.\n                \/\/ We limit it to within 50 characters.\n                if (text.length \u003c 50) {\n                    foundSpecTrigger = true;\n                    break; \/\/ Found it! Stop traversing up.\n                }\n            }\n            \/\/ --- Core Isolation Logic END ---\n\n            target = target.parentElement;\n        }\n\n        \/\/ Intercept only when it fully meets \"Is Specification AND Not Large Container\"\n        if (foundSpecTrigger) {\n            e.preventDefault();\n            e.stopPropagation();\n            e.stopImmediatePropagation();\n            window.toggleOuxiSidebar();\n        }\n        \/\/ Otherwise (e.g. clicking FAQ), code ends here, browser executes default expand action.\n        \n    }, true); \n  });\n\u003c\/script\u003e  \u003c!-- FIN de la versión aislada de OUXI R11 --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":42006852042829,"sku":"R11-Black","price":389.0,"currency_code":"USD","in_stock":false},{"title":"White","offer_id":42006852010061,"sku":"R11-White","price":389.0,"currency_code":"USD","in_stock":false},{"title":"Silver","offer_id":42006850338893,"sku":"R11-Silver","price":389.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ElectricBicycle500W.webp?v=1756716235"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/collections\/OUXI_V8_STILL_BEACH_02_11062025_468286ae-c84d-4eb5-a21a-cd5c4c6d5960.webp?v=1766399157","url":"https:\/\/es.ouxi-ebike.com\/collections\/electric-bike.oembed","provider":"OUXI","version":"1.0","type":"link"}