{"title":"Off-Road Electric Bikes","description":"","products":[{"product_id":"ouxi-v8-mini-fat-tire-electric-bike","title":"OUXI V8 Mini Fat Tire Electric Bike","description":"\u003c!-- OUXI V8Mini Isolated Version: Popup only for Specification, others expand normally --\u003e\n\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\n\n\u003c!-- --- HTML Structure --- --\u003e\n\u003cdiv id=\"ouxiSidebarContainer\"\u003e\n  \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ouxi-sidebar\"\u003e\n    \u003cdiv class=\"ouxi-sidebar-header\"\u003e\n      \u003cdiv class=\"ouxi-sidebar-title\"\u003eSpecifications\u003c\/div\u003e\n      \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e\n    \u003c\/div\u003e\n    \n    \u003cdiv class=\"ouxi-sidebar-content\"\u003e\n      \u003c!-- PERFORMANCE --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003ePERFORMANCE\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e500W brushless motor\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTop Speed\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e20 mph\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eabout 30-45 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBattery\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\"\u003eCharging Time\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAbout 5–7 hours\u003c\/span\u003e\n\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWaterproof\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DRIVETRAIN --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDRIVETRAIN\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eAccelerator\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eThumb\/twist throttle (supports pure electric\/power-assisted\/pedal modes)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTransmission\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e7-Speed Shimano\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003ePAS Levels\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 Levels (Cadence Sensor)\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- FRAME --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eFRAME \u0026amp; BRAKES\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMade of high carbon steel\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSuspension\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipped with front fork shock absorber\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDual disc brakes\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DIMENSIONS --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONS\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRider Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e4'11\" – 5'5\"\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSeat Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e29.13in\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSize (L x W x H)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e57 × 26 × 43.3  in.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e68.34lbs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMax Load\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- --- JavaScript Precise Isolation Logic --- --\u003e\n\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\n\u003c!-- OUXI V8Mini Isolated Version END --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821480124493,"sku":"V8 Mini Ebike-Black","price":609.0,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":41821487104077,"sku":"V8 Mini Ebike-Blue","price":609.0,"currency_code":"USD","in_stock":true},{"title":"Pink","offer_id":41830094340173,"sku":"V8 Mini Ebike-Pink","price":609.0,"currency_code":"USD","in_stock":true}],"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":"OUXI V8 750W Fat Tire Electric Bike","description":"\u003c!-- OUXI V8 Isolated Version: Popup only for Specification, others expand normally --\u003e\n\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\n\n\u003c!-- --- HTML Structure --- --\u003e\n\u003cdiv id=\"ouxiSidebarContainer\"\u003e\n  \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ouxi-sidebar\"\u003e\n    \u003cdiv class=\"ouxi-sidebar-header\"\u003e\n      \u003cdiv class=\"ouxi-sidebar-title\"\u003eSpecifications\u003c\/div\u003e\n      \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e\n    \u003c\/div\u003e\n    \n    \u003cdiv class=\"ouxi-sidebar-content\"\u003e\n      \u003c!-- PERFORMANCE --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003ePERFORMANCE\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e750W brushless motor(Peak output 1000W)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTop Speed\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e32 mph\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (Electric)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 37 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 60 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBattery\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eRemovable 48V 15Ah lithium battery\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eCharging Time\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAbout 5–7 hours\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWaterproof\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DRIVETRAIN --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDRIVETRAIN\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eAccelerator\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eThumb\/twist throttle (supports pure electric\/power-assisted\/pedal modes)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTransmission\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e7-Speed Shimano\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003ePAS Levels\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 Levels (Cadence Sensor)\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- FRAME --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eFRAME \u0026amp; BRAKES\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMade of high carbon steel\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSuspension\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipped with front fork shock absorber\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDual disc brakes\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DIMENSIONS --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONS\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRider Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSeat Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e33.46 in\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSize (L x W x H)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e65 × 25.6 × 43.3 in.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e83.77 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMax Load\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- --- JavaScript Precise Isolation Logic --- --\u003e\n\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\n\u003c!-- OUXI V8 Isolated Version END --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821461184589,"sku":"MJD-V8-15AH-Black","price":699.0,"currency_code":"USD","in_stock":true},{"title":"Brown","offer_id":41821461217357,"sku":"V8 BROWN","price":699.0,"currency_code":"USD","in_stock":true}],"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":"OUXI R7 750W Fat Tire Electric Bike","description":"\u003c!-- OUXI R7 Isolated Version: Popup only for Specification, others expand normally --\u003e\n\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\n\u003c!-- --- HTML Structure --- --\u003e\n\u003cdiv id=\"ouxiSidebarContainer\"\u003e\n\u003cdiv class=\"ouxi-sidebar-overlay\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ouxi-sidebar\"\u003e\n\u003cdiv class=\"ouxi-sidebar-header\"\u003e\n\u003cdiv class=\"ouxi-sidebar-title\"\u003eSpecifications\u003c\/div\u003e\n\u003cbutton class=\"ouxi-close-btn\"\u003e×\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ouxi-sidebar-content\"\u003e\n\u003c!-- PERFORMANCE --\u003e\n\u003cdiv class=\"spec-section-header\"\u003ePERFORMANCE\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eHigh-speed 750W\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTop Speed\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e25 mph\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (Electric)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e35 miles\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e60 miles\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBattery\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e48V 15Ah\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eCharging Time\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAbout 5–7 hours\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWaterproof\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- DRIVETRAIN --\u003e\n\u003cdiv class=\"spec-section-header\"\u003eDRIVETRAIN\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eAccelerator\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eThumb\/twist throttle (supports pure electric\/power-assisted\/pedal modes)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTransmission\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e7-Speed Shimano\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003ePAS Levels\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 Levels (Cadence Sensor)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- FRAME --\u003e\n\u003cdiv class=\"spec-section-header\"\u003eFRAME \u0026amp; BRAKES\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMade of high carbon steel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSuspension\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipped with front and rear shock absorbers\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDual disc brakes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- DIMENSIONS --\u003e\n\u003cdiv class=\"spec-section-header\"\u003eDIMENSIONS\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRider Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'3\"–6'3\"\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSize (L x W x H)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e74.41 x 24.80 x 45.28inchinch\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e68.3 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMax Load\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- --- JavaScript Precise Isolation Logic --- --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- OUXI R7 Isolated Version END --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41821563486285,"sku":"R7-Black","price":589.0,"currency_code":"USD","in_stock":true},{"title":"Grey","offer_id":41821563420749,"sku":"R7-Grey","price":589.0,"currency_code":"USD","in_stock":true},{"title":"Navy","offer_id":42006856269901,"sku":"R7-blue","price":589.0,"currency_code":"USD","in_stock":true}],"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":"OUXI V8 Max 750W Dual Battery Electric Bike","description":"\u003c!-- OUXI V8Max Isolated Version: Popup only for Specification, others expand normally --\u003e\n\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\n\n\u003c!-- --- HTML Structure --- --\u003e\n\u003cdiv id=\"ouxiSidebarContainer\"\u003e\n  \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ouxi-sidebar\"\u003e\n    \u003cdiv class=\"ouxi-sidebar-header\"\u003e\n      \u003cdiv class=\"ouxi-sidebar-title\"\u003eSpecifications\u003c\/div\u003e\n      \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e\n    \u003c\/div\u003e\n    \n    \u003cdiv class=\"ouxi-sidebar-content\"\u003e\n      \u003c!-- PERFORMANCE --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003ePERFORMANCE\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e750W brushless motor (peak 1500W)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTop Speed\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e32 mph\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (Electric)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 60 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 99 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBattery\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e48V \/ 30Ah removable dual battery system\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eCharging Time\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAbout 5–7 hours\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWaterproof\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DRIVETRAIN --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDRIVETRAIN\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eAccelerator\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eThumb\/twist throttle (supports pure electric\/power-assisted\/pedal modes)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTransmission\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e7-Speed Shimano\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003ePAS Levels\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 Levels (Cadence Sensor)\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- FRAME --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eFRAME \u0026amp; BRAKES\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMade of high carbon steel\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSuspension\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipped with front fork shock absorber\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDual hydraulic\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DIMENSIONS --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONS\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRider Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSeat Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e33.46 in\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSize (L x W x H)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e65 × 25.6 × 43.3 in.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e83.77 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMax Load\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e330 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- --- JavaScript Precise Isolation Logic --- --\u003e\n\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\n\u003c!-- OUXI V8Max Isolated Version END --\u003e","brand":"OUXI","offers":[{"title":"Black","offer_id":41876179484749,"sku":"V8-Oil Brake-Black","price":959.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxiv8maxebikes.webp?v=1772712789"},{"product_id":"ouxi-gt2000-electric-dirtbike-3000w","title":"OUXI GT2000 Electric Dirtbike | All-Terrain Electric Bike","description":"\u003c!-- OUXI GT2000 Isolated Version: Popup only for Specification, others expand normally --\u003e\n\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\n\n\u003c!-- --- HTML Structure --- --\u003e\n\u003cdiv id=\"ouxiSidebarContainer\"\u003e\n  \u003cdiv class=\"ouxi-sidebar-overlay\" onclick=\"window.toggleOuxiSidebar()\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ouxi-sidebar\"\u003e\n    \u003cdiv class=\"ouxi-sidebar-header\"\u003e\n      \u003cdiv class=\"ouxi-sidebar-title\"\u003eSpecifications\u003c\/div\u003e\n      \u003cbutton class=\"ouxi-close-btn\" onclick=\"window.toggleOuxiSidebar()\"\u003e×\u003c\/button\u003e\n    \u003c\/div\u003e\n    \n    \u003cdiv class=\"ouxi-sidebar-content\"\u003e\n      \u003c!-- PERFORMANCE --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003ePERFORMANCE\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMotor\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e3000W brushless motor\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTop Speed\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e37 mph\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (Electric)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 75 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRange (PAS)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eUp to 87 miles\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBattery\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eRemovable 48V 30Ah lithium battery\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eCharging Time\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eAbout 6–7 hours\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWaterproof\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eIP54\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eNFC Start\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eSupport\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DRIVETRAIN --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDRIVETRAIN\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eAccelerator\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eThumb\/twist throttle (supports pure electric\/power-assisted\/pedal modes)\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eTransmission\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e7-Speed Shimano\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eShimano Tourney\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003ePAS Levels\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5 Levels (Cadence Sensor)\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- FRAME --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eFRAME \u0026amp; BRAKES\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eMade of high carbon steel\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSuspension\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eEquipped with front and rear shock absorbers\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003eDual hydraulic\u003c\/span\u003e\n\u003c\/div\u003e\n\n      \u003c!-- DIMENSIONS --\u003e\n      \u003cdiv class=\"spec-section-header\"\u003eDIMENSIONS\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eRider Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e5'4\" – 6'5\"\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSeat Height\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e45.27 in\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eSize (L x W x H)\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e74 x 24.8 x 45.2inch\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eWeight\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e103.5 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"spec-row\"\u003e\n\u003cspan class=\"spec-label\"\u003eMax Load\u003c\/span\u003e\u003cspan class=\"spec-value\"\u003e350 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- --- JavaScript Precise Isolation Logic --- --\u003e\n\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\n\u003c!-- OUXI GT2000 Isolated Version END --\u003e","brand":"OUXI","offers":[{"title":"Grey","offer_id":41952776323149,"sku":"OUXI GT2000-Silver","price":1399.0,"currency_code":"USD","in_stock":true},{"title":"Orange","offer_id":41952776355917,"sku":"OUXI GT2000-Orange","price":1399.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/files\/ouxi-electric-dirt-bike.webp?v=1769051939"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0647\/1355\/6045\/collections\/GT2000.webp?v=1779343504","url":"https:\/\/ouxi-ebike.com\/collections\/off-road-electric-bikes.oembed","provider":"OUXI","version":"1.0","type":"link"}