{"product_id":"spec-3-alpine-racing-trx","title":"Spec 3 Alpine Racing TRX","description":"\u003cdiv id=\"era-configurator\" style=\"font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:720px;margin:0 auto 30px;\"\u003e\n\u003c!-- ERA Bundle Configurator v2.0 — Transactional --\u003e\n\u003cstyle\u003e\n.era-cfg-header{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);color:#fff;padding:20px 24px;border-radius:12px 12px 0 0;}\n.era-cfg-header h3{margin:0 0 4px;font-size:20px;font-weight:700;}\n.era-cfg-header p{margin:0;font-size:13px;color:#bbb;}\n.era-cfg-price-bar{display:flex;justify-content:space-between;align-items:center;background:#111;color:#fff;padding:14px 24px;position:sticky;top:0;z-index:10;}\n.era-cfg-price-bar .era-total{font-size:22px;font-weight:700;color:#ff4444;}\n.era-cfg-price-bar .era-addon-sum{font-size:13px;color:#aaa;}\n.era-cfg-body{border:1px solid #e0e0e0;border-top:none;border-radius:0 0 12px 12px;overflow:hidden;}\n.era-cfg-group{border-bottom:1px solid #eee;}\n.era-cfg-group:last-child{border-bottom:none;}\n.era-cfg-group-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;background:#fafafa;transition:background .15s;user-select:none;}\n.era-cfg-group-head:hover{background:#f0f0f0;}\n.era-cfg-group-head .era-g-left{display:flex;align-items:center;gap:10px;}\n.era-cfg-group-head .era-g-icon{font-size:22px;}\n.era-cfg-group-head .era-g-name{font-size:15px;font-weight:600;color:#222;}\n.era-cfg-group-head .era-g-count{font-size:12px;color:#888;background:#eee;padding:2px 8px;border-radius:10px;}\n.era-cfg-group-head .era-g-arrow{font-size:14px;color:#999;transition:transform .2s;}\n.era-cfg-group-head.open .era-g-arrow{transform:rotate(180deg);}\n.era-cfg-group-body{display:none;padding:8px 16px 16px;}\n.era-cfg-group-body.open{display:block;}\n.era-cfg-opt{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:4px 0;border:2px solid #eee;border-radius:8px;cursor:pointer;transition:all .15s;background:#fff;}\n.era-cfg-opt:hover{border-color:#ccc;background:#f9f9f9;}\n.era-cfg-opt.selected{border-color:#ff4444;background:#fff5f5;}\n.era-cfg-opt.coming-soon{opacity:.55;cursor:default;}\n.era-cfg-opt .era-o-check{width:20px;height:20px;border:2px solid #ccc;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-size:14px;}\n.era-cfg-opt.selected .era-o-check{background:#ff4444;border-color:#ff4444;color:#fff;}\n.era-cfg-opt .era-o-img{width:56px;height:56px;object-fit:cover;border-radius:6px;background:#f0f0f0;flex-shrink:0;}\n.era-cfg-opt .era-o-info{flex:1;min-width:0;}\n.era-cfg-opt .era-o-name{font-size:14px;font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}\n.era-cfg-opt .era-o-link{font-size:11px;color:#0066cc;text-decoration:none;}\n.era-cfg-opt .era-o-price{font-size:15px;font-weight:700;color:#e60000;white-space:nowrap;flex-shrink:0;}\n.era-cfg-opt .era-o-badge{font-size:11px;color:#888;background:#f0f0f0;padding:2px 8px;border-radius:10px;white-space:nowrap;}\n.era-cfg-atc{padding:20px 24px;background:#f5f5f5;border-top:1px solid #e0e0e0;}\n.era-cfg-atc-btn{width:100%;padding:16px;font-size:17px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff4444,#cc0000);border:none;border-radius:10px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px;}\n.era-cfg-atc-btn:hover{background:linear-gradient(135deg,#ff5555,#dd1111);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,68,68,.3);}\n.era-cfg-atc-btn:active{transform:translateY(0);}\n.era-cfg-atc-btn.loading{opacity:.7;cursor:wait;}\n.era-cfg-summary{margin:12px 0 0;font-size:13px;color:#666;}\n.era-cfg-summary span{color:#e60000;font-weight:600;}\n.era-cfg-toast{position:fixed;bottom:20px;right:20px;background:#1a1a1a;color:#fff;padding:14px 24px;border-radius:10px;font-size:14px;font-weight:500;z-index:9999;transform:translateY(100px);opacity:0;transition:all .3s;}\n.era-cfg-toast.show{transform:translateY(0);opacity:1;}\n.era-cfg-toast.error{background:#cc0000;}\n\u003c\/style\u003e\n\n\u003cdiv class=\"era-cfg-header\"\u003e\n  \u003ch3\u003e🏁 Configure Your Build\u003c\/h3\u003e\n  \u003cp\u003eSelect accessories below — each adds to your cart as a separate item\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"era-cfg-price-bar\" id=\"eraPriceBar\"\u003e\n  \u003cdiv\u003e\n    \u003cdiv class=\"era-total\" id=\"eraTotal\"\u003e$10,994.00\u003c\/div\u003e\n    \u003cdiv class=\"era-addon-sum\" id=\"eraAddonSum\"\u003eBase price — no add-ons selected\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"text-align:right;\"\u003e\n    \u003cdiv style=\"font-size:11px;color:#888;\"\u003eCONFIGURED TOTAL\u003c\/div\u003e\n    \u003cdiv id=\"eraItemCount\" style=\"font-size:12px;color:#aaa;\"\u003e0 add-ons\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"era-cfg-body\" id=\"eraCfgBody\"\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"era-cfg-atc\"\u003e\n  \u003cbutton class=\"era-cfg-atc-btn\" id=\"eraAtcBtn\" onclick=\"eraAddToCart()\"\u003e\n    Add Bundle to Cart\n  \u003c\/button\u003e\n  \u003cdiv class=\"era-cfg-summary\" id=\"eraSummary\"\u003e\n    Base: \u003cspan\u003e$10,994.00\u003c\/span\u003e + \u003cspan\u003e$0.00\u003c\/span\u003e add-ons = \u003cspan\u003e$10,994.00\u003c\/span\u003e total\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"era-cfg-toast\" id=\"eraToast\"\u003e\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var BASE_VID = 48770277408925;\n  var BASE_PRICE = 10994.0;\n  var STORE = \"https:\/\/store.eragaming.gg\";\n  var GROUPS = [{key:\"seats\",name:\"Seats\",icon:\"🪑\",type:\"multi\",options:[{label:\"Performance 4-Point Harness — Black\",vid:48765573136541,price:60.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-SBELT-R_2__shopify_1e37d87a-7dd2-4bc0-ba3b-c99def6f5313.png?v=1786121442\",handle:\"4-point-racing-harness-for-sim-racing-flight-simulator-cockpits\"},{label:\"Performance 4-Point Harness — Red\",vid:48765573169309,price:60.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-SBELT-R_2__shopify_1e37d87a-7dd2-4bc0-ba3b-c99def6f5313.png?v=1786121442\",handle:\"4-point-racing-harness-for-sim-racing-flight-simulator-cockpits\"},{label:\"Motorized Seat Slider\",vid:null,price:0,comingSoon:true}]},{key:\"monitors\",name:\"Monitors \u0026 VR\",icon:\"🖥️\",type:\"multi\",options:[{label:\"32\\\" QHD 180Hz IPS Gaming Monitor\",vid:48765270098077,price:294.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MONITOR32_Front_1.webp?v=1786117124\",handle:\"32-qhd-180hz-ips-gaming-monitor-sim-racing-flight-sim-display\"},{label:\"34\\\" Ultrawide UWQHD Curved Gaming Monitor\",vid:47068513403037,price:394.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-M34A-1.webp?v=1786120180\",handle:\"34-ultrawide-uwqhd-165hz-1ms-qled-3440x1440-21-9-curved-gaming-monitor\"},{label:\"43\\\" 4K UHD 120Hz IPS Gaming Monitor\",vid:48765270818973,price:794.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MONITOR43_Front_1.webp?v=1786117144\",handle:\"43-4k-uhd-120hz-ips-gaming-monitor-sim-racing-flight-sim-display\"},{label:\"49\\\" Curved Super Ultrawide Gaming Monitor\",vid:48765262135453,price:694.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-M49B_Logo.png?v=1786116939\",handle:\"49-curved-super-ultrawide-gaming-monitor-165hz-5120x1440-dqhd\"},{label:\"Pimax Crystal Light VR Headset\",vid:null,price:0,comingSoon:true}]},{key:\"monitor_stands\",name:\"Monitor Stands\",icon:\"📺\",type:\"multi\",options:[{label:\"Large Freestanding Dual Stand\",vid:48765470867613,price:414.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MS-BDL.6.png?v=1786120314\",handle:\"freestanding-dual-2-monitor-stand-upgradeable-to-triple-up-to-80-display-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Small Freestanding Triple Stand (22\\\"–32\\\")\",vid:48765452288157,price:354.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TM-B5-37-KIT.1_5791be70-2e87-4940-8a77-43ddd6f4484e.png?v=1786119900\",handle:\"freestanding-triple-3-monitor-stand-22-to-32-displays-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Large Freestanding Triple Stand (32\\\"–45\\\")\",vid:48765451468957,price:354.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TM-B5-37-KIT.1.png?v=1786119885\",handle:\"freestanding-triple-3-monitor-stand-32-to-45-displays-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Large Freestanding Quad Stand\",vid:48765449601181,price:494.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MS-B34.1.png?v=1786119819\",handle:\"freestanding-quad-4-monitor-stand-up-to-80-display-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Freestanding Triple Stand — Extra Leg Support\",vid:48765406576797,price:594.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MS-FM-SIN-TR2-FM_06-min.png?v=1786119124\",handle:\"freestanding-triple-3-monitor-stand-with-extra-leg-supports-up-to-55-displays-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Freestanding Quad Stand — Extra Leg Support\",vid:48765406773405,price:744.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/MS-FM-QD2-FM_06-min.png?v=1786119137\",handle:\"freestanding-quad-4-monitor-stand-with-extra-leg-supports-up-to-55-displays-for-sim-racing-flight-simulation-truck-simulators\"},{label:\"Variable VESA Adapter Kit (Triple)\",vid:48765454712989,price:104.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-VARIABLE.1.png?v=1786119943\",handle:\"variable-adjustment-vesa-adapter-kit-tool-free-monitor-alignment-for-triple-monitor-stands\"},{label:\"Variable VESA Adapter Kit (Single)\",vid:48765454745757,price:50.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-VARIABLE.1.png?v=1786119943\",handle:\"variable-adjustment-vesa-adapter-kit-tool-free-monitor-alignment-for-triple-monitor-stands\"}]},{key:\"shifter_handbrake\",name:\"Shifter \u0026 Handbrake Mounts\",icon:\"🔧\",type:\"multi\",options:[{label:\"Handbrake Mount — Right Side\",vid:48765478666397,price:34.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-HBMN2_01_e5fe9f38-ba8c-4545-9f8c-affd317d7042.png?v=1786120362\",handle:\"tr-one-right-side-handbrake-mount-for-tr8-pro-extrusion-rigs\"},{label:\"Left\/Right Side Shifter\/Handbrake Kit\",vid:48765479452829,price:94.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-HBSM-L_04S_b51ca4e5-b2d5-4a39-b3a3-a52f3e32aa1c.png?v=1786120381\",handle:\"tr-one-shifter-handbrake-side-mount-upgrade-kit-left-right\"}]},{key:\"peripheral_mounts\",name:\"Peripheral Mounts\",icon:\"⌨️\",type:\"multi\",options:[{label:\"Tablet and Button Box Holder V2\",vid:48765478535325,price:74.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-TSH4.2_73e8c64f-4d20-4111-9c23-fdbcddbe986d.png?v=1786120348\",handle:\"tablet-and-button-box-upgrade-mount-for-tr8-pro-and-alpine-racing-trx\"},{label:\"Keyboard \u0026 Mouse Side Mount\",vid:48765431349405,price:124.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-KBMMS_02-min_c7d8ab14-3d30-4eb0-9799-d83adba90c05.png?v=1786119418\",handle:\"keyboard-mouse-side-mount-for-tr8-pro-trx-cockpits\"},{label:\"PC Shelf Mount\",vid:48765468508317,price:114.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR8-PCT_01_Shopify.png?v=1786120281\",handle:\"pc-shelf-mount-for-tr8-pro-trx-porsche-91xtr-racing-simulators\"},{label:\"Center Flight Stick Mount\",vid:48765407068317,price:94.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/FS-CST_01.png?v=1786119171\",handle:\"center-mount-flight-stick-bracket-for-sim-rigs\"},{label:\"Flight Sim Upgrade Mount (L\/R HOTAS)\",vid:48765494657181,price:104.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-FS025.png?v=1786120607\",handle:\"left-right-hotas-flight-sim-mounts-for-rs6-tr8-pro-simulators\"},{label:\"Universal Inverted Pedal Mount\",vid:null,price:0,comingSoon:true}]},{key:\"motion_sound\",name:\"Motion, Sound \u0026 Haptic\",icon:\"🔊\",type:\"multi\",options:[{label:\"200W 2CH Bass Shaker Kit\",vid:48765432201373,price:284.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/tr-bsa200kit_1.webp?v=1786119430\",handle:\"v2-pro-2ch-200w-low-frequency-class-d-amplifier-bass-shaker-kit-with-universal-rig-mount\"},{label:\"100W Pro Haptic Bass Shaker\",vid:48765441048733,price:74.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-BSA200-KIT.2_553984eb-50fa-40d3-a7c0-3341a0f27d27.png?v=1786119608\",handle:\"100w-pro-haptic-bass-shaker\"},{label:\"10W Bass Shaker Kit (2-Pack)\",vid:48765286613149,price:74.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TRR115_BS-10W_Top01_1x2_f0d8966a-0624-43be-9777-102e373a3d93.png?v=1786117558\",handle:\"10w-control-mount-bass-shaker-kit-set-of-2-for-pedals-shifter-handbrake-haptics\"},{label:\"ButtKicker Seat Shaker Mount\",vid:48765467328669,price:24.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/fa35e68d69ace7509f6ef58585df951_1_73e041c0-0ca2-4e49-ba7c-1ed7b987c067.png?v=1786120254\",handle:\"buttkicker-seat-shaker-mount-for-tr8-tr8-pro-trx-aluminium-profile-rigs\"},{label:\"Underseat Bass Shaker Mount\",vid:48765463101597,price:84.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-SHAPLATE3.2.png?v=1786120130\",handle:\"universal-bass-shaker-tactile-transducer-seat-mount\"},{label:\"Universal Bass Shaker Mount\",vid:48765440360605,price:44.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/40_TR80-OFCPLATE2_02_Shopify_885af472-025d-4f91-af52-309078d76b43.png?v=1786119605\",handle:\"universal-bass-shaker-buttkicker-tactile-transducer-mount-for-sim-racing-flight-sim-rigs\"},{label:\"D-BOX G5 3DOF Motion System + Base\",vid:48765462184093,price:4734.55,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/DBOX-3-BASE.5.1.png?v=1786120113\",handle:\"motion-system-with-3-motors-actuators-and-motion-sim-base\"},{label:\"D-BOX G5 4DOF Motion System + Base\",vid:48765460938909,price:6064.55,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/DBOX-4-BASE.5.1.png?v=1786120091\",handle:\"motion-system-with-4-motors-actuators-and-motion-sim-base\"},{label:\"40W 4CH Bass Shaker Kit\",vid:null,price:0,comingSoon:true},{label:\"Vibration Isolation Kit\",vid:null,price:0,comingSoon:true}]},{key:\"addons\",name:\"Add-Ons\",icon:\"➕\",type:\"multi\",options:[{label:\"Premium Neoprene Floor Mat\",vid:48765495509149,price:64.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/03_e6e7af9f-6b78-49b1-99ab-08ef25a22f41.png?v=1786120619\",handle:\"premium-neoprene-sim-racing-floor-mat\"},{label:\"Pedal Slider System (RS6\/TR8 PRO\/FS3)\",vid:48765511794845,price:104.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-PSLIDER2_FrontRight_2.webp?v=1786120766\",handle:\"quick-adjust-pedal-slider-system-for-rs6-tr8-pro-fs3-cockpits\"},{label:\"Freestanding Keyboard \u0026 Mouse Tray\",vid:48765402415261,price:134.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-FLKBM_e01.png?v=1786119025\",handle:\"free-standing-adjustable-keyboard-mouse-tray-for-sim-racing-flight-sim-cockpits\"},{label:\"Caster Wheel \u0026 Brake Kit\",vid:48765480337565,price:64.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/tr-wkit-2.2.png?v=1786120416\",handle:\"caster-wheel-brake-kit-for-tr8-pro-trx-aluminium-cockpits\"},{label:\"5-Speaker Mount Kit\",vid:48765445865629,price:94.00,img:\"https:\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/TR-SPMT-TR8-3_04-min.png?v=1786119741\",handle:\"5-speaker-mount-kit-for-tr8-pro-racing-simulator\"},{label:\"RGB Neon LED Floor Mat\",vid:null,price:0,comingSoon:true},{label:\"Universal VR\/Headphone\/Drink Holder\",vid:null,price:0,comingSoon:true},{label:\"Footrest\",vid:null,price:0,comingSoon:true},{label:\"2m LED Strip Light Set\",vid:null,price:0,comingSoon:true}]}];\n  var selected = {};\n\n  function init(){\n    var body = document.getElementById(\"eraCfgBody\");\n    if(!body) return;\n    body.innerHTML = \"\";\n    GROUPS.forEach(function(g,gi){\n      selected[g.key] = {};\n      var div = document.createElement(\"div\");\n      div.className = \"era-cfg-group\";\n      var headId = \"eraGH_\"+g.key;\n      var bodyId = \"eraGB_\"+g.key;\n      var isOpen = gi \u003c 2;\n      div.innerHTML = '\u003cdiv class=\"era-cfg-group-head'+(isOpen?' open':'')+'\" id=\"'+headId+'\" onclick=\"eraToggleGroup(this,\\''+bodyId+'\\')\"\u003e'+\n        '\u003cdiv class=\"era-g-left\"\u003e\u003cspan class=\"era-g-icon\"\u003e'+g.icon+'\u003c\/span\u003e\u003cspan class=\"era-g-name\"\u003e'+g.name+'\u003c\/span\u003e\u003cspan class=\"era-g-count\" id=\"eraGC_'+g.key+'\"\u003e0 selected\u003c\/span\u003e\u003c\/div\u003e'+\n        '\u003cspan class=\"era-g-arrow\"\u003e\u0026#9660;\u003c\/span\u003e\u003c\/div\u003e'+\n        '\u003cdiv class=\"era-cfg-group-body'+(isOpen?' open':'')+'\" id=\"'+bodyId+'\"\u003e\u003c\/div\u003e';\n      body.appendChild(div);\n      var gbody = document.getElementById(bodyId);\n      g.options.forEach(function(opt,oi){\n        var optDiv = document.createElement(\"div\");\n        var optId = g.key+\"_\"+oi;\n        if(opt.comingSoon){\n          optDiv.className = \"era-cfg-opt coming-soon\";\n          optDiv.innerHTML = '\u003cdiv class=\"era-o-check\"\u003e\u003c\/div\u003e'+\n            '\u003cdiv style=\"width:56px;height:56px;background:#f0f0f0;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;\"\u003e\u0026#128284;\u003c\/div\u003e'+\n            '\u003cdiv class=\"era-o-info\"\u003e\u003cdiv class=\"era-o-name\"\u003e'+opt.label+'\u003c\/div\u003e\u003cdiv class=\"era-o-badge\"\u003eComing Soon\u003c\/div\u003e\u003c\/div\u003e'+\n            '\u003cdiv style=\"font-size:13px;color:#aaa;\"\u003eN\/A\u003c\/div\u003e';\n        } else {\n          optDiv.className = \"era-cfg-opt\";\n          optDiv.setAttribute(\"data-opt-id\", optId);\n          optDiv.setAttribute(\"data-vid\", opt.vid);\n          optDiv.setAttribute(\"data-price\", opt.price);\n          optDiv.setAttribute(\"data-group\", g.key);\n          optDiv.onclick = function(){ eraToggleOpt(this, g.key, optId, opt.vid, opt.price); };\n          var imgSrc = opt.img || \"\";\n          var imgTag = imgSrc ? '\u003cimg class=\"era-o-img\" src=\"'+imgSrc+'\" alt=\"\" loading=\"lazy\"\u003e' : '\u003cdiv style=\"width:56px;height:56px;background:#f0f0f0;border-radius:6px;flex-shrink:0;\"\u003e\u003c\/div\u003e';\n          var linkTag = opt.handle ? '\u003ca class=\"era-o-link\" href=\"'+STORE+'\/products\/'+opt.handle+'\" target=\"_blank\" rel=\"noopener\" onclick=\"event.stopPropagation()\"\u003eView details \u0026#8599;\u003c\/a\u003e' : '';\n          optDiv.innerHTML = '\u003cdiv class=\"era-o-check\"\u003e\u003c\/div\u003e'+imgTag+\n            '\u003cdiv class=\"era-o-info\"\u003e\u003cdiv class=\"era-o-name\"\u003e'+opt.label+'\u003c\/div\u003e'+linkTag+'\u003c\/div\u003e'+\n            '\u003cdiv class=\"era-o-price\"\u003e+$'+opt.price.toFixed(2)+'\u003c\/div\u003e';\n        }\n        gbody.appendChild(optDiv);\n      });\n    });\n    updateUI();\n  }\n\n  window.eraToggleGroup = function(head, bodyId){\n    head.classList.toggle(\"open\");\n    var b = document.getElementById(bodyId);\n    if(b) b.classList.toggle(\"open\");\n  };\n\n  window.eraToggleOpt = function(el, groupKey, optId, vid, price){\n    if(selected[groupKey][optId]){\n      delete selected[groupKey][optId];\n      el.classList.remove(\"selected\");\n    } else {\n      selected[groupKey][optId] = {vid:vid, price:price};\n      el.classList.add(\"selected\");\n    }\n    updateUI();\n  };\n\n  function updateUI(){\n    var addonTotal = 0;\n    var itemCount = 0;\n    GROUPS.forEach(function(g){\n      var count = Object.keys(selected[g.key] || {}).length;\n      var countEl = document.getElementById(\"eraGC_\"+g.key);\n      if(countEl) countEl.textContent = count + \" selected\";\n      for(var k in selected[g.key]){\n        addonTotal += selected[g.key][k].price;\n        itemCount++;\n      }\n    });\n    var total = BASE_PRICE + addonTotal;\n    var totalEl = document.getElementById(\"eraTotal\");\n    if(totalEl) totalEl.textContent = \"$\" + total.toLocaleString(\"en-US\", {minimumFractionDigits:2});\n    var sumEl = document.getElementById(\"eraAddonSum\");\n    if(sumEl) sumEl.textContent = itemCount \u003e 0 ? \"Base + $\" + addonTotal.toFixed(2) + \" in add-ons\" : \"Base price \\u2014 no add-ons selected\";\n    var cntEl = document.getElementById(\"eraItemCount\");\n    if(cntEl) cntEl.textContent = itemCount + \" add-on\" + (itemCount!==1?\"s\":\"\");\n    var summaryEl = document.getElementById(\"eraSummary\");\n    if(summaryEl) summaryEl.innerHTML = \"Base: \u003cspan\u003e$\"+BASE_PRICE.toLocaleString(\"en-US\",{minimumFractionDigits:2})+\"\u003c\/span\u003e + \u003cspan\u003e$\"+addonTotal.toFixed(2)+\"\u003c\/span\u003e add-ons = \u003cspan\u003e$\"+total.toLocaleString(\"en-US\",{minimumFractionDigits:2})+\"\u003c\/span\u003e total\";\n    var btn = document.getElementById(\"eraAtcBtn\");\n    if(btn) btn.textContent = \"Add Bundle to Cart\" + (itemCount\u003e0 ? \" (\"+itemCount+\" add-on\"+(itemCount!==1?\"s\":\"\")+\")\" : \"\");\n  }\n\n  function showToast(msg, isError){\n    var t = document.getElementById(\"eraToast\");\n    if(!t) return;\n    t.textContent = msg;\n    t.className = \"era-cfg-toast show\" + (isError?\" error\":\"\");\n    setTimeout(function(){ t.className = \"era-cfg-toast\"; }, 3500);\n  }\n\n  window.eraAddToCart = function(){\n    var btn = document.getElementById(\"eraAtcBtn\");\n    if(!btn || btn.classList.contains(\"loading\")) return;\n    btn.classList.add(\"loading\");\n    btn.textContent = \"Adding to cart...\";\n\n    var items = [{id: BASE_VID, quantity: 1}];\n    GROUPS.forEach(function(g){\n      for(var k in selected[g.key]){\n        items.push({id: selected[g.key][k].vid, quantity: 1});\n      }\n    });\n\n    fetch(\"\/cart\/add.js\", {\n      method: \"POST\",\n      headers: {\"Content-Type\": \"application\/json\"},\n      body: JSON.stringify({items: items})\n    })\n    .then(function(r){\n      if(!r.ok) throw new Error(\"Failed to add to cart\");\n      return r.json();\n    })\n    .then(function(data){\n      btn.classList.remove(\"loading\");\n      updateUI();\n      showToast(\"Bundle added to cart! \" + items.length + \" item\"+(items.length!==1?\"s\":\"\")+\" added.\");\n      try{\n        fetch(\"\/cart.js\").then(function(r){return r.json();}).then(function(cart){\n          var cartCounts = document.querySelectorAll(\".cart-count-bubble span, .cart-count, [data-cart-count]\");\n          cartCounts.forEach(function(el){ el.textContent = cart.item_count; });\n          var cartLinks = document.querySelectorAll('a[href=\"\/cart\"]');\n          cartLinks.forEach(function(el){\n            var txt = el.textContent || el.innerText;\n            if(txt \u0026\u0026 txt.match(\/Cart\\s*\\(\\d+\\)\/)){\n              el.textContent = \"Cart (\" + cart.item_count + \")\";\n            }\n          });\n        });\n      }catch(e){}\n    })\n    .catch(function(err){\n      btn.classList.remove(\"loading\");\n      updateUI();\n      showToast(\"Error adding to cart. Please try again.\", true);\n      console.error(\"ERA Cart Error:\", err);\n    });\n  };\n\n  if(document.readyState === \"loading\"){\n    document.addEventListener(\"DOMContentLoaded\", init);\n  } else {\n    init();\n  }\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\n\u003chr style=\"border: none; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\u003ch3 data-start=\"0\" data-end=\"74\"\u003e\u003cstrong data-start=\"4\" data-end=\"72\"\u003eAlpine TRX Plug \u0026amp; Play Racing Simulator – Pre-Built \u0026amp; Race-Ready\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp data-start=\"76\" data-end=\"371\"\u003eDelivered in \u003cstrong data-start=\"89\" data-end=\"102\"\u003e3-4 weeks\u003c\/strong\u003e, the \u003cstrong data-start=\"108\" data-end=\"151\"\u003eAlpine TRX Plug \u0026amp; Play Racing Simulator\u003c\/strong\u003e is engineered in collaboration with \u003cstrong data-start=\"188\" data-end=\"206\"\u003eAlpine F1 Team\u003c\/strong\u003e for elite performance. Used by the \u003cstrong data-start=\"242\" data-end=\"260\"\u003eAlpine Academy\u003c\/strong\u003e, this \u003cstrong data-start=\"267\" data-end=\"298\"\u003epre-built hybrid racing rig\u003c\/strong\u003e offers \u003cstrong data-start=\"306\" data-end=\"344\"\u003eprecision, durability, and realism\u003c\/strong\u003e straight out of the box.\u003c\/p\u003e\n\u003cp data-start=\"373\" data-end=\"572\"\u003eWe handle \u003cstrong data-start=\"383\" data-end=\"429\"\u003efull assembly, testing, and software setup\u003c\/strong\u003e, ensuring seamless compatibility with your favorite \u003cstrong data-start=\"482\" data-end=\"508\"\u003eracing simulator games\u003c\/strong\u003e. Plus, our \u003cstrong data-start=\"520\" data-end=\"546\"\u003eongoing online support\u003c\/strong\u003e keeps you in peak form.\u003c\/p\u003e\n\u003ch3 data-start=\"574\" data-end=\"615\"\u003e\u003cstrong data-start=\"578\" data-end=\"613\"\u003eComplete Racing Setup Includes:\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul data-start=\"616\" data-end=\"994\"\u003e\n\u003cli data-start=\"616\" data-end=\"672\"\u003e\u003cstrong data-start=\"618\" data-end=\"670\"\u003eAlpine Racing TRX + Hybrid Fixed Fiberglass Seat\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"673\" data-end=\"736\"\u003e\u003cstrong data-start=\"675\" data-end=\"734\"\u003eIntegrated Monitor Stand + 49” Ultrawide Curved Monitor\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"737\" data-end=\"808\"\u003e\u003cstrong data-start=\"739\" data-end=\"806\"\u003eCube Controls CSX-3 Formula Wheel + Simucube 2 PRO Direct Drive\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"809\" data-end=\"858\"\u003e\u003cstrong data-start=\"811\" data-end=\"856\"\u003eVNM Racing Pedals (3-set) \u0026amp; Gaming PC\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"859\" data-end=\"912\"\u003e\u003cstrong data-start=\"861\" data-end=\"910\"\u003eLED Mat, Sim Racing Gloves \u0026amp; Cable Management\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"913\" data-end=\"962\"\u003e\u003cstrong data-start=\"915\" data-end=\"960\"\u003eSurround Sound Speakers, Keyboard \u0026amp; Mouse\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-start=\"963\" data-end=\"994\"\u003e\u003cstrong data-start=\"965\" data-end=\"992\"\u003ePro Assembly \u0026amp; Shipping\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-start=\"996\" data-end=\"1109\"\u003eWant a custom setup? Contact \u003cstrong data-start=\"1025\" data-end=\"1048\"\u003e\u003ca data-start=\"1027\" data-end=\"1046\" rel=\"noopener\"\u003esales@trakracer.com\u003c\/a\u003e\u003c\/strong\u003e. Get race-ready with \u003cstrong data-start=\"1070\" data-end=\"1106\"\u003eTrak Racer’s pre-built simulator\u003c\/strong\u003e!\u003c\/p\u003e\n\u003c!-- ERA-HIDE-NATIVE-FORM --\u003e\n\n\u003cscript\u003e\n\/* ERA — hide native ATC form, lift variant select into configurator *\/\n(function(){\n  function run(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"], form[action=\"\/cart\/add\"]');\n    var spBtn = document.querySelector('.shopify-payment-button');\n    var cfg   = document.getElementById('era-configurator');\n    if(!cfg) return;\n\n    var sel = form ? form.querySelector('select[name=\"id\"]') : null;\n\n    if(sel \u0026\u0026 sel.options.length \u003e 1){\n      \/* Multi-variant: lift the \u003cselect\u003e into the configurator *\/\n      var bar = document.createElement('div');\n      bar.id  = 'era-variant-bar';\n      bar.style.cssText = [\n        'padding:10px 20px 14px',\n        'background:#f4f4f4',\n        'border:1px solid #ddd',\n        'border-top:none',\n        'display:flex',\n        'align-items:center',\n        'gap:12px',\n      ].join(';');\n\n      var lbl = document.createElement('span');\n      \/* Try to find the option label from theme markup *\/\n      var optLabel = '';\n      var labelEl = form ? (\n        form.querySelector('[data-option-name], .product-form__option-name, .variant__button-wrap label, legend')\n      ) : null;\n      if(labelEl) optLabel = labelEl.textContent.trim();\n      if(!optLabel) optLabel = 'Select Bundle';\n      lbl.textContent = optLabel + ':';\n      lbl.style.cssText = 'font-size:13px;font-weight:700;color:#333;white-space:nowrap;flex-shrink:0;';\n\n      sel.style.cssText = [\n        'flex:1',\n        'padding:9px 14px',\n        'font-size:14px',\n        'font-weight:600',\n        'border:2px solid #ddd',\n        'border-radius:8px',\n        'cursor:pointer',\n        'background:white',\n        'max-width:380px',\n      ].join(';');\n\n      bar.appendChild(lbl);\n      bar.appendChild(sel);   \/* MOVE — not clone — keeps original form sync *\/\n\n      \/* Insert between header and price bar *\/\n      var priceBar = cfg.querySelector('.era-cfg-price-bar');\n      if(priceBar){ cfg.insertBefore(bar, priceBar); }\n      else { cfg.appendChild(bar); }\n\n      \/* Keep hidden input in form updated so any other theme JS doesn't break *\/\n      sel.addEventListener('change', function(){\n        var hidden = form ? form.querySelector('input[name=\"id\"]') : null;\n        if(hidden) hidden.value = sel.value;\n      });\n    }\n\n    \/* Hide the form and Shop Pay section *\/\n    if(form)  form.style.display  = 'none';\n    if(spBtn) spBtn.style.display = 'none';\n\n    \/* Also hide any standalone payment \/ dynamic checkout containers *\/\n    var extras = document.querySelectorAll(\n      '.payment-button-container, .shopify-payment-button__button, ' +\n      '.dynamic-checkout__content, [data-shopify=\"payment-button\"]'\n    );\n    extras.forEach(function(el){ el.style.display = 'none'; });\n  }\n\n  if(document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', run);\n  } else {\n    \/* Small delay so theme variant JS has time to render select options *\/\n    setTimeout(run, 300);\n  }\n})();\n\u003c\/script\u003e\n","brand":"Trak Racer - Bundle","offers":[{"title":"Default Title","offer_id":48770277408925,"sku":null,"price":10994.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0506\/6922\/4093\/files\/Slingshot_12_9a23b1d6-188b-4dfa-8411-4f22572bf5bf.jpg?v=1786120585","url":"https:\/\/store.eragaming.gg\/products\/spec-3-alpine-racing-trx","provider":"eRacing Association","version":"1.0","type":"link"}