{"product_id":"jbl-easysing-mics-jbl-partybox-330","title":"JBL EasySing Mics + JBL PartyBox 330","description":"\u003c!-- split --\u003e\n\u003c!-- split --\u003e\n\u003ch2\u003e\u003cb\u003eJBL EasySing Mics\u003c\/b\u003e\u003c\/h2\u003e\n\u003ch2 class=\"product-desc-heading black-color\"\u003eMake any song a karaoke moment.\u003c\/h2\u003e\n\u003cp\u003eKaraoke with limitless song options? Oh yeah, your parties will never be the same. JBL EasySing Mics remove vocals from your favorite tracks in real time, so you can sing your heart out to anything you desire. No need for special mixes or setups. Just plug the USB-C dongle into your JBL PartyBox speaker* and crank it up. With automatic pitch support and natural reverb, every song will sound epic. But the best part? They're wireless, portable, easy to carry anywhere, and last up to 10 hours. *Compatible with PartyBox Encore 2, PartyBox Encore Essential 2, PartyBox On-The-Go 2, PartyBox Club 120, PartyBox Stage 320, PartyBox 520, PartyBox 720.\u003c\/p\u003e\n\u003cdiv class=\"tab product-page-menu\"\u003e\n    \u003cdiv class=\"list-item-product active\" onclick=\"openCity(event, 'features')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eGeneral Features\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\" onclick=\"openCity(event, 'specs')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eKey specifications\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\" onclick=\"openCity(event, 'whats-in-the-box')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eWhat's in The Box\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\"\u003e\u003ca role=\"button\" class=\"tablinks tab\" href=\"#judgeme_product_reviews\"\u003eReviews\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"features\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eGeneral Features\u003c\/h2\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eReal-time vocal removal on any song\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eNo special mixes, no setups needed. Just any of your favorite songs, minus the vocals. Hit play, press the button, and start singing alongside perfect instrumentals. *For non-commercial use only. It is your responsibility to know and abide by copyright laws in your country, and your use may require permission from the copyright holder(s). Review terms associated with use of prerecorded or licensed music, and streaming services, before using JBL EasySing Mics.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eFine-tune your performance with AI vocal removal\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eAdjust your vocal mix your way—right from the mic or the JBL One app. With AI Vocal Removal, you can lower the original vocals by 25%, 50%, or 100% to get the balance you want. Leave a little in for background support, or remove them completely when it's your moment to shine.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eSeamless connection, plug in and sing\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eForget any apps or pairing that take away from your performance time. These mics start working as soon as you plug the USB-C dongle into your JBL speaker.* Simple, wireless, and freeing—so you can focus on your dance moves. *Compatible with PartyBox Encore 2, PartyBox Encore Essential 2, PartyBox On-The-Go 2, PartyBox Club 120, PartyBox Stage 320, PartyBox 520, PartyBox 720.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eClear, crisp sound\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eOur voices deserve to shine. These mics deliver signature JBL sound clarity—so your vocals stay crisp and natural across any kind of karaoke backing track, from bass-heavy beats to soft acoustic ballads. However you move or sing, your performance comes through loud and clear.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eMinimize all unwanted noise\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eA shock mount system minimizes the sound of the mics passing from one hand to another, while a built-in pop filter eliminates any extraneous breathing sounds that you don't want to be part of your performance.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eTuning that's got your back\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eThis is your chance to go for the high notes. The built-in EasySing algorithm adds high-pitch support, natural reverb, and feedback suppression in real time—so you can feel confident with every note you hit.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eUp to 10 hours of singing time\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eA single charge will have the whole party singing for up to 10 hours. Our voices will give out before the mic does.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eRecycled plastic and FSC-certified paper packaging\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eJBL EasySing Mics incorporate post-consumer recycled plastic. They're also packaged in FSC-certified paper printed with soy ink.\u003c\/p\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"specs\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eKey Specifications\u003c\/h2\u003e\n    \u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003eDynamic range: 98 dBA @ 1 kHz\u003c\/li\u003e\n        \u003cli\u003eSignal-to-noise: 59 dBA\u003c\/li\u003e\n        \u003cli\u003eTHD: \u0026lt; 1% @ 94 dB SPL, 100 Hz - 10 kHz\u003c\/li\u003e\n        \u003cli\u003eMicrophone head: 16 mm ECM\u003c\/li\u003e\n        \u003cli\u003eTransmitting power: \u0026lt; 10 dBm\u003c\/li\u003e\n        \u003cli\u003eCarrier frequency: 2404 - 2478 MHz\u003c\/li\u003e\n        \u003cli\u003eEncryption: AES-128\u003c\/li\u003e\n        \u003cli\u003eFrequency \/ channel selection: Adaptive channel selection\u003c\/li\u003e\n        \u003cli\u003eFrequency response: 50 Hz - 15 kHz\u003c\/li\u003e\n        \u003cli\u003eMicrophone dimensions (W x H x D): 45.5 x 224.5 x 42.7 mm \/ 1.79\" x 8.84\" x 1.68\"\u003c\/li\u003e\n        \u003cli\u003eMicrophone weight: 195 g \/ 0.43 lbs\u003c\/li\u003e\n        \u003cli\u003eDongle dimensions (W x H x D): 24 x 45.4 x 15.6 mm \/ 0.95\" x 1.79\" x 0.61\"\u003c\/li\u003e\n        \u003cli\u003eDongle weight: 12 g \/ 0.026 lbs\u003c\/li\u003e\n        \u003cli\u003ePackage dimensions (W x H x D): 131 x 68 x 236 mm \/ 5.16\" x 2.68\" x 9.29\"\u003c\/li\u003e\n        \u003cli\u003eGross weight: 665 g \/ 1.466 lbs\u003c\/li\u003e\n        \u003cli\u003eMicrophone rechargeable battery: 240 mAh, 3.7 V Li-ion polymer battery\u003c\/li\u003e\n        \u003cli\u003eMicrophone battery charge time: \u0026lt; 3.5 hours in off mode\u003c\/li\u003e\n    \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"whats-in-the-box\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eWhat's in the box:\u003c\/h2\u003e\n    \u003cul\u003e\n        \u003cli\u003e2 x Microphone\u003c\/li\u003e\n        \u003cli\u003e1 x AI Dongle\u003c\/li\u003e\n        \u003cli\u003e2 x Microphone Holder\u003c\/li\u003e\n        \u003cli\u003e1 x USB to USB-C Adaptor\u003c\/li\u003e\n        \u003cli\u003e1 x Quick start guide\u003c\/li\u003e\n        \u003cli\u003e1 x Safety sheet\u003c\/li\u003e\n    \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch2 style=\"margin-top: 30px;\"\u003e\u003cb\u003eJBL PartyBox 330\u003c\/b\u003e\u003c\/h2\u003e\n\u003ch2 class=\"product-desc-heading black-color\"\u003eBring the party wherever the night goes.\u003c\/h2\u003e\n\u003cp\u003eCrank it up and feel 280 watts of legendary JBL sound. The JBL PartyBox 330 pairs dual 6.5\" woofers with twin PEN dome tweeters for deep, chest-hitting bass and crystal-clear highs across a wider soundstage, so the whole crowd feels it—not just the front row. AI Sound Boost keeps everything punchy and clean, even at full volume, while an adaptive futuristic lightshow with ripple light trails and strobes syncs to every beat. With up to 18 hours of playtime and Fast Charge, the music lasts as long as the party does—or swap in a backup battery (sold separately) and keep going. A locking telescopic handle and wide, sturdy wheels make it easy to roll from the living room to the lawn, and the IPX4 splash-proof design shrugs off a sudden drizzle. Plug in mics or a guitar, connect your TV via optical, or stream lossless audio over USB-C. When the crowd grows, pair two PartyBox 330s for stereo sound or link more JBL Auracast™-enabled speakers, and control it all from the JBL One app.\u003c\/p\u003e\n\u003cdiv class=\"tab product-page-menu\"\u003e\n    \u003cdiv class=\"list-item-product active\" onclick=\"openCity(event, 'features')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eGeneral Features\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\" onclick=\"openCity(event, 'specs')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eKey specifications\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\" onclick=\"openCity(event, 'whats-in-the-box')\"\u003e\u003ca role=\"button\" class=\"tablinks tab\"\u003eWhat's in The Box\u003c\/a\u003e\u003c\/div\u003e\n    \u003cdiv class=\"list-item-product\"\u003e\u003ca role=\"button\" class=\"tablinks tab\" href=\"#judgeme_product_reviews\"\u003eReviews\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"features\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eGeneral Features\u003c\/h2\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eBring the energy with JBL Legendary Sound\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eCrank it up and experience what 280 watts of legendary JBL sound feels like. Dual 6.5\" woofers bring deep, chest-hitting bass, while twin 25mm PEN dome tweeters keep hooks sharp and harmonies clear—all while a wider soundstage pulls everyone into the mix. The whole crowd will feel it, not just the front row.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eAI Sound Boost makes everything hit harder\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eAI Sound Boost reads your music in real time and predicts driver movement to max out your bass and volume while minimizing distortion. Translation: bigger, cleaner sound that stays punchy even when you crank the music all the way up.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eAdaptive futuristic lightshow\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eA futuristic lightshow that actually dances with you. Sweeping ripple light trails and punchy strobes all sync to the beat—and with a variety of patterns to play with, you can match the lights to every mood the night throws at you.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eUp to 18 hours of playtime\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eOne charge. All-day energy. Up to 18 hours of playtime. And with Fast Charge, just 10 minutes of charging gives you two more hours of music, so you can always make it through last call. Still not enough? Swap in a backup battery (sold separately) and get right back into the groove.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eTelescopic handle and wider, sturdy wheels\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eThe JBL PartyBox 330 is made to move. Pop up the locking telescopic handle, tilt it back on the wide, sturdy wheels, and you're off—cruising from the living room to the lawn or wherever the night decides to go.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eSplash-proof\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eSudden drizzle? No sweat. The IPX4 splash-proof design keeps the music going as long as y'all are out.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eTurn up the party with Auracast™\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eWhen the crowd gets bigger, your sound should too. Pair two PartyBox 330s for a wider stereo soundstage, or link a whole crew of JBL Auracast™-enabled speakers and let the music grow to match the moment.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eSmart EQ mode\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eSmart EQ mode keeps your sound balanced based on what's playing. It automatically adjusts the EQ in real time, recognizing whether the content is primarily music or speech, so instruments stay full and punchy while voices come through clear, crisp, and easy to understand. Whether you're switching from music to a podcast or back again, everything sounds right without needing to touch a thing.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eHigh-quality audio connections, from playlists to live sets\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eUse the USB-C input for lossless audio from your favorite streaming or karaoke apps, or connect your TV via the optical input for easy sing-along setups. Then bring the live energy by plugging in microphones or a guitar—so anyone can jump in and be the star of the night.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eControl from anywhere with the JBL One app\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eYou can control this speaker using the JBL One app from anywhere in the party, so you can change the song or adjust the lightshow from the dance floor.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eMade with the planet in mind\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eThe JBL PartyBox 330 incorporates post-consumer recycled plastic. It's also packaged in FSC-certified paper printed with soy ink.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"accordion-product\"\u003e\n        \u003ch3\u003eCompatible with JBL EasySing Mics\u003c\/h3\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"panel-product\"\u003e\n        \u003cp\u003eThe PartyBox 330 works seamlessly with JBL EasySing Mics, so karaoke moments are always on deck. EasySing's AI vocal removal can pull back the original lead vocals from your favorite songs, turning them instantly into karaoke tracks. Just plug in and go—no extra setup, no fuss. It's an easy way to give everyone a chance to shine without slowing the night down.\u003c\/p\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"specs\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eKey Specifications\u003c\/h2\u003e\n    \u003ch3\u003eGeneral Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003ePower input: AC 100 - 240 V ~ 50 \/ 60 Hz\u003c\/li\u003e\n        \u003cli\u003eOutput power: 280 W RMS (IEC60268)\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003ch3\u003eAudio Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003eWoofers: 2 x 165 mm \/ 6.5\" effective woofers\u003c\/li\u003e\n        \u003cli\u003eTweeters: 2 x 25 mm \/ 1\" PEN dome tweeters\u003c\/li\u003e\n        \u003cli\u003eFrequency response: 40 Hz - 20 kHz (-6 dB)\u003c\/li\u003e\n        \u003cli\u003eSignal-to-noise ratio: \u0026gt; 80 dB\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003ch3\u003eControl and Connection Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003eInput sensitivity - Aux input: 250 mV RMS (3.5 mm connector)\u003c\/li\u003e\n        \u003cli\u003eInput sensitivity - Mic input: 20 mV RMS\u003c\/li\u003e\n        \u003cli\u003eInput sensitivity - Guitar input: 100 mV RMS\u003c\/li\u003e\n        \u003cli\u003eInput sensitivity - Bluetooth \/ USB input: -12 dBFS\u003c\/li\u003e\n        \u003cli\u003eInput sensitivity - Optical input: -12 dBFS\u003c\/li\u003e\n        \u003cli\u003eBluetooth® version: 6.0\u003c\/li\u003e\n        \u003cli\u003eBluetooth® profile: A2DP V1.4, AVRCP V1.6\u003c\/li\u003e\n        \u003cli\u003eBluetooth® transmitter frequency range: 2.4 GHz - 2.4835 GHz\u003c\/li\u003e\n        \u003cli\u003eBluetooth® transmitter power: ≤ 15 dBm (EIRP)\u003c\/li\u003e\n        \u003cli\u003eBluetooth® transmitter modulation: GFSK, π\/4 DQPSK, 8DPSK\u003c\/li\u003e\n        \u003cli\u003eUSB format: FAT16, FAT32\u003c\/li\u003e\n        \u003cli\u003eSupported formats: .MP3, .WAV, .FLAC (not available for EMEA region)\u003c\/li\u003e\n        \u003cli\u003eUSB-C charge out: 5 V \/ 1 A\u003c\/li\u003e\n        \u003cli\u003eCable type: AC power cable (type varies by region)\u003c\/li\u003e\n        \u003cli\u003eAC power cable length: 2.0 m \/ 6.6 ft\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003ch3\u003eDimension Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003eProduct dimensions (W x H x D): 334 x 662.5 x 375 mm \/ 13.15\" x 26.08\" x 14.76\"\u003c\/li\u003e\n        \u003cli\u003eNet weight: 17.1 kg \/ 37.7 lbs\u003c\/li\u003e\n        \u003cli\u003ePackaging dimensions (W x H x D): 392 x 718 x 441 mm \/ 15.43\" x 28.27\" x 17.36\"\u003c\/li\u003e\n        \u003cli\u003eGross weight: 19.75 kg \/ 43.54 lbs\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003ch3\u003eBattery Specifications\u003c\/h3\u003e\n    \u003cul\u003e\n        \u003cli\u003eBattery type: JBL Battery 400, Li-ion 68 Wh (equivalent to 7.2 V \/ 9444 mAh)\u003c\/li\u003e\n        \u003cli\u003eBattery charge time: 3 hours (speaker off mode)\u003c\/li\u003e\n        \u003cli\u003eMusic play time: up to 18 hours (varies by volume level and audio content)\u003c\/li\u003e\n    \u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"whats-in-the-box\" class=\"tab-content content-box-dialogs\"\u003e\n    \u003ch2 class=\"product-desc-heading\"\u003eWhat's in the box:\u003c\/h2\u003e\n    \u003cul\u003e\n        \u003cli\u003e1 x JBL PartyBox 330\u003c\/li\u003e\n        \u003cli\u003e1 x AC power cable (quantity and plug type vary by region)\u003c\/li\u003e\n        \u003cli\u003e1 x Quick start guide\u003c\/li\u003e\n        \u003cli\u003e1 x Safety instruction and warranty card\u003c\/li\u003e\n    \u003c\/ul\u003e\n\u003c\/div\u003e\n  \u003cscript\u003e\nfunction showContent() {\n    var moreText = document.querySelector('.more');\n    var btnText = document.querySelector('.readMoreBtn');\n\n    if (moreText.classList.contains('hide')) {\n        moreText.classList.remove('hide');\n        btnText.textContent = 'Read Less';\n    } else {\n        moreText.classList.add('hide');\n        btnText.textContent = 'Read More';\n    }\n}\n\nfunction openCity(evt, description) {\n    const clickedTab = evt.currentTarget;\n    const menu = clickedTab.closest('.product-page-menu');\n\n    \/\/ Get ALL tab menus on the page\n    const allMenus = Array.from(document.querySelectorAll('.product-page-menu'));\n\n    \/\/ Determine this menu's index\n    const menuIndex = allMenus.indexOf(menu);\n\n    \/\/ Determine the DOM range for THIS product\n    const startNode = menu;\n    const endNode = allMenus[menuIndex + 1] || null;\n\n    \/\/ Collect tab contents ONLY between this menu and the next one\n    const scopedContents = [];\n    let node = startNode.nextElementSibling;\n\n    while (node \u0026\u0026 node !== endNode) {\n        if (node.classList.contains('tab-content')) {\n            scopedContents.push(node);\n        }\n        node = node.nextElementSibling;\n    }\n\n    \/\/ Hide only scoped contents\n    scopedContents.forEach(c =\u003e {\n        c.style.display = 'none';\n    });\n\n    \/\/ Remove active only in this menu\n    menu.querySelectorAll('.list-item-product').forEach(tab =\u003e {\n        tab.classList.remove('active');\n    });\n\n    \/\/ Show the correct content INSIDE this product\n    const target = scopedContents.find(c =\u003e c.id === description);\n    if (target) {\n        target.style.display = 'block';\n    }\n\n    clickedTab.classList.add('active');\n}\n\nvar acc = document.getElementsByClassName(\"accordion-product\");\nvar i;\n\nfor (i = 0; i \u003c acc.length; i++) {\n    acc[i].addEventListener(\"click\", function() {\n        this.classList.toggle(\"product-active\");\n        var panel = this.nextElementSibling;\n        if (panel.style.maxHeight) {\n            panel.style.maxHeight = null;\n        } else {\n            panel.style.maxHeight = panel.scrollHeight + \"px\";\n        }\n    });\n}\n\u003c\/script\u003e","brand":"JBL Singapore","offers":[{"title":"Black","offer_id":50389307261031,"sku":null,"price":999.0,"currency_code":"SGD","in_stock":true},{"title":"White","offer_id":50389307293799,"sku":null,"price":999.0,"currency_code":"SGD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0064\/0257\/2391\/files\/Partybox330_EasysingMic-Black.png?v=1791353026","url":"https:\/\/www.jblonlinestore.com\/products\/jbl-easysing-mics-jbl-partybox-330","provider":"JBL Singapore","version":"1.0","type":"link"}