<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.tomsguide.com/feeds/tag/over-ear-headphones" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from Tom's Guide in Over-ear-headphones ]]></title>
                <link>https://www.tomsguide.com/audio/headphones/over-ear-headphones</link>
        <description><![CDATA[ All the latest over-ear-headphones content from the Tom's Guide team ]]></description>
                                    <lastBuildDate>Fri, 11 Sep 2026 12:07:16 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ I’ve been testing Beyerdynamic’s new affordable headphones with effective ANC and 90 hours of battery — but I’m not entirely sold on them ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a> don’t need to break the bank, and the Beyerdynamic Aventho Y almost prove that. Affordable at just $149, the Aventho Y boast effective active noise cancelation both indoors and outdoors. They come in a few fun colors, and they’re extremely comfortable for all-day wear. Promising up to 90 hours of stamina, the Aventho Y deliver on almost every front…. except for balanced sound.</p><p>Don’t get me wrong: the Aventho Y make vocals sound strong and clear, but the rest of the soundstage, not so much. It lacks openness and sounds mostly flat. You’ll need the companion app to customize the equalizer and salvage it. Call quality isn’t great either, as the headphones make you sound scratchy.</p><p>Should you still buy these cans? Read my full Beyerdynamic Aventho Y review to find out.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-specs"><span>Beyerdynamic Aventho Y review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/beyerdynamic-AVENTHO-Wireless-Bluetooth-Headphones/dp/B0H7R8BJH3/" target="_blank" rel="nofollow">$149</a> / <a href="https://polar.uk.com/beyerdynamic-aventho-y-wireless-headphones-liquid-black" target="_blank" rel="nofollow">£129</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>45mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>18Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP53</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC and AAC, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes, up to 2 devices</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>90 hours (ANC off) | 60 hours (ANC on)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.14 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Blue Fusion, Liquid Black, Peach Blush, Soft Jade</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-price-availability"><span>Beyerdynamic Aventho Y review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YgM9wVLazqK9nT93r4Mzgc" name="Bayerdynamic_Aventho_Y_Headphones_016" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/YgM9wVLazqK9nT93r4Mzgc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Announced at IFA in September 2026, the Beyerdynamic Aventho Y are the latest over-ears to join the brand’s extensive lineup of consumer headphones. Priced at <a href="https://www.amazon.com/beyerdynamic-AVENTHO-Wireless-Bluetooth-Headphones/dp/B0H7R8BJH3/" target="_blank" rel="nofollow">$149 at Amazon U.S.</a> / <a href="https://polar.uk.com/beyerdynamic-aventho-y-wireless-headphones-liquid-black" target="_blank" rel="nofollow">£129 at Polar U.K.</a>, the Aventho Y are Beyerdynamic’s cheapest lifestyle headphones, at the time of writing. The cans come in Blue Fusion, Liquid Black, Peach Blush, and Soft Jade colors.</p><p>The Aventho Y offer ANC, long battery life with user-replaceable battery packs, and are extremely comfortable. These are some of the cheapest mid-range ANC headphones we’ve tested, and they’re cheaper than the <a href="https://www.tomsguide.com/audio/headphones/sony-wh-1000xm4c-wh-ch730n-wh-ch530-announced">Sony WH-CH730N</a> ($179), the <a href="https://www.tomsguide.com/reviews/sennheiser-accentum">Sennheiser Accentum</a> ($179), the <a href="https://www.tomsguide.com/audio/headphones/jbl-live-770nc-review">JBL Live 770NC</a> ($199), and the <a href="https://www.tomsguide.com/audio/headphones/beats-solo-4-review">Beats Solo 4</a> ($199).</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-design"><span>Beyerdynamic Aventho Y review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9V7YAqHtxZgJeYfXvCyo4d" name="Bayerdynamic_Aventho_Y_Headphones_015" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/9V7YAqHtxZgJeYfXvCyo4d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y make a strong first impression with their striking colors. The Peach Blush model I tested is certainly a looker, with light and airy accents that make them stand out in a market crowded with black and dark colors. The stylized “Y” engraved into each (large) earcup is a nice touch, and the subtle Beyerdynamic branding on the headband doesn’t draw much attention either.</p><p>The Aventho Y weigh just 11.14 ounces and even though they’re slightly heavier than my trusty <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> (8.8 ounces, $349), the difference isn’t that noticeable. They’re also heavier than their siblings, the <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-aventho-100-review">Aventho 100</a> (7.76 ounces, $229), but the added weight is a decent trade-off if you want a user-replaceable battery and a more comfortable fit.</p><p>For easy transport, the Aventho Y are foldable so you can save some space in your day bag. A drawstring cloth bag is included in the box, too.</p><h2 id="weatherproofing">Weatherproofing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="A7PV2SXGV73zp9kUq4qA3d" name="Bayerdynamic_Aventho_Y_Headphones_014" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/A7PV2SXGV73zp9kUq4qA3d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It’s normal for over-ear headphones to not have official IP waterproof ratings, but the Aventho Y do. These cans are IP53-rated, just like the Aventho 100, so they’re protected against dust and light water splashes. You should be just fine wearing them to the gym. In contrast, the JBL Live 770NC and the Sony WH-CH730N aren’t waterproof at all — JBL and Sony don’t specify that they are, at least.</p><h2 id="comfort">Comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T4NMDWxrsvXDx6rAa9g64d" name="Bayerdynamic_Aventho_Y_Headphones_011" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/T4NMDWxrsvXDx6rAa9g64d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Aventho Y are extremely comfortable headphones, and that’s thanks to their large, spacious earcups and cushioned headband. The ear cushions feature soft foam interiors, and they’re covered in soft leatherette. These ear cushions are magnetic so they can be twisted off and replaced if they get damaged.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5v4CkXFiEch9ZXiGUMG44d" name="Bayerdynamic_Aventho_Y_Headphones_010" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/5v4CkXFiEch9ZXiGUMG44d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Similarly, the headband’s metal frame uses the same leatherette cushioning for added comfort, and it relieves the pressure you’d otherwise feel on the top of your head. Having worn the Aventho Y for a six-hour stint, I can confirm that they’re suitable for all-day wear, as my ears didn’t overheat or feel sweaty.</p><h2 id="controls">Controls</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nLeBCaiHpDhDsVkU6x97nb" name="Bayerdynamic_Aventho_Y_Headphones_006" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/nLeBCaiHpDhDsVkU6x97nb.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sporting a straightforward control scheme, everything, from volume to ANC, is adjusted via physical buttons and toggles on the Aventho Y’s earcups. You can increase or decrease the volume via the buttons on the right earcup. Located between these is a custom button which can be customized via the app to change tracks, enable voice assistant, and more. Controls for ANC and Bluetooth are on the left earcup. They’re all super straightforward to get a hang of.</p><h2 id="connectivity">Connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pWp8DbjTzQzLLhixrnA3Gc" name="Bayerdynamic_Aventho_Y_Headphones_002" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/pWp8DbjTzQzLLhixrnA3Gc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Aventho Y utilize Bluetooth 6.0 with support for SBC and AAC codecs. However, there’s no support for LC3, LDAC or aptX Lossless, and you’ll need to spend more on the Sennheiser Accentum if you want aptX. The lack of advanced codecs isn’t uncommon in this price range, though, as neither the JBL Live 770NC nor the Beats Solo 4 support them.</p><p>For those who want more versatile wireless connectivity, Beyerdynamic is planning on selling an optional 2.4GHz dongle (which can be handily stored inside one of the earcups) along with a detachable boom mic come October. Beyerdynamic is yet to officially announce sample rates for the dongle, but I’ve reached out to a representative to find out more. You can also use a USB-C cable for wired playback.</p><p>They also feature multipoint connectivity, enabling you to connect up to two devices simultaneously — I did so with my <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> and <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a>. The Aventho Y say “Multipoint” out loud to you when two devices are connected at once. You also get Google Fast Pair and as soon as I put the headphones into pairing mode, my Pixel recognized and connected to them immediately.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-sound-quality"><span>Beyerdynamic Aventho Y review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vLyobMN2AG3DgE7EuznF6c" name="Bayerdynamic_Aventho_Y_Headphones_003" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/vLyobMN2AG3DgE7EuznF6c.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y ulitize a 45mm driver to cover a frequency response range of 20Hz to 20KHz (so the entirety of the average human hearing spectrum). To test the headphones, I listened to my array of testing songs on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the<a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"> best music streaming service</a> for audiophiles — and I was left with mixed feelings.</p><p>Vocals are the Aventho Y’s strong suit. In ‘<a href="https://open.qobuz.com/track/313214062" target="_blank" rel="nofollow">Cheers to Me</a>’ by Self Esteem, Rebecca Lucy Taylor’s vocals felt raw and intimate. Each word sounded textured, every consonant felt sharp, and plosives never popped or bled into one another. The backing vocals panned wide to the far left and right, creating an immersive listening experience. As all the voices came together in the bridge, they sounded harmonious and powerful.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TopxQp9fQ7fdvzR38diX4d" name="Bayerdynamic_Aventho_Y_Headphones_013" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/TopxQp9fQ7fdvzR38diX4d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But unfortunately, the Aventho Y struggle with almost every other aspect of the soundstage. Without any EQ adjustments and straight out of the box, the Aventho Y sound boxy, hollow and lack openness. The dark pulsating bassline that drives ‘<a href="https://open.qobuz.com/album/xl54kemeg6wws" target="_blank" rel="nofollow">2515</a>’ by Wasia Project sounded like someone had turned the bass off. The song sounded closed-in and hollow, and it felt like it had lost its three-dimensionality. While the vocals still sounded defined, the rest of the track didn’t.</p><p>I then listened to ‘<a href="https://open.qobuz.com/track/80418830" target="_blank" rel="nofollow">One Inch Punch</a>’ by Yin Yin to see if the treble sounded just as flat as the bass. While the electric guitar solos shimmered, they didn’t possess the same clarity and vibrancy you get when listening to the song through a more capable set of cans. It also felt like all the instruments were pushed into the background. The bassline sounded dull as did the drums. Heavy tracks like ‘<a href="https://open.qobuz.com/album/qebcwambt9mpa" target="_blank" rel="nofollow">Put Me in a Padded Room</a>’ by Icon For Hire sounded muddled and like the headphones were easily overwhelmed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ocA8nhQ3CgpL4YpEirNq3d" name="Bayerdynamic_Aventho_Y_Headphones_008" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ocA8nhQ3CgpL4YpEirNq3d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Luckily, though, I was able to salvage a lot of the sound quality by adjusting the Aventho Y’s equalizer through the companion app (more on that shortly). I fixed a lot of the issues by simply playing around with the 10-band EQ and finding my ideal sound. It’s great to have such extensive customization at your fingertips, but I wish the Aventho Y sounded balanced straight out of the box — like the Sennheiser Accentum or the JBL Live 770NC.</p><p><em>Listen along to my review with the Beyerdynamic Aventho Y testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="high" data-lazy-src="https://widget.qobuz.com/playlist/69742399?zone=GB-en"></iframe><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-app"><span>Beyerdynamic Aventho Y review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="gRcWZ9eDJDPYmFNCvE2Nk6" name="Aventho_Y_app" alt="Beyerdynamic app screenshots" src="https://cdn.mos.cms.futurecdn.net/gRcWZ9eDJDPYmFNCvE2Nk6.jpg" mos="" align="middle" fullscreen="1" width="1510" height="850" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/gRcWZ9eDJDPYmFNCvE2Nk6.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Beyerdynamic)</span></figcaption></figure><p>The Aventho Y are accompanied by the Beyerdynamic app, available for free on <a href="https://apps.apple.com/us/app/beyerdynamic/id6477286323" target="_blank" rel="nofollow">iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.beyerdynamic.app&hl=us" target="_blank" rel="nofollow">Android</a>. It enables you to customize the controls, adjust the level of ANC, enable Low Latency mode to minimize audio delays, choose an EQ preset, and customize the 10-band eqaulizer to your liking.</p><p>Beyerdynamic’s app is easy to use and it sports a clean interface without any intrusive pop-ups. That’s good because given that you need the app to fix the Aventho Y’s sound, I’d say it’s a necessity and not an optional download.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-anc"><span>Beyerdynamic Aventho Y review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5c7V7sbRz2qHnuFUfjmttb" name="Bayerdynamic_Aventho_Y_Headphones_007" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/5c7V7sbRz2qHnuFUfjmttb.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y feature effective active noise cancelation that works well indoors and outdoors. Indoors, I wasn’t able to hear the kettle boiling, the clicking-clacking of <a href="https://www.tomsguide.com/best-picks/best-mechanical-keyboards">mechanical keyboards</a>, or other people talking. My partner had to wave several times to get my attention when I was testing the Aventho Y.</p><p>On a busy bus back from work, the Aventho Y managed to drown out the sound of people talking loudly. While I could hear the sound of the bus rattling, it wasn’t intrusive or too much, and the Aventho Y did a good job of ensuring I felt immersed in my tunes.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-call-quality"><span>Beyerdynamic Aventho Y review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2rSh22ao74zeJmhAS7S63d" name="Bayerdynamic_Aventho_Y_Headphones_012" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/2rSh22ao74zeJmhAS7S63d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, the Beyerdynamic Aventho Y’s call quality is quite disappointing. On a Google Meet team call, my colleagues winced when I started speaking — and they’ve heard me talk before so I know it isn’t <em>me. </em>I asked them how I sounded, and they noted that my voice was scratchy, distant, and “not great at all.”</p><p>To rule out the possibility that this was down to an unstable internet connection, I called my partner who said that my voice sounded muffled and she couldn’t understand my words very clearly. I’d recommend the Sennheiser Accentum if you want better call quality.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-battery-life"><span>Beyerdynamic Aventho Y review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bCuh4rrDJR3ggxnwVrNESc" name="Bayerdynamic_Aventho_Y_Headphones_004" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/bCuh4rrDJR3ggxnwVrNESc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>An area the Beyerdynamic Aventho Y perform formidably is battery life. Beyerdynamic says that on a single charge, the Aventho Y can last up to 90 hours with ANC off, or 60 hours with ANC on. This is excellent, and the headphones outclass the Sennheiser Accentum (50 hours), the Sony WH-CH730N (50 hours) and the JBL Tune 770NC (44 hours) when ANC is enabled.</p><p>With ANC enabled and music playing at 50% volume, I left the Aventho Y running over a few nights. After approximately 50 hours, I had just 5% battery remaining. Beyerdynamic’s battery claims are, then, fairly reliable.</p><p>The Aventho Y feature a user-replaceable battery, which increases the longevity of the headphones. The manual specifies how to remove the battery carefully and safely, should you need to do so.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-verdict"><span>Beyerdynamic Aventho Y review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MeB7TVLnzKUXmG7wL5FW5c" name="Bayerdynamic_Aventho_Y_Headphones_009" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/MeB7TVLnzKUXmG7wL5FW5c.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y check almost every box. They boast up to 90 hours of battery life, effective ANC indoors and outdoors, a comfortable fit, a colorful design, and they come with a user-friendly companion app. Vocals are clear, strong and nuanced, yes, but everything else sounds flat — and that’s no bueno for a pair of headphones.</p><p>While the sound quality is salvageable thanks to the custom 10-band equalizer, it’s a shame that the Aventho Y don’t sound great straight out of the box. The bass sounds muddy and the treble struggles to shine. Call quality isn’t great either as several people noted that I sounded scratchy on their end.</p><p>Though the Aventho Y are fun-looking, comfortable and last a long time, it’s worth spending a little more on the likes of the JBL Live 770NC if you want solid sound as soon as you unbox the cans. At the end of the day, the Aventho Y deliver on some fronts but fall flat where it matters most.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/beyerdynamic-aventho-y-review</link>
                                                                            <description>
                            <![CDATA[ The Beyerdynamic Aventho Y are comfortable over-ear headphones with effective ANC and long battery life, but they sound boxy and flat straight out of the box. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">G8iaHK39teEcsx6VegGNG9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YgM9wVLazqK9nT93r4Mzgc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 11 Sep 2026 12:07:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres.&lt;/p&gt;&lt;p&gt;A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/YgM9wVLazqK9nT93r4Mzgc-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Beyerdynamic Aventho Y over-ear headphones]]></media:description>                                                            <media:text><![CDATA[Beyerdynamic Aventho Y over-ear headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Beyerdynamic Aventho Y over-ear headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YgM9wVLazqK9nT93r4Mzgc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a> don’t need to break the bank, and the Beyerdynamic Aventho Y almost prove that. Affordable at just $149, the Aventho Y boast effective active noise cancelation both indoors and outdoors. They come in a few fun colors, and they’re extremely comfortable for all-day wear. Promising up to 90 hours of stamina, the Aventho Y deliver on almost every front…. except for balanced sound.</p><p>Don’t get me wrong: the Aventho Y make vocals sound strong and clear, but the rest of the soundstage, not so much. It lacks openness and sounds mostly flat. You’ll need the companion app to customize the equalizer and salvage it. Call quality isn’t great either, as the headphones make you sound scratchy.</p><p>Should you still buy these cans? Read my full Beyerdynamic Aventho Y review to find out.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-specs"><span>Beyerdynamic Aventho Y review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/beyerdynamic-AVENTHO-Wireless-Bluetooth-Headphones/dp/B0H7R8BJH3/" target="_blank" rel="nofollow">$149</a> / <a href="https://polar.uk.com/beyerdynamic-aventho-y-wireless-headphones-liquid-black" target="_blank" rel="nofollow">£129</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>45mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>18Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP53</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC and AAC, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes, up to 2 devices</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>90 hours (ANC off) | 60 hours (ANC on)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.14 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Blue Fusion, Liquid Black, Peach Blush, Soft Jade</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-price-availability"><span>Beyerdynamic Aventho Y review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YgM9wVLazqK9nT93r4Mzgc" name="Bayerdynamic_Aventho_Y_Headphones_016" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/YgM9wVLazqK9nT93r4Mzgc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Announced at IFA in September 2026, the Beyerdynamic Aventho Y are the latest over-ears to join the brand’s extensive lineup of consumer headphones. Priced at <a href="https://www.amazon.com/beyerdynamic-AVENTHO-Wireless-Bluetooth-Headphones/dp/B0H7R8BJH3/" target="_blank" rel="nofollow">$149 at Amazon U.S.</a> / <a href="https://polar.uk.com/beyerdynamic-aventho-y-wireless-headphones-liquid-black" target="_blank" rel="nofollow">£129 at Polar U.K.</a>, the Aventho Y are Beyerdynamic’s cheapest lifestyle headphones, at the time of writing. The cans come in Blue Fusion, Liquid Black, Peach Blush, and Soft Jade colors.</p><p>The Aventho Y offer ANC, long battery life with user-replaceable battery packs, and are extremely comfortable. These are some of the cheapest mid-range ANC headphones we’ve tested, and they’re cheaper than the <a href="https://www.tomsguide.com/audio/headphones/sony-wh-1000xm4c-wh-ch730n-wh-ch530-announced">Sony WH-CH730N</a> ($179), the <a href="https://www.tomsguide.com/reviews/sennheiser-accentum">Sennheiser Accentum</a> ($179), the <a href="https://www.tomsguide.com/audio/headphones/jbl-live-770nc-review">JBL Live 770NC</a> ($199), and the <a href="https://www.tomsguide.com/audio/headphones/beats-solo-4-review">Beats Solo 4</a> ($199).</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-design"><span>Beyerdynamic Aventho Y review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9V7YAqHtxZgJeYfXvCyo4d" name="Bayerdynamic_Aventho_Y_Headphones_015" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/9V7YAqHtxZgJeYfXvCyo4d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y make a strong first impression with their striking colors. The Peach Blush model I tested is certainly a looker, with light and airy accents that make them stand out in a market crowded with black and dark colors. The stylized “Y” engraved into each (large) earcup is a nice touch, and the subtle Beyerdynamic branding on the headband doesn’t draw much attention either.</p><p>The Aventho Y weigh just 11.14 ounces and even though they’re slightly heavier than my trusty <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> (8.8 ounces, $349), the difference isn’t that noticeable. They’re also heavier than their siblings, the <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-aventho-100-review">Aventho 100</a> (7.76 ounces, $229), but the added weight is a decent trade-off if you want a user-replaceable battery and a more comfortable fit.</p><p>For easy transport, the Aventho Y are foldable so you can save some space in your day bag. A drawstring cloth bag is included in the box, too.</p><h2 id="weatherproofing">Weatherproofing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="A7PV2SXGV73zp9kUq4qA3d" name="Bayerdynamic_Aventho_Y_Headphones_014" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/A7PV2SXGV73zp9kUq4qA3d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It’s normal for over-ear headphones to not have official IP waterproof ratings, but the Aventho Y do. These cans are IP53-rated, just like the Aventho 100, so they’re protected against dust and light water splashes. You should be just fine wearing them to the gym. In contrast, the JBL Live 770NC and the Sony WH-CH730N aren’t waterproof at all — JBL and Sony don’t specify that they are, at least.</p><h2 id="comfort">Comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T4NMDWxrsvXDx6rAa9g64d" name="Bayerdynamic_Aventho_Y_Headphones_011" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/T4NMDWxrsvXDx6rAa9g64d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Aventho Y are extremely comfortable headphones, and that’s thanks to their large, spacious earcups and cushioned headband. The ear cushions feature soft foam interiors, and they’re covered in soft leatherette. These ear cushions are magnetic so they can be twisted off and replaced if they get damaged.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5v4CkXFiEch9ZXiGUMG44d" name="Bayerdynamic_Aventho_Y_Headphones_010" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/5v4CkXFiEch9ZXiGUMG44d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Similarly, the headband’s metal frame uses the same leatherette cushioning for added comfort, and it relieves the pressure you’d otherwise feel on the top of your head. Having worn the Aventho Y for a six-hour stint, I can confirm that they’re suitable for all-day wear, as my ears didn’t overheat or feel sweaty.</p><h2 id="controls">Controls</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nLeBCaiHpDhDsVkU6x97nb" name="Bayerdynamic_Aventho_Y_Headphones_006" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/nLeBCaiHpDhDsVkU6x97nb.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sporting a straightforward control scheme, everything, from volume to ANC, is adjusted via physical buttons and toggles on the Aventho Y’s earcups. You can increase or decrease the volume via the buttons on the right earcup. Located between these is a custom button which can be customized via the app to change tracks, enable voice assistant, and more. Controls for ANC and Bluetooth are on the left earcup. They’re all super straightforward to get a hang of.</p><h2 id="connectivity">Connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pWp8DbjTzQzLLhixrnA3Gc" name="Bayerdynamic_Aventho_Y_Headphones_002" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/pWp8DbjTzQzLLhixrnA3Gc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Aventho Y utilize Bluetooth 6.0 with support for SBC and AAC codecs. However, there’s no support for LC3, LDAC or aptX Lossless, and you’ll need to spend more on the Sennheiser Accentum if you want aptX. The lack of advanced codecs isn’t uncommon in this price range, though, as neither the JBL Live 770NC nor the Beats Solo 4 support them.</p><p>For those who want more versatile wireless connectivity, Beyerdynamic is planning on selling an optional 2.4GHz dongle (which can be handily stored inside one of the earcups) along with a detachable boom mic come October. Beyerdynamic is yet to officially announce sample rates for the dongle, but I’ve reached out to a representative to find out more. You can also use a USB-C cable for wired playback.</p><p>They also feature multipoint connectivity, enabling you to connect up to two devices simultaneously — I did so with my <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> and <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a>. The Aventho Y say “Multipoint” out loud to you when two devices are connected at once. You also get Google Fast Pair and as soon as I put the headphones into pairing mode, my Pixel recognized and connected to them immediately.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-sound-quality"><span>Beyerdynamic Aventho Y review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vLyobMN2AG3DgE7EuznF6c" name="Bayerdynamic_Aventho_Y_Headphones_003" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/vLyobMN2AG3DgE7EuznF6c.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y ulitize a 45mm driver to cover a frequency response range of 20Hz to 20KHz (so the entirety of the average human hearing spectrum). To test the headphones, I listened to my array of testing songs on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the<a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"> best music streaming service</a> for audiophiles — and I was left with mixed feelings.</p><p>Vocals are the Aventho Y’s strong suit. In ‘<a href="https://open.qobuz.com/track/313214062" target="_blank" rel="nofollow">Cheers to Me</a>’ by Self Esteem, Rebecca Lucy Taylor’s vocals felt raw and intimate. Each word sounded textured, every consonant felt sharp, and plosives never popped or bled into one another. The backing vocals panned wide to the far left and right, creating an immersive listening experience. As all the voices came together in the bridge, they sounded harmonious and powerful.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TopxQp9fQ7fdvzR38diX4d" name="Bayerdynamic_Aventho_Y_Headphones_013" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/TopxQp9fQ7fdvzR38diX4d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But unfortunately, the Aventho Y struggle with almost every other aspect of the soundstage. Without any EQ adjustments and straight out of the box, the Aventho Y sound boxy, hollow and lack openness. The dark pulsating bassline that drives ‘<a href="https://open.qobuz.com/album/xl54kemeg6wws" target="_blank" rel="nofollow">2515</a>’ by Wasia Project sounded like someone had turned the bass off. The song sounded closed-in and hollow, and it felt like it had lost its three-dimensionality. While the vocals still sounded defined, the rest of the track didn’t.</p><p>I then listened to ‘<a href="https://open.qobuz.com/track/80418830" target="_blank" rel="nofollow">One Inch Punch</a>’ by Yin Yin to see if the treble sounded just as flat as the bass. While the electric guitar solos shimmered, they didn’t possess the same clarity and vibrancy you get when listening to the song through a more capable set of cans. It also felt like all the instruments were pushed into the background. The bassline sounded dull as did the drums. Heavy tracks like ‘<a href="https://open.qobuz.com/album/qebcwambt9mpa" target="_blank" rel="nofollow">Put Me in a Padded Room</a>’ by Icon For Hire sounded muddled and like the headphones were easily overwhelmed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ocA8nhQ3CgpL4YpEirNq3d" name="Bayerdynamic_Aventho_Y_Headphones_008" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ocA8nhQ3CgpL4YpEirNq3d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Luckily, though, I was able to salvage a lot of the sound quality by adjusting the Aventho Y’s equalizer through the companion app (more on that shortly). I fixed a lot of the issues by simply playing around with the 10-band EQ and finding my ideal sound. It’s great to have such extensive customization at your fingertips, but I wish the Aventho Y sounded balanced straight out of the box — like the Sennheiser Accentum or the JBL Live 770NC.</p><p><em>Listen along to my review with the Beyerdynamic Aventho Y testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="high" data-lazy-src="https://widget.qobuz.com/playlist/69742399?zone=GB-en"></iframe><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-app"><span>Beyerdynamic Aventho Y review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="gRcWZ9eDJDPYmFNCvE2Nk6" name="Aventho_Y_app" alt="Beyerdynamic app screenshots" src="https://cdn.mos.cms.futurecdn.net/gRcWZ9eDJDPYmFNCvE2Nk6.jpg" mos="" align="middle" fullscreen="1" width="1510" height="850" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/gRcWZ9eDJDPYmFNCvE2Nk6.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Beyerdynamic)</span></figcaption></figure><p>The Aventho Y are accompanied by the Beyerdynamic app, available for free on <a href="https://apps.apple.com/us/app/beyerdynamic/id6477286323" target="_blank" rel="nofollow">iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.beyerdynamic.app&hl=us" target="_blank" rel="nofollow">Android</a>. It enables you to customize the controls, adjust the level of ANC, enable Low Latency mode to minimize audio delays, choose an EQ preset, and customize the 10-band eqaulizer to your liking.</p><p>Beyerdynamic’s app is easy to use and it sports a clean interface without any intrusive pop-ups. That’s good because given that you need the app to fix the Aventho Y’s sound, I’d say it’s a necessity and not an optional download.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-anc"><span>Beyerdynamic Aventho Y review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5c7V7sbRz2qHnuFUfjmttb" name="Bayerdynamic_Aventho_Y_Headphones_007" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/5c7V7sbRz2qHnuFUfjmttb.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y feature effective active noise cancelation that works well indoors and outdoors. Indoors, I wasn’t able to hear the kettle boiling, the clicking-clacking of <a href="https://www.tomsguide.com/best-picks/best-mechanical-keyboards">mechanical keyboards</a>, or other people talking. My partner had to wave several times to get my attention when I was testing the Aventho Y.</p><p>On a busy bus back from work, the Aventho Y managed to drown out the sound of people talking loudly. While I could hear the sound of the bus rattling, it wasn’t intrusive or too much, and the Aventho Y did a good job of ensuring I felt immersed in my tunes.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-call-quality"><span>Beyerdynamic Aventho Y review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2rSh22ao74zeJmhAS7S63d" name="Bayerdynamic_Aventho_Y_Headphones_012" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/2rSh22ao74zeJmhAS7S63d.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, the Beyerdynamic Aventho Y’s call quality is quite disappointing. On a Google Meet team call, my colleagues winced when I started speaking — and they’ve heard me talk before so I know it isn’t <em>me. </em>I asked them how I sounded, and they noted that my voice was scratchy, distant, and “not great at all.”</p><p>To rule out the possibility that this was down to an unstable internet connection, I called my partner who said that my voice sounded muffled and she couldn’t understand my words very clearly. I’d recommend the Sennheiser Accentum if you want better call quality.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-battery-life"><span>Beyerdynamic Aventho Y review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bCuh4rrDJR3ggxnwVrNESc" name="Bayerdynamic_Aventho_Y_Headphones_004" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/bCuh4rrDJR3ggxnwVrNESc.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>An area the Beyerdynamic Aventho Y perform formidably is battery life. Beyerdynamic says that on a single charge, the Aventho Y can last up to 90 hours with ANC off, or 60 hours with ANC on. This is excellent, and the headphones outclass the Sennheiser Accentum (50 hours), the Sony WH-CH730N (50 hours) and the JBL Tune 770NC (44 hours) when ANC is enabled.</p><p>With ANC enabled and music playing at 50% volume, I left the Aventho Y running over a few nights. After approximately 50 hours, I had just 5% battery remaining. Beyerdynamic’s battery claims are, then, fairly reliable.</p><p>The Aventho Y feature a user-replaceable battery, which increases the longevity of the headphones. The manual specifies how to remove the battery carefully and safely, should you need to do so.</p><h2 class="article-body__section" id="section-beyerdynamic-aventho-y-review-verdict"><span>Beyerdynamic Aventho Y review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MeB7TVLnzKUXmG7wL5FW5c" name="Bayerdynamic_Aventho_Y_Headphones_009" alt="Beyerdynamic Aventho Y over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/MeB7TVLnzKUXmG7wL5FW5c.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic Aventho Y check almost every box. They boast up to 90 hours of battery life, effective ANC indoors and outdoors, a comfortable fit, a colorful design, and they come with a user-friendly companion app. Vocals are clear, strong and nuanced, yes, but everything else sounds flat — and that’s no bueno for a pair of headphones.</p><p>While the sound quality is salvageable thanks to the custom 10-band equalizer, it’s a shame that the Aventho Y don’t sound great straight out of the box. The bass sounds muddy and the treble struggles to shine. Call quality isn’t great either as several people noted that I sounded scratchy on their end.</p><p>Though the Aventho Y are fun-looking, comfortable and last a long time, it’s worth spending a little more on the likes of the JBL Live 770NC if you want solid sound as soon as you unbox the cans. At the end of the day, the Aventho Y deliver on some fronts but fall flat where it matters most.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These $899 headphones compensate for hearing loss — I’ve got tinnitus so I put them to the test ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Noble Audio FoKus Artemis are the latest over-ear ANC headphones from high-end, although slightly niche IEM manufacturer Noble Audio. The Artemis follow up the FoKus Apollo Pro, adding an extra set of drivers to take the tally to three: each side now has a dynamic, a planar magnetic, and a balanced armature driver.</p><p>There’s also a slew of other upgrades, from Bluetooth and codec compatibility to water resistance. Most importantly, they sound utterly, and I mean <em>utterly</em> divine — those triple drivers aided by a clever personalized EQ that compensates for per-ear hearing loss.</p><p>Even so, they’re not perfect. At $899, these cans are competing with some serious players — your Bang & Olufsens; your Bowers & Wilkinses. While premium, the Artemis can’t quite match the luxurious build or polished companion apps of rivals. </p><p>But do the Artemis still rank as some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html"><u>best noise-canceling headphones</u></a> for audiophiles? Find out in my full Noble Audio FoKus Artemis review.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-specs"><span>Noble Audio FoKus Artemis review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>$899</u></a> / <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>£799</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>Triple-driver: balanced armature/planar magnetic/dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>Unspecified</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP52</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth version 6.0; USB-C; 3.5mm</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>55 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.4 ounces / 324 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black & silver</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-price-availability"><span>Noble Audio FoKus Artemis review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1304px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="fnhr7zs3QV3kDwam7NxRNc" name="Noble Audio FoKus Artemis-8" alt="The Noble Audio FoKus Artemis in hand showing the Noble branding" src="https://cdn.mos.cms.futurecdn.net/v2/t:83,l:381,cw:1304,ch:734,q:80/fnhr7zs3QV3kDwam7NxRNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>As I mentioned above, at <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>$899</u></a> / <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>£799</u></a>, the Artemis are pricey enough to mix it with the big boys — the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones"><u>Bang & Olufsen Beoplay H95</u></a> ($1,250 / £879), and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max"><u>Bowers & Wilkins Px8 S2</u></a> ($799 / £675). I own both the H95 and Px8 S2, so I’ve tested all three. </p><p>In short, if all you care about is sound, the FoKus Artemis edge it, with greater audio finesse thanks to the triple-driver array and excellent personalized EQ. If, however, you want a holistic luxury package for your close-to-a-grand, it’d have to be the H95. The Px8 S2 are the cheapest of all three but still feel more luxurious and put-together than the Artemis, plus they sound fantastic.</p><p>In the U.S., the Artemis are in pre-order at Noble Audio as I write this, although they're already becoming available via its established retailers in Britain.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-design"><span>Noble Audio FoKus Artemis review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hZreVuJd6Mwda3hcj4UVNc" name="Noble Audio FoKus Artemis-4" alt="A close up of the Noble Audio FoKus Artemis earcup details, on a stone surface, propped up on a plinth, against a blue background" src="https://cdn.mos.cms.futurecdn.net/hZreVuJd6Mwda3hcj4UVNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>There’s no denying: the FoKus Artemis are hella pretty headphones. The glorious swirling matte patina on the outer cups is borderline addictive to behold. The sliders and earcup hangers are polished to a semi-matte, with a muted, syrupy luster as the light catches them. The hangers feel reassuringly chunky, I ought to add.</p><p>But while the Artemis look charming and feel premium, they don’t convey <em>luxury</em>, which I’d expect at this price. As I mentioned above, when you charge $899 for headphones, there’s nowhere to hide, and some incredibly fierce competition. Noble is splashing around in Bowers’ and B&O’s paddling pool — and that means it’s a pool constructed entirely of titanium and lambskin leather. </p><p>The Artemis simply cannot match the opulence of the other two, who leave no detail without attention. The Artemis’ milled edges are just that little rougher; the etching slightly less sharp; the ear pads (while comfy) not nearly as pillowy-soft. The buttons look plasticky and cheap, while the legends look either very slightly mis- or double-printed on both my test units — you wouldn’t find a basic error like that on a set of Bowers, <em>no</em> <em>siree</em>, and I’m pretty sure someone at B&O would be facing a firing squad for it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1236px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="LhanSksuoihK2MydwaxvMc" name="Noble Audio FoKus Artemis-11" alt="The Noble Audio FoKus Artemis in hand showing the control buttons" src="https://cdn.mos.cms.futurecdn.net/v2/t:343,l:325,cw:1236,ch:696,q:80/LhanSksuoihK2MydwaxvMc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>There’s a felt-like material on the back of the Artemis earcups, which unless cossetted will doubtless grubby up quicker than you can say ‘balanced armature’. And the headband fabric looks uncannily like that on the <a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-75-review"><u>Jabra Evolve3 75</u></a> conferencing headset I tested recently — there’s nothing overtly <em>wrong</em> with it, and it’s perfectly comfortable… but $900 to look like you’re on a work call?</p><p>By $500 headphone standards, the Artemis sure are lovely. But Noble has chosen the $900 mark, so by that yardstick shall these cans be measured, and shall they ever-so-slightly disappoint.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2nA5jz6BP9dhREYyw4J5Pc" name="Noble Audio FoKus Artemis-12" alt="The Noble Audio FoKus Artemis earcups removed and in hand" src="https://cdn.mos.cms.futurecdn.net/2nA5jz6BP9dhREYyw4J5Pc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Still, the Artemis boast some worthy design features. The earcups and battery are replaceable, theoretically benefitting longevity. IP52 dust-/water-resistance means they’ll survive a light shower and the odd workout — although I dread to think what that earcup felt will look (not to mention smell) like once sweated into. You can replace the earcups on both the Px8 S2 and H95, but only the latter is water resistant (also IP52) and neither can have their batteries replaced (not by <em>you</em> anyway).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tRrzqbh9wU28m6To2vE2rb" name="Noble Audio FoKus Artemis_Test-1" alt="A selfie photo of Editor Peter Wolinski wearing a set of the Noble Audio FoKus Artemis on a runway as he is about to board a plane." src="https://cdn.mos.cms.futurecdn.net/tRrzqbh9wU28m6To2vE2rb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">I took the Artemis with me on a press trip to Copenhagen! </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis come with a hardened fabric carry case. It’s a little slimmer than the Px8 S2’s equivalent and wholly easier to travel with than the H95’s chunky, scratch-magnetic hard-shell case. I’ve travelled with all three and prefer the Artemis’ case, as it took up the least space in my bag.</p><h3 id="controls-2">Controls</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qxkHnUdpJyUYiavxH6WpJc" name="Noble Audio FoKus Artemis-10" alt="The Noble Audio FoKus Artemis in hand showing the ANC button" src="https://cdn.mos.cms.futurecdn.net/qxkHnUdpJyUYiavxH6WpJc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Their cheap-ish looks aside, I’m a big fan of the Artemis’ buttons and controls. They’re reliable, unfussy and sensibly positioned, which is all I really want and need. I had no issues locating and operating the Artemis’s controls by touch, even while walking around Copenhagen on a press trip. Sure, I like the physical and touch controls on my <a href="https://www.tomsguide.com/audio/headphones/bang-and-olufsen-beoplay-h100-review"><u>Bang & Olufsen Beoplay H100</u></a> and H95, but how many do I <em>really</em> use day-to-day? Four: power, volume, playback and ANC. </p><h3 id="connectivity-2">Connectivity</h3><p>The Artemis use Bluetooth version 6.0, providing greater connection stability and lower power consumption than earlier versions. Even the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review"><u>Apple AirPods Max 2</u></a> launched in 2026 with the older version 5.3, so (unfortunately) the latest iteration isn't something you can take for granted.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1348px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="X8FeXUnZzEsGJj94cGFRkb" name="Noble Audio FoKus Artemis-6" alt="The Noble Audio FoKus Artemis in hand showing the USB-C port" src="https://cdn.mos.cms.futurecdn.net/v2/t:292,l:362,cw:1348,ch:758,q:80/X8FeXUnZzEsGJj94cGFRkb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis support hi-res codecs, including LDAC, aptX HD, and now aptX Lossless — an upgrade from the Apollo. Again, you can’t take these for granted, as the $2,500 B&O H100 only support basic AAC/SBC codecs, meaning no hi-res wireless.</p><p>The Artemis also pack wear detection with customizable auto-off timing, multi-point connectivity and smartphone control via a (rather janky) companion app. You can also run the cans truly lossless via USB-C, and there’s a USB-C 3.5mm adapter included. </p><p>Annoyingly, multipoint didn’t work too well during testing — when taking work calls, I occasionally had to turn the Artemis off and on again for Google Meet to recognize them as an audio/mic source. Could be a Meet issue, though.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-sound-quality"><span>Noble Audio FoKus Artemis review: Sound quality</span></h2><p>I tested over Bluetooth using AAC, and over USB-C in hi-res on <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>. As I mentioned above, the Artemis sound insanely good. The three-driver setup comprises a dynamic driver for bass and mid-range impact; a planar magnetic driver for super fast response, particularly in the mid- and upper ranges; and a balanced armature driver for fine treble detail. It’s a heavenly <em>ménage à trois</em>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ThpQmvyYuiMUMQrCFTV5Pc" name="Noble Audio FoKus Artemis-14" alt="The Noble Audio FoKus Artemis with their earcups removed to show the drivers" src="https://cdn.mos.cms.futurecdn.net/ThpQmvyYuiMUMQrCFTV5Pc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Treble is ultra-precise, airy, and rarely fatiguing — I was caught out a couple of times by songs with inherently sharp treble baked into their master, although admittedly I <em>was</em> hungover on both occasions. For the most part, though, I found the treble comfortable enough for hours on end. </p><p>The balanced armature (BA) drivers and ultra-responsive planars offer exceptional detail. In Blusher’s <em>Your Love Is My Drug,</em> I heard every minute enunciation, every mouth noise, every lip smack, and the gentlest whisps of the breathy vocals during harmonies. The balanced armature drivers also help with airiness and space — the subtle pop of interference at the start of Queens of the Stone Age’s <em>Medication</em> was imaged perfectly, crackling upward and forward in my left ear like a firing nerve ending.</p><p>Vocals steal the show, though. They sound mesmerizing across the board, always perfectly isolated from percussion and other mid-range noise. In Stereophonics’ <em>Just Looking</em>, Kelly Jones’ voice commanded the track, his husky vocals floating around my head like tobacco smoke in an 80s dive bar — I almost forgot the song had a riff and drum track.</p><p>That fast mid-range response also works wonders elsewhere, with strong instrument and tonal separation. Guitars sound fantastic. I could hear the individual plucks and natural stringy timbre during the acoustic guitar bridge of Porter Robinson’s <em>Cheerleader</em>. Distorted stuff works, too, with bags of texture and definition in sludgy metal riffs.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bKAN5KhnYt8ArPXt8e6cPc" name="Noble Audio FoKus Artemis-16" alt="The Noble Audio FoKus Artemis carry case, open showing the cable tidy compartment, against a blue background" src="https://cdn.mos.cms.futurecdn.net/bKAN5KhnYt8ArPXt8e6cPc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Artemis come with USB-C and 3.5mm cables, plus adapters, for lossless wired playback. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis aren’t overly bassy headphones — no <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review"><u>Bose QuietComfort Ultra Gen 2</u></a> tuning for the masses. But when you need the bass, it’s there, impactful and well-controlled. The powerful warbles of Burn Water’s <em>Ikigai</em> were thick, rich and velvety-textured.</p><p>Sub-bass response isn’t the strongest, at least not on my personal EQ. The last 20 seconds of Sohn's <em>Antigravity</em> — essentially just a wave of the deepest sub bass you can get before feeling rather than hearing it — sounded fairly thin. But that stuff is tricky for pretty much all headphones I’ve tested save the $2,200 Beoplay H100 and $4,500 Audeze LCD5-S. </p><p>As I mentioned above, these headphones are surprisingly spacious for closed-backs, but there’s an extra mode to supposedly increase three-dimensionality: Audiosphere, available in either Subtle (weak) or Immersive (strong) settings. Like most software-based 3D modes I try, it’s pretty poor, making everything sound metallic and echoey rather than actually increasing spatiality.</p><p><em>Listen along to my audio testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><u><em>Qobuz</em></u></a><em>, our favourite </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u><em>music streaming service</em></u></a><em> for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h3 id="personalized-eq">Personalized EQ</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:60.00%;"><img id="8HYjc9JwtePJe3NCRY4jda" name="Noble Audio FoKus Artemis_App-1" alt="Two screenshots of the Noble Audio FoKus mobile app being used to set a custom audiodo EQ for the FoKus Artemis" src="https://cdn.mos.cms.futurecdn.net/8HYjc9JwtePJe3NCRY4jda.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1536" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/8HYjc9JwtePJe3NCRY4jda.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>The Artemis’ standout software feature is undoubtedly its personalized EQ, courtesy of the audio algo-nerds at Audiodo, a Swedish company specializing in personal EQing. The personalized EQ runs a hearing test and then adapts the EQ profile to your individual ears, compensating for any hearing loss at different frequencies in one ear or the other. As a tinnitus sufferer, motorcyclist and former DJ, this is exactly what I need!</p><p>I was blown away by the results. My personal EQ was highly effective, brightening up the treble and bringing noticeable space to the sound without compromising anything else.</p><p>There’s also a standard 10-band EQ, plus various presets. I like that your EQ is also saved onboard the headphones, too, so if your app goes kaput (which, spoiler alert, it probably will), your chosen EQ <em><strong>should</strong></em> remain on the cans... and yes, that is some not-so-subtle foreshadowing.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-app"><span>Noble Audio FoKus Artemis review: App</span></h2><p>The Artemis’ Achilles heel (staying on the mythical trend) is its app. It’s a little unpolished, with a few slightly awkward <em>something</em>-to-English direct translations (“Go test” and the “Setting” menu), plus a somewhat boxy, dated and disconcertingly left-justified interface.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e2RqkbHJry67dP6AANWHna" name="Noble Audio FoKus Artemis_App-2" alt="A screenshot of the Noble Audio FoKus mobile app showing a set of open earbuds when it should show the FoKus Artemis." src="https://cdn.mos.cms.futurecdn.net/e2RqkbHJry67dP6AANWHna.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/e2RqkbHJry67dP6AANWHna.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">...unkonw? </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>However, a more concerning issue during testing was the app’s jankiness. It sometimes failed to recognize the headphones at all, and once thought they were Noble’s Karma open earbuds. It also crashed each time I tried to update the Artemis — not ideal given my first test set was running early firmware. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="v76QhrNHLeRHyQiieVd9Aa" name="Noble Audio FoKus Artemis_App-3" alt="Two screenshots of the Noble Audio FoKus mobile app showing two sets of different custom EQs." src="https://cdn.mos.cms.futurecdn.net/v76QhrNHLeRHyQiieVd9Aa.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/v76QhrNHLeRHyQiieVd9Aa.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Before: My personalized EQs before the firmware update. As you can see in the green boxes and from the EQ curves, I have two separate EQ profiles. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>I flagged this to Noble’s representative and the manufacturer quickly patched the iOS app, which is fine, although after the update one of my two personal EQ profiles was overwritten by a duplication of the other (thankfully, the one I preferred). It’s not exactly confidence-inspiring. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Qm5yzM734pHGQXm5bGn6Ya" name="Noble Audio FoKus Artemis_App-4" alt="Two screenshots of the Noble Audio FoKus mobile app showing two sets of different custom EQs." src="https://cdn.mos.cms.futurecdn.net/Qm5yzM734pHGQXm5bGn6Ya.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Qm5yzM734pHGQXm5bGn6Ya.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">After: And here are my personalized EQ profiles after I (eventually) updated the firmware. As you can see from the green boxes and EQ curves, my two profiles are now the same, meaning one was overwritten with a dupe. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>At $899 and in 2026, I’d expect a little more polish given the smartphone app is so pivotal to the Artemis’ user experience — personalized EQ and updating <em>et al</em>. The B&O app, by contrast, is wonderful and feature-packed, while the B&W app is fairly basic but at least reliable and slick. </p><p>I should mention that, thankfully, despite the jankiness, I could still use the FoKus app fairly reliably to customize the Artemis at a fundamental level (controls, ANC levels, etc), and most importantly use the EQ. Given the EQ is saved onboard the headphones, after setting that you can mostly live without the app anyway until you need to tweak EQ or update the cans.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-anc"><span>Noble Audio FoKus Artemis review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rcp2AnwDhkYzfhrJSGMiDb" name="Noble Audio FoKus Artemis_Test-2" alt="A selfie photo of Editor Peter Wolinski wearing a set of the Noble Audio FoKus Artemis onboard a plane." src="https://cdn.mos.cms.futurecdn.net/rcp2AnwDhkYzfhrJSGMiDb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Artemis' ANC faced a stern test on my flight home. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The FoKus Artemis’ ANC is pretty good. I took the headphones on a flight to Copenhagen, and they cut out enough hubbub in the busy departures terminal for me to get on with some work in peace. On the plane, they competently drowned out the noisy Airbus A320 I flew on, the people behind me talking, plus a passenger on my row snoring. They couldn’t cut the noise of a screaming kid behind me on the return flight though, which the Bowers & Wilkins Px8 S2 did <a href="https://www.tomsguide.com/audio/over-ear-headphones/forget-sonys-new-usd649-headphones-if-you-care-about-audio-these-are-the-premium-cans-you-should-buy-instead"><u>last time I flew</u></a> (returning, coincidentally, from Copenhagen).</p><p>The Artemis did a respectable job in daily life, too, cutting most traffic noise while walking around the Danish capital. I didn’t get along with the pressure levels at times, as the ‘High’ ANC setting occasionally made me feel nauseous, but your mileage will vary based on individual ear anatomy.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-call-quality"><span>Noble Audio FoKus Artemis review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1660px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="qkx54VX952ZtimzkHfYyNc" name="Noble Audio FoKus Artemis-7" alt="The Noble Audio FoKus Artemis in hand showing the controls" src="https://cdn.mos.cms.futurecdn.net/v2/t:103,l:0,cw:1660,ch:934,q:80/qkx54VX952ZtimzkHfYyNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>For the Artemis, Noble did away with the Apollo’s detachable boom mic, which is a good thing. This is a set of ANC headphones, not a <a href="https://www.tomsguide.com/best-picks/best-gaming-headsets"><u>gaming headset</u></a>. The new internal mic does a fairly good job for calls. I called my wife, who reported my voice sounded clear and natural, if not a little bit thin. </p><p>She noted, however, that the Artemis mic picked up literally every single background noise, from rustling paper to unwrapping a parcel to merely pulling my keys from my pocket. Apparently this was very distracting, and with no environmental noise cancelation on the mic, there was nothing I could do about it.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-battery-life"><span>Noble Audio FoKus Artemis review: Battery life</span></h2><p>Noble promises 55 hours of battery life with ANC off and 35 with ANC on. This sits between the 38-hour and 30-hour ANC figures of the H95 and Px8 S2 respectively. It’s a lot better than the 20 hours you can expect from the AirPods Max 2.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1492px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="nTpVuqabnbxqeZNuxEyFQc" name="Noble Audio FoKus Artemis-13" alt="The Noble Audio FoKus Artemis with their earcups removed to show the drivers and removable battery" src="https://cdn.mos.cms.futurecdn.net/v2/t:284,l:271,cw:1492,ch:840,q:80/nTpVuqabnbxqeZNuxEyFQc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Real world results will of course vary based on your individual usage and whether you’re using USB-C for playback. In real terms, though, I used the Artemis extensively over a three-day press trip without charging them and was left with around 50% left, so there’s more than enough juice for a short trip away, and you’ll very likely be able to find a power socket in that time anyway.</p><p>The Artemis also have a neat trick up their sleeve: take off the left ear pad and you’ll see a battery held in place with a screw! That means you can replace the battery yourself, theoretically increasing the Artemis’ longevity. We’ve seen this before on the <a href="https://www.tomsguide.com/audio/headphones/sennheiser-momentum-5-review"><u>Sennheiser Momentum 5</u></a>, but it’s not commonplace. Of course, it relies on Noble still making these batteries whenever in the future you need to replace yours. Despite questionable upsides, though, there are certainly no downsides to this.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-verdict"><span>Noble Audio FoKus Artemis review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vbxw55cC3N8m8tKJ8RQNCc" name="Noble Audio FoKus Artemis-5" alt="The Noble Audio FoKus Artemis on a stone surface, propped up on a plinth, against a blue background" src="https://cdn.mos.cms.futurecdn.net/Vbxw55cC3N8m8tKJ8RQNCc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The FoKus Artemis aren’t perfect. When you’re being charged $899, you deserve a certain level of polish that, unfortunately, isn’t quite there in places. Admittedly, most of this is fairly minor, like the Artemis’ overly sensitive mic, or their lacking the sheer opulent finish and attention to detail of similarly priced rivals. The amateurism of the companion app is more worrying, though, given its importance to the headphones’ core operation. Thankfully that’s something which can be improved over time (and really needs to be, Noble, if you’re reading).</p><p>That said, I’m still head over heels in love with the FoKus Artemis, and there’s no question that they deserve my recommendation. Because <em>that</em> <em>sound</em> — mah gawd. It's what these cans are all about. Fire them up, sort out your personalized EQ, and you’ll quickly realize what you’ve paid for. The sound is simply exquisite, with detail, space, power in abundance, yet balance. The $900 finesse lacked elsewhere is made up for in triumphant fashion by just listening to the things. And that’s a compromise I can live with.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/noble-audio-fokus-artemis-review</link>
                                                                            <description>
                            <![CDATA[ The luxury price tag is justified by incredible sound and a clever personal EQ. While not perfect, the Noble Audio FoKus Artemis are still utterly beautiful. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">duTuemro67gffvMvKqZoDK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JymsYP53jrKRHhMxGNq5fb-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 11:44:06 +0000</pubDate>                                                                                                                                <updated>Fri, 04 Sep 2026 12:26:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/JymsYP53jrKRHhMxGNq5fb-1280-80.jpg">
                                                            <media:credit><![CDATA[Peter Wolinski / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Noble Audio FoKus Artemis on a stone surface, propped up on a plinth, against a blue background]]></media:description>                                                            <media:text><![CDATA[The Noble Audio FoKus Artemis on a stone surface, propped up on a plinth, against a blue background]]></media:text>
                                <media:title type="plain"><![CDATA[The Noble Audio FoKus Artemis on a stone surface, propped up on a plinth, against a blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JymsYP53jrKRHhMxGNq5fb-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Noble Audio FoKus Artemis are the latest over-ear ANC headphones from high-end, although slightly niche IEM manufacturer Noble Audio. The Artemis follow up the FoKus Apollo Pro, adding an extra set of drivers to take the tally to three: each side now has a dynamic, a planar magnetic, and a balanced armature driver.</p><p>There’s also a slew of other upgrades, from Bluetooth and codec compatibility to water resistance. Most importantly, they sound utterly, and I mean <em>utterly</em> divine — those triple drivers aided by a clever personalized EQ that compensates for per-ear hearing loss.</p><p>Even so, they’re not perfect. At $899, these cans are competing with some serious players — your Bang & Olufsens; your Bowers & Wilkinses. While premium, the Artemis can’t quite match the luxurious build or polished companion apps of rivals. </p><p>But do the Artemis still rank as some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html"><u>best noise-canceling headphones</u></a> for audiophiles? Find out in my full Noble Audio FoKus Artemis review.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-specs"><span>Noble Audio FoKus Artemis review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>$899</u></a> / <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>£799</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>Triple-driver: balanced armature/planar magnetic/dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>Unspecified</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP52</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth version 6.0; USB-C; 3.5mm</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>55 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.4 ounces / 324 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black & silver</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-price-availability"><span>Noble Audio FoKus Artemis review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1304px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="fnhr7zs3QV3kDwam7NxRNc" name="Noble Audio FoKus Artemis-8" alt="The Noble Audio FoKus Artemis in hand showing the Noble branding" src="https://cdn.mos.cms.futurecdn.net/v2/t:83,l:381,cw:1304,ch:734,q:80/fnhr7zs3QV3kDwam7NxRNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>As I mentioned above, at <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>$899</u></a> / <a href="https://nobleaudio.com/products/artemis" target="_blank" rel="nofollow"><u>£799</u></a>, the Artemis are pricey enough to mix it with the big boys — the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones"><u>Bang & Olufsen Beoplay H95</u></a> ($1,250 / £879), and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max"><u>Bowers & Wilkins Px8 S2</u></a> ($799 / £675). I own both the H95 and Px8 S2, so I’ve tested all three. </p><p>In short, if all you care about is sound, the FoKus Artemis edge it, with greater audio finesse thanks to the triple-driver array and excellent personalized EQ. If, however, you want a holistic luxury package for your close-to-a-grand, it’d have to be the H95. The Px8 S2 are the cheapest of all three but still feel more luxurious and put-together than the Artemis, plus they sound fantastic.</p><p>In the U.S., the Artemis are in pre-order at Noble Audio as I write this, although they're already becoming available via its established retailers in Britain.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-design"><span>Noble Audio FoKus Artemis review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hZreVuJd6Mwda3hcj4UVNc" name="Noble Audio FoKus Artemis-4" alt="A close up of the Noble Audio FoKus Artemis earcup details, on a stone surface, propped up on a plinth, against a blue background" src="https://cdn.mos.cms.futurecdn.net/hZreVuJd6Mwda3hcj4UVNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>There’s no denying: the FoKus Artemis are hella pretty headphones. The glorious swirling matte patina on the outer cups is borderline addictive to behold. The sliders and earcup hangers are polished to a semi-matte, with a muted, syrupy luster as the light catches them. The hangers feel reassuringly chunky, I ought to add.</p><p>But while the Artemis look charming and feel premium, they don’t convey <em>luxury</em>, which I’d expect at this price. As I mentioned above, when you charge $899 for headphones, there’s nowhere to hide, and some incredibly fierce competition. Noble is splashing around in Bowers’ and B&O’s paddling pool — and that means it’s a pool constructed entirely of titanium and lambskin leather. </p><p>The Artemis simply cannot match the opulence of the other two, who leave no detail without attention. The Artemis’ milled edges are just that little rougher; the etching slightly less sharp; the ear pads (while comfy) not nearly as pillowy-soft. The buttons look plasticky and cheap, while the legends look either very slightly mis- or double-printed on both my test units — you wouldn’t find a basic error like that on a set of Bowers, <em>no</em> <em>siree</em>, and I’m pretty sure someone at B&O would be facing a firing squad for it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1236px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="LhanSksuoihK2MydwaxvMc" name="Noble Audio FoKus Artemis-11" alt="The Noble Audio FoKus Artemis in hand showing the control buttons" src="https://cdn.mos.cms.futurecdn.net/v2/t:343,l:325,cw:1236,ch:696,q:80/LhanSksuoihK2MydwaxvMc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>There’s a felt-like material on the back of the Artemis earcups, which unless cossetted will doubtless grubby up quicker than you can say ‘balanced armature’. And the headband fabric looks uncannily like that on the <a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-75-review"><u>Jabra Evolve3 75</u></a> conferencing headset I tested recently — there’s nothing overtly <em>wrong</em> with it, and it’s perfectly comfortable… but $900 to look like you’re on a work call?</p><p>By $500 headphone standards, the Artemis sure are lovely. But Noble has chosen the $900 mark, so by that yardstick shall these cans be measured, and shall they ever-so-slightly disappoint.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2nA5jz6BP9dhREYyw4J5Pc" name="Noble Audio FoKus Artemis-12" alt="The Noble Audio FoKus Artemis earcups removed and in hand" src="https://cdn.mos.cms.futurecdn.net/2nA5jz6BP9dhREYyw4J5Pc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Still, the Artemis boast some worthy design features. The earcups and battery are replaceable, theoretically benefitting longevity. IP52 dust-/water-resistance means they’ll survive a light shower and the odd workout — although I dread to think what that earcup felt will look (not to mention smell) like once sweated into. You can replace the earcups on both the Px8 S2 and H95, but only the latter is water resistant (also IP52) and neither can have their batteries replaced (not by <em>you</em> anyway).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tRrzqbh9wU28m6To2vE2rb" name="Noble Audio FoKus Artemis_Test-1" alt="A selfie photo of Editor Peter Wolinski wearing a set of the Noble Audio FoKus Artemis on a runway as he is about to board a plane." src="https://cdn.mos.cms.futurecdn.net/tRrzqbh9wU28m6To2vE2rb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">I took the Artemis with me on a press trip to Copenhagen! </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis come with a hardened fabric carry case. It’s a little slimmer than the Px8 S2’s equivalent and wholly easier to travel with than the H95’s chunky, scratch-magnetic hard-shell case. I’ve travelled with all three and prefer the Artemis’ case, as it took up the least space in my bag.</p><h3 id="controls-2">Controls</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qxkHnUdpJyUYiavxH6WpJc" name="Noble Audio FoKus Artemis-10" alt="The Noble Audio FoKus Artemis in hand showing the ANC button" src="https://cdn.mos.cms.futurecdn.net/qxkHnUdpJyUYiavxH6WpJc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Their cheap-ish looks aside, I’m a big fan of the Artemis’ buttons and controls. They’re reliable, unfussy and sensibly positioned, which is all I really want and need. I had no issues locating and operating the Artemis’s controls by touch, even while walking around Copenhagen on a press trip. Sure, I like the physical and touch controls on my <a href="https://www.tomsguide.com/audio/headphones/bang-and-olufsen-beoplay-h100-review"><u>Bang & Olufsen Beoplay H100</u></a> and H95, but how many do I <em>really</em> use day-to-day? Four: power, volume, playback and ANC. </p><h3 id="connectivity-2">Connectivity</h3><p>The Artemis use Bluetooth version 6.0, providing greater connection stability and lower power consumption than earlier versions. Even the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review"><u>Apple AirPods Max 2</u></a> launched in 2026 with the older version 5.3, so (unfortunately) the latest iteration isn't something you can take for granted.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1348px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="X8FeXUnZzEsGJj94cGFRkb" name="Noble Audio FoKus Artemis-6" alt="The Noble Audio FoKus Artemis in hand showing the USB-C port" src="https://cdn.mos.cms.futurecdn.net/v2/t:292,l:362,cw:1348,ch:758,q:80/X8FeXUnZzEsGJj94cGFRkb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis support hi-res codecs, including LDAC, aptX HD, and now aptX Lossless — an upgrade from the Apollo. Again, you can’t take these for granted, as the $2,500 B&O H100 only support basic AAC/SBC codecs, meaning no hi-res wireless.</p><p>The Artemis also pack wear detection with customizable auto-off timing, multi-point connectivity and smartphone control via a (rather janky) companion app. You can also run the cans truly lossless via USB-C, and there’s a USB-C 3.5mm adapter included. </p><p>Annoyingly, multipoint didn’t work too well during testing — when taking work calls, I occasionally had to turn the Artemis off and on again for Google Meet to recognize them as an audio/mic source. Could be a Meet issue, though.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-sound-quality"><span>Noble Audio FoKus Artemis review: Sound quality</span></h2><p>I tested over Bluetooth using AAC, and over USB-C in hi-res on <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>. As I mentioned above, the Artemis sound insanely good. The three-driver setup comprises a dynamic driver for bass and mid-range impact; a planar magnetic driver for super fast response, particularly in the mid- and upper ranges; and a balanced armature driver for fine treble detail. It’s a heavenly <em>ménage à trois</em>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ThpQmvyYuiMUMQrCFTV5Pc" name="Noble Audio FoKus Artemis-14" alt="The Noble Audio FoKus Artemis with their earcups removed to show the drivers" src="https://cdn.mos.cms.futurecdn.net/ThpQmvyYuiMUMQrCFTV5Pc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Treble is ultra-precise, airy, and rarely fatiguing — I was caught out a couple of times by songs with inherently sharp treble baked into their master, although admittedly I <em>was</em> hungover on both occasions. For the most part, though, I found the treble comfortable enough for hours on end. </p><p>The balanced armature (BA) drivers and ultra-responsive planars offer exceptional detail. In Blusher’s <em>Your Love Is My Drug,</em> I heard every minute enunciation, every mouth noise, every lip smack, and the gentlest whisps of the breathy vocals during harmonies. The balanced armature drivers also help with airiness and space — the subtle pop of interference at the start of Queens of the Stone Age’s <em>Medication</em> was imaged perfectly, crackling upward and forward in my left ear like a firing nerve ending.</p><p>Vocals steal the show, though. They sound mesmerizing across the board, always perfectly isolated from percussion and other mid-range noise. In Stereophonics’ <em>Just Looking</em>, Kelly Jones’ voice commanded the track, his husky vocals floating around my head like tobacco smoke in an 80s dive bar — I almost forgot the song had a riff and drum track.</p><p>That fast mid-range response also works wonders elsewhere, with strong instrument and tonal separation. Guitars sound fantastic. I could hear the individual plucks and natural stringy timbre during the acoustic guitar bridge of Porter Robinson’s <em>Cheerleader</em>. Distorted stuff works, too, with bags of texture and definition in sludgy metal riffs.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bKAN5KhnYt8ArPXt8e6cPc" name="Noble Audio FoKus Artemis-16" alt="The Noble Audio FoKus Artemis carry case, open showing the cable tidy compartment, against a blue background" src="https://cdn.mos.cms.futurecdn.net/bKAN5KhnYt8ArPXt8e6cPc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Artemis come with USB-C and 3.5mm cables, plus adapters, for lossless wired playback. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The Artemis aren’t overly bassy headphones — no <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review"><u>Bose QuietComfort Ultra Gen 2</u></a> tuning for the masses. But when you need the bass, it’s there, impactful and well-controlled. The powerful warbles of Burn Water’s <em>Ikigai</em> were thick, rich and velvety-textured.</p><p>Sub-bass response isn’t the strongest, at least not on my personal EQ. The last 20 seconds of Sohn's <em>Antigravity</em> — essentially just a wave of the deepest sub bass you can get before feeling rather than hearing it — sounded fairly thin. But that stuff is tricky for pretty much all headphones I’ve tested save the $2,200 Beoplay H100 and $4,500 Audeze LCD5-S. </p><p>As I mentioned above, these headphones are surprisingly spacious for closed-backs, but there’s an extra mode to supposedly increase three-dimensionality: Audiosphere, available in either Subtle (weak) or Immersive (strong) settings. Like most software-based 3D modes I try, it’s pretty poor, making everything sound metallic and echoey rather than actually increasing spatiality.</p><p><em>Listen along to my audio testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><u><em>Qobuz</em></u></a><em>, our favourite </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u><em>music streaming service</em></u></a><em> for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h3 id="personalized-eq">Personalized EQ</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:60.00%;"><img id="8HYjc9JwtePJe3NCRY4jda" name="Noble Audio FoKus Artemis_App-1" alt="Two screenshots of the Noble Audio FoKus mobile app being used to set a custom audiodo EQ for the FoKus Artemis" src="https://cdn.mos.cms.futurecdn.net/8HYjc9JwtePJe3NCRY4jda.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1536" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/8HYjc9JwtePJe3NCRY4jda.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>The Artemis’ standout software feature is undoubtedly its personalized EQ, courtesy of the audio algo-nerds at Audiodo, a Swedish company specializing in personal EQing. The personalized EQ runs a hearing test and then adapts the EQ profile to your individual ears, compensating for any hearing loss at different frequencies in one ear or the other. As a tinnitus sufferer, motorcyclist and former DJ, this is exactly what I need!</p><p>I was blown away by the results. My personal EQ was highly effective, brightening up the treble and bringing noticeable space to the sound without compromising anything else.</p><p>There’s also a standard 10-band EQ, plus various presets. I like that your EQ is also saved onboard the headphones, too, so if your app goes kaput (which, spoiler alert, it probably will), your chosen EQ <em><strong>should</strong></em> remain on the cans... and yes, that is some not-so-subtle foreshadowing.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-app"><span>Noble Audio FoKus Artemis review: App</span></h2><p>The Artemis’ Achilles heel (staying on the mythical trend) is its app. It’s a little unpolished, with a few slightly awkward <em>something</em>-to-English direct translations (“Go test” and the “Setting” menu), plus a somewhat boxy, dated and disconcertingly left-justified interface.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e2RqkbHJry67dP6AANWHna" name="Noble Audio FoKus Artemis_App-2" alt="A screenshot of the Noble Audio FoKus mobile app showing a set of open earbuds when it should show the FoKus Artemis." src="https://cdn.mos.cms.futurecdn.net/e2RqkbHJry67dP6AANWHna.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/e2RqkbHJry67dP6AANWHna.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">...unkonw? </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>However, a more concerning issue during testing was the app’s jankiness. It sometimes failed to recognize the headphones at all, and once thought they were Noble’s Karma open earbuds. It also crashed each time I tried to update the Artemis — not ideal given my first test set was running early firmware. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="v76QhrNHLeRHyQiieVd9Aa" name="Noble Audio FoKus Artemis_App-3" alt="Two screenshots of the Noble Audio FoKus mobile app showing two sets of different custom EQs." src="https://cdn.mos.cms.futurecdn.net/v76QhrNHLeRHyQiieVd9Aa.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/v76QhrNHLeRHyQiieVd9Aa.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Before: My personalized EQs before the firmware update. As you can see in the green boxes and from the EQ curves, I have two separate EQ profiles. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>I flagged this to Noble’s representative and the manufacturer quickly patched the iOS app, which is fine, although after the update one of my two personal EQ profiles was overwritten by a duplication of the other (thankfully, the one I preferred). It’s not exactly confidence-inspiring. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Qm5yzM734pHGQXm5bGn6Ya" name="Noble Audio FoKus Artemis_App-4" alt="Two screenshots of the Noble Audio FoKus mobile app showing two sets of different custom EQs." src="https://cdn.mos.cms.futurecdn.net/Qm5yzM734pHGQXm5bGn6Ya.jpg" mos="" align="middle" fullscreen="1" width="2560" height="1440" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/Qm5yzM734pHGQXm5bGn6Ya.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">After: And here are my personalized EQ profiles after I (eventually) updated the firmware. As you can see from the green boxes and EQ curves, my two profiles are now the same, meaning one was overwritten with a dupe. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Noble Audio / Future)</span></figcaption></figure><p>At $899 and in 2026, I’d expect a little more polish given the smartphone app is so pivotal to the Artemis’ user experience — personalized EQ and updating <em>et al</em>. The B&O app, by contrast, is wonderful and feature-packed, while the B&W app is fairly basic but at least reliable and slick. </p><p>I should mention that, thankfully, despite the jankiness, I could still use the FoKus app fairly reliably to customize the Artemis at a fundamental level (controls, ANC levels, etc), and most importantly use the EQ. Given the EQ is saved onboard the headphones, after setting that you can mostly live without the app anyway until you need to tweak EQ or update the cans.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-anc"><span>Noble Audio FoKus Artemis review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rcp2AnwDhkYzfhrJSGMiDb" name="Noble Audio FoKus Artemis_Test-2" alt="A selfie photo of Editor Peter Wolinski wearing a set of the Noble Audio FoKus Artemis onboard a plane." src="https://cdn.mos.cms.futurecdn.net/rcp2AnwDhkYzfhrJSGMiDb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Artemis' ANC faced a stern test on my flight home. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The FoKus Artemis’ ANC is pretty good. I took the headphones on a flight to Copenhagen, and they cut out enough hubbub in the busy departures terminal for me to get on with some work in peace. On the plane, they competently drowned out the noisy Airbus A320 I flew on, the people behind me talking, plus a passenger on my row snoring. They couldn’t cut the noise of a screaming kid behind me on the return flight though, which the Bowers & Wilkins Px8 S2 did <a href="https://www.tomsguide.com/audio/over-ear-headphones/forget-sonys-new-usd649-headphones-if-you-care-about-audio-these-are-the-premium-cans-you-should-buy-instead"><u>last time I flew</u></a> (returning, coincidentally, from Copenhagen).</p><p>The Artemis did a respectable job in daily life, too, cutting most traffic noise while walking around the Danish capital. I didn’t get along with the pressure levels at times, as the ‘High’ ANC setting occasionally made me feel nauseous, but your mileage will vary based on individual ear anatomy.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-call-quality"><span>Noble Audio FoKus Artemis review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1660px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="qkx54VX952ZtimzkHfYyNc" name="Noble Audio FoKus Artemis-7" alt="The Noble Audio FoKus Artemis in hand showing the controls" src="https://cdn.mos.cms.futurecdn.net/v2/t:103,l:0,cw:1660,ch:934,q:80/qkx54VX952ZtimzkHfYyNc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>For the Artemis, Noble did away with the Apollo’s detachable boom mic, which is a good thing. This is a set of ANC headphones, not a <a href="https://www.tomsguide.com/best-picks/best-gaming-headsets"><u>gaming headset</u></a>. The new internal mic does a fairly good job for calls. I called my wife, who reported my voice sounded clear and natural, if not a little bit thin. </p><p>She noted, however, that the Artemis mic picked up literally every single background noise, from rustling paper to unwrapping a parcel to merely pulling my keys from my pocket. Apparently this was very distracting, and with no environmental noise cancelation on the mic, there was nothing I could do about it.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-battery-life"><span>Noble Audio FoKus Artemis review: Battery life</span></h2><p>Noble promises 55 hours of battery life with ANC off and 35 with ANC on. This sits between the 38-hour and 30-hour ANC figures of the H95 and Px8 S2 respectively. It’s a lot better than the 20 hours you can expect from the AirPods Max 2.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1492px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="nTpVuqabnbxqeZNuxEyFQc" name="Noble Audio FoKus Artemis-13" alt="The Noble Audio FoKus Artemis with their earcups removed to show the drivers and removable battery" src="https://cdn.mos.cms.futurecdn.net/v2/t:284,l:271,cw:1492,ch:840,q:80/nTpVuqabnbxqeZNuxEyFQc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>Real world results will of course vary based on your individual usage and whether you’re using USB-C for playback. In real terms, though, I used the Artemis extensively over a three-day press trip without charging them and was left with around 50% left, so there’s more than enough juice for a short trip away, and you’ll very likely be able to find a power socket in that time anyway.</p><p>The Artemis also have a neat trick up their sleeve: take off the left ear pad and you’ll see a battery held in place with a screw! That means you can replace the battery yourself, theoretically increasing the Artemis’ longevity. We’ve seen this before on the <a href="https://www.tomsguide.com/audio/headphones/sennheiser-momentum-5-review"><u>Sennheiser Momentum 5</u></a>, but it’s not commonplace. Of course, it relies on Noble still making these batteries whenever in the future you need to replace yours. Despite questionable upsides, though, there are certainly no downsides to this.</p><h2 class="article-body__section" id="section-noble-audio-fokus-artemis-review-verdict"><span>Noble Audio FoKus Artemis review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vbxw55cC3N8m8tKJ8RQNCc" name="Noble Audio FoKus Artemis-5" alt="The Noble Audio FoKus Artemis on a stone surface, propped up on a plinth, against a blue background" src="https://cdn.mos.cms.futurecdn.net/Vbxw55cC3N8m8tKJ8RQNCc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski / Future)</span></figcaption></figure><p>The FoKus Artemis aren’t perfect. When you’re being charged $899, you deserve a certain level of polish that, unfortunately, isn’t quite there in places. Admittedly, most of this is fairly minor, like the Artemis’ overly sensitive mic, or their lacking the sheer opulent finish and attention to detail of similarly priced rivals. The amateurism of the companion app is more worrying, though, given its importance to the headphones’ core operation. Thankfully that’s something which can be improved over time (and really needs to be, Noble, if you’re reading).</p><p>That said, I’m still head over heels in love with the FoKus Artemis, and there’s no question that they deserve my recommendation. Because <em>that</em> <em>sound</em> — mah gawd. It's what these cans are all about. Fire them up, sort out your personalized EQ, and you’ll quickly realize what you’ve paid for. The sound is simply exquisite, with detail, space, power in abundance, yet balance. The $900 finesse lacked elsewhere is made up for in triumphant fashion by just listening to the things. And that’s a compromise I can live with.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve been testing the Grado SR325: They’re not the most comfortable, but I could still listen for hours ]]></title>
                                                                                                <dc:content><![CDATA[ <p>As someone who’s always listening to music and looking for the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best headphones</a> to replicate the sound of my favorite artists, I was excited to test out the Grado SR325. I’m a big fan of detailed sound, and the Grados deliver it in abundance. </p><p>They have amazing vocal reproduction while also delivering detailed mids performance, so you can take in your favorite guitar riffs and drum fills. I found them best for mellow music, but they perform well across the board. </p><p>But while the design is sleek and retro, I had some issues. The on-ear style of the headphones isn’t for me. I found them uncomfortable to wear for long periods of time, and the cheap foam padding made this even worse. To find out more about the headphones, you can keep reading this full Grado SR325 review.</p><h2 class="article-body__section" id="section-grado-sr325-review-specs"><span>Grado SR325 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/GRADO-Classic-SR325-Open-Back-Headphones/dp/B0GTN8J2VW" target="_blank" rel="nofollow">$350</a> / <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">£349</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back, on-ear</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>44mm dynamic </p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>18-24 kHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impdance</strong></p></td><td  ><p>38 ohms</p></td></tr><tr><td class="firstcol " ><p><strong>SPL 1mW</strong></p></td><td  ><p>98</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired, 3.5mm jack with 6.3mm adapter</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>14 ounces</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-grado-sr325-review-price-availability"><span>Grado SR325 review: Price & availability</span></h2><p>The Grado SR325 headphones are available in the U.S. on <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">Amazon for $350</a> and in the U.K. on the <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">Grado website for £349.</a> When it comes to open-back headphones, you’re likely to be forking out a fair bit of cash for great sound, so that’s to be expected.</p><p>For around the same price, you can pick up the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">FiiO FT13</a> ($329). These cans provide a deep, rich sound with impeccable instrument separation. Similarly, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/meze-99-classics-2nd-gen-review">Meze 99 Classics Gen 2</a>, which cost $349, can provide an even cleaner sound. The Mezes are over-ear headphones with a light headband, making them comfortable to wear for long periods, unlike the Grados. </p><p>The <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a> are another solid choice, offering warm sound, some of the best clarity you’ll find, and much better comfort. That’s all for $299, which makes them a true no-brainer when compared with the questionable sound and $350 price tag of the Grado SR325.</p><h2 class="article-body__section" id="section-grado-sr325-review-design"><span>Grado SR325 review: Design </span></h2><p>The Grado SR325 are on-ear headphones with an open-back design. They have built-in wires, so there's no need to plug in each time you listen. The headphones look sleek with black aluminum details and a faux leather headband. I think they look great and more than a little retro, but the headband feels flimsy as it’s not very thick. The headphones don’t fold and don’t come with a case either, so you’d need to invest in a headphone stand to ensure they stay in tip-top condition.</p><h3 id="comfort-2">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gofZbkR2SAi6UDJJEuDEbP" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/gofZbkR2SAi6UDJJEuDEbP.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While the Grado SR325 are comfortable to wear for short listening sessions, I would much rather use a pair of over-ear headphones like the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">FiiO FT13</a> ($329) for comfort over extended periods of time. The on-ear style Grado headphones rest directly on my ears, making the cartilage ache, which is annoying if, like me, you want to listen to music for hours on end. Also, the cheap, thin foam used to cover the earcups is uncomfortable and a little bit scratchy. It reminds me of the foam covering on the <a href="https://www.tomsguide.com/audio/headphones/gadhouse-wesley-headphones-review">Gadhouse Wesley</a> headphones, which are significantly cheaper at $69. For $350, I expect more care to be taken with the comfort of the Grado cans. </p><p>The headphones weigh 14 ounces and didn’t feel too heavy, but the top of my head became sore where the headband was resting after about 45 minutes because there’s not much padding.</p><h3 id="connectivity-3">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="puyKNQ9wmSNEEo7k83hq8P" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/puyKNQ9wmSNEEo7k83hq8P.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Grado SR325 headphones have built-in wires connected to both earcups that merge into one aux wire. You have the choice between a 3.5mm jack or a 6.3mm adapter when connecting to your device. </p><p>While listening, I used the <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BCRVXN" target="_blank" rel="nofollow">FiiO K11 R2R</a> DAC to power the headphones, and my colleagues also tested the cans with the iFi hip-dac 3 and FiiO K15. While the SR325 aren’t very hard to drive and can be powered by your laptop or phone, using a good DAC ensures they’ll sound their best, and I could hear a stark difference between listening with and without. </p><h2 class="article-body__section" id="section-grado-sr325-review-sound-quality"><span>Grado SR325 review: Sound quality</span></h2><p>The Grado SR325 headphones have a very interesting sound profile. It’s a sound I completely enjoy, and they accentuate different areas from other audiophile headphones I’ve used, but this original sound is fuzzy, adopting an analog tone, like a cup of tea on an autumn afternoon. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DfRpqBJ28WrtGQQK3urhwN" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/DfRpqBJ28WrtGQQK3urhwN.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I listened using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, one of the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming services</a>, and used the FiiO K11 R2R desktop DAC to amplify the sound. The headphones offer a well-rounded sound across most genres. They thrive with simpler, acoustic music, but they also enhance layers in more complex tracks.</p><p>Firstly, I listened to <em>Music On The Radio</em> by Empire Of The Sun to test the bass performance. While it didn’t deliver the same depth of bass I can expect from my everyday drivers, which are the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, I was able to appreciate all of the layers of the track without the bass becoming crackly or overwhelming. This means the headphones strike a good balance and allow me to hear more of the vocal performance. Bass certainly takes a backseat, but it’s still there, gently warming the track from the bottom up. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZFdk97EHxZsajMisVqps2P" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/ZFdk97EHxZsajMisVqps2P.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To test out the mid-range performance, I listened to <em>Birds</em> by Turnstile, as it has a prominent guitar riff complemented by heavy drums. The hi-hats stood out between the verse and the chorus, and the guitar riff was incredibly powerful when it kicked in. The soundstage wasn’t as wide as when I listen using my <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-dt-270-pro-review">Beyerdynamic DT 270 Pro</a>, but the level of detail made up for that. </p><p>Finally, to test the treble performance of the Grados, I listened to <em>The Last Man On Earth </em>by Wolf Alice. This song focuses on the vocal performance before exploding with the addition of harmonies, drums, and bass. The vocals were bright throughout and so detailed that I could hear every breath. When the drums kicked in, I experienced some very slight fuzziness, but that’s why I think these headphones do a better job with simple tracks. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Nyoj7uJq4jvKA4c59SHjaP" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/Nyoj7uJq4jvKA4c59SHjaP.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Overall, I think the Grado SR325 headphones are a great option for detailed listening, especially for people who like detailed tracks.</p><h2 class="article-body__section" id="section-grado-sr325-review-verdict"><span>Grado SR325 review: Verdict</span></h2><p>The Grado SR325 headphones have a sleek-looking, retro design that is sure to look great next to any audio setup. My favorite thing about these cans is the amazing vocal replication. The mid-range is also exceptionally detailed, with guitar riffs taking the forefront where needed. The warm sound makes these cans very pleasant to listen to. </p><p>And while the sleek, retro design looks good, I can’t help but notice that the foam padding on the earcups feels very cheap. This doesn’t help that the on-ear style is uncomfortable for long listening periods. </p><p>Overall, these headphones are a great choice, but for $350, you may be expecting a little more comfort with your sound. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/grado-sr325-review</link>
                                                                            <description>
                            <![CDATA[ The Grado SR325 open-back headphones provide great vocal clarity and balance, but they could be more comfortable. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xWrWUvNgYBfU49MDR86ggb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/d9PJ2s9Mdx2vuYN7sPVhLP-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 31 Aug 2026 08:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ ashley.thieme@futurenet.com (Ashley Thieme) ]]></author>                    <dc:creator><![CDATA[ Ashley Thieme ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3AWovHjApwuNrSGRS6WBcL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ashley Thieme is a staff writer on the Reviews team at Tom’s Guide where she tests out the latest tech so you can know what’s going to be worth your time and money. She has a master’s degree in Magazine Journalism and a bachelor’s degree in Journalism, Media and Sociology from Cardiff University. She has bylines in titles including Women’s Health UK, sharing the latest health and wellness news stories, and Virgin Radio UK, providing the latest entertainment news and working on celebrity interviews. She has experience reporting on a variety of topics including music, literature, motorsport, entertainment and health. In previously published work, she has reviewed live music events, books, and wellness products. She values the importance of tech enhancing your life rather than taking over, and as a music fanatic, she is always looking for the best way to listen to new music releases. Discovering the top audio equipment that enhances sound quality and provides optimum comfort is what Ashley does best. In her spare time, Ashley enjoys hitting her reading goals on Goodreads by getting into the latest novels with a cup of tea as well as getting out in the Welsh mountains for a good hike on the weekend.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/d9PJ2s9Mdx2vuYN7sPVhLP-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Grado SR325 photographed in front of a blue background]]></media:description>                                                            <media:text><![CDATA[Grado SR325 photographed in front of a blue background]]></media:text>
                                <media:title type="plain"><![CDATA[Grado SR325 photographed in front of a blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/d9PJ2s9Mdx2vuYN7sPVhLP-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As someone who’s always listening to music and looking for the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best headphones</a> to replicate the sound of my favorite artists, I was excited to test out the Grado SR325. I’m a big fan of detailed sound, and the Grados deliver it in abundance. </p><p>They have amazing vocal reproduction while also delivering detailed mids performance, so you can take in your favorite guitar riffs and drum fills. I found them best for mellow music, but they perform well across the board. </p><p>But while the design is sleek and retro, I had some issues. The on-ear style of the headphones isn’t for me. I found them uncomfortable to wear for long periods of time, and the cheap foam padding made this even worse. To find out more about the headphones, you can keep reading this full Grado SR325 review.</p><h2 class="article-body__section" id="section-grado-sr325-review-specs"><span>Grado SR325 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/GRADO-Classic-SR325-Open-Back-Headphones/dp/B0GTN8J2VW" target="_blank" rel="nofollow">$350</a> / <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">£349</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back, on-ear</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>44mm dynamic </p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>18-24 kHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impdance</strong></p></td><td  ><p>38 ohms</p></td></tr><tr><td class="firstcol " ><p><strong>SPL 1mW</strong></p></td><td  ><p>98</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired, 3.5mm jack with 6.3mm adapter</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>14 ounces</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-grado-sr325-review-price-availability"><span>Grado SR325 review: Price & availability</span></h2><p>The Grado SR325 headphones are available in the U.S. on <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">Amazon for $350</a> and in the U.K. on the <a href="https://www.grado.co.uk/classic-series/sr325-classic.html" target="_blank" rel="nofollow">Grado website for £349.</a> When it comes to open-back headphones, you’re likely to be forking out a fair bit of cash for great sound, so that’s to be expected.</p><p>For around the same price, you can pick up the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">FiiO FT13</a> ($329). These cans provide a deep, rich sound with impeccable instrument separation. Similarly, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/meze-99-classics-2nd-gen-review">Meze 99 Classics Gen 2</a>, which cost $349, can provide an even cleaner sound. The Mezes are over-ear headphones with a light headband, making them comfortable to wear for long periods, unlike the Grados. </p><p>The <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a> are another solid choice, offering warm sound, some of the best clarity you’ll find, and much better comfort. That’s all for $299, which makes them a true no-brainer when compared with the questionable sound and $350 price tag of the Grado SR325.</p><h2 class="article-body__section" id="section-grado-sr325-review-design"><span>Grado SR325 review: Design </span></h2><p>The Grado SR325 are on-ear headphones with an open-back design. They have built-in wires, so there's no need to plug in each time you listen. The headphones look sleek with black aluminum details and a faux leather headband. I think they look great and more than a little retro, but the headband feels flimsy as it’s not very thick. The headphones don’t fold and don’t come with a case either, so you’d need to invest in a headphone stand to ensure they stay in tip-top condition.</p><h3 id="comfort-2">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gofZbkR2SAi6UDJJEuDEbP" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/gofZbkR2SAi6UDJJEuDEbP.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While the Grado SR325 are comfortable to wear for short listening sessions, I would much rather use a pair of over-ear headphones like the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">FiiO FT13</a> ($329) for comfort over extended periods of time. The on-ear style Grado headphones rest directly on my ears, making the cartilage ache, which is annoying if, like me, you want to listen to music for hours on end. Also, the cheap, thin foam used to cover the earcups is uncomfortable and a little bit scratchy. It reminds me of the foam covering on the <a href="https://www.tomsguide.com/audio/headphones/gadhouse-wesley-headphones-review">Gadhouse Wesley</a> headphones, which are significantly cheaper at $69. For $350, I expect more care to be taken with the comfort of the Grado cans. </p><p>The headphones weigh 14 ounces and didn’t feel too heavy, but the top of my head became sore where the headband was resting after about 45 minutes because there’s not much padding.</p><h3 id="connectivity-3">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="puyKNQ9wmSNEEo7k83hq8P" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/puyKNQ9wmSNEEo7k83hq8P.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Grado SR325 headphones have built-in wires connected to both earcups that merge into one aux wire. You have the choice between a 3.5mm jack or a 6.3mm adapter when connecting to your device. </p><p>While listening, I used the <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BCRVXN" target="_blank" rel="nofollow">FiiO K11 R2R</a> DAC to power the headphones, and my colleagues also tested the cans with the iFi hip-dac 3 and FiiO K15. While the SR325 aren’t very hard to drive and can be powered by your laptop or phone, using a good DAC ensures they’ll sound their best, and I could hear a stark difference between listening with and without. </p><h2 class="article-body__section" id="section-grado-sr325-review-sound-quality"><span>Grado SR325 review: Sound quality</span></h2><p>The Grado SR325 headphones have a very interesting sound profile. It’s a sound I completely enjoy, and they accentuate different areas from other audiophile headphones I’ve used, but this original sound is fuzzy, adopting an analog tone, like a cup of tea on an autumn afternoon. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DfRpqBJ28WrtGQQK3urhwN" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/DfRpqBJ28WrtGQQK3urhwN.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I listened using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, one of the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming services</a>, and used the FiiO K11 R2R desktop DAC to amplify the sound. The headphones offer a well-rounded sound across most genres. They thrive with simpler, acoustic music, but they also enhance layers in more complex tracks.</p><p>Firstly, I listened to <em>Music On The Radio</em> by Empire Of The Sun to test the bass performance. While it didn’t deliver the same depth of bass I can expect from my everyday drivers, which are the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, I was able to appreciate all of the layers of the track without the bass becoming crackly or overwhelming. This means the headphones strike a good balance and allow me to hear more of the vocal performance. Bass certainly takes a backseat, but it’s still there, gently warming the track from the bottom up. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZFdk97EHxZsajMisVqps2P" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/ZFdk97EHxZsajMisVqps2P.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To test out the mid-range performance, I listened to <em>Birds</em> by Turnstile, as it has a prominent guitar riff complemented by heavy drums. The hi-hats stood out between the verse and the chorus, and the guitar riff was incredibly powerful when it kicked in. The soundstage wasn’t as wide as when I listen using my <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-dt-270-pro-review">Beyerdynamic DT 270 Pro</a>, but the level of detail made up for that. </p><p>Finally, to test the treble performance of the Grados, I listened to <em>The Last Man On Earth </em>by Wolf Alice. This song focuses on the vocal performance before exploding with the addition of harmonies, drums, and bass. The vocals were bright throughout and so detailed that I could hear every breath. When the drums kicked in, I experienced some very slight fuzziness, but that’s why I think these headphones do a better job with simple tracks. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Nyoj7uJq4jvKA4c59SHjaP" name="Grado SR325" alt="Grado SR325 photographed in front of a blue background" src="https://cdn.mos.cms.futurecdn.net/Nyoj7uJq4jvKA4c59SHjaP.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Overall, I think the Grado SR325 headphones are a great option for detailed listening, especially for people who like detailed tracks.</p><h2 class="article-body__section" id="section-grado-sr325-review-verdict"><span>Grado SR325 review: Verdict</span></h2><p>The Grado SR325 headphones have a sleek-looking, retro design that is sure to look great next to any audio setup. My favorite thing about these cans is the amazing vocal replication. The mid-range is also exceptionally detailed, with guitar riffs taking the forefront where needed. The warm sound makes these cans very pleasant to listen to. </p><p>And while the sleek, retro design looks good, I can’t help but notice that the foam padding on the earcups feels very cheap. This doesn’t help that the on-ear style is uncomfortable for long listening periods. </p><p>Overall, these headphones are a great choice, but for $350, you may be expecting a little more comfort with your sound. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These iClever Q950s might be the best kid headphones I’ve ever tried ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Headphones that are specifically labeled for children tend to feature a ton of drawbacks, especially when it comes to sound quality. That said, why we recommend specific kid headphones is because most of the ones we test feature volume limiters designed to protect little ears from future hearing damage or loss.</p><p>With that in mind, the iClever Q950 might be the best kid headphones I’ve ever tested. They’re comfortable and sound amazing for kids’ cans. No, they won’t replace the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> for adults, but a kid won’t complain, and even most grown-ups will enjoy listening to this set. Read my full iClever Q950 review to find out why.</p><h2 class="article-body__section" id="section-iclever-q950-review-specs"><span>iClever Q950 review: Specs</span></h2><div ><table><caption>iClever Q950 Specs</caption><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://iclever.com/products/iclever-q950-noise-cancelling-headphones" target="_blank" rel="nofollow">$69</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Over ear</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz - 20kHz</p></td></tr><tr><td class="firstcol " ><p><strong>Safe volume limited</strong></p></td><td  ><p>80dBA</p></td></tr><tr><td class="firstcol " ><p><strong>Battery capacity</strong></p></td><td  ><p>500mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired, 3.5mm cable or Bluetooth v6.0, USB-C charging port</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>9.9 oz (238 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Blue/Purple</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iclever-q950-review-price-availability"><span>iClever Q950 review: Price & availability</span></h2><p>The iClever Q950 cost <a href="https://www.amazon.com/dp/B0H1BLMC7R" target="_blank" rel="nofollow">$69 at Amazon</a>, but we’ve seen them a bit lower at $59 during sales events. Even at full price, these are pretty good value for money. </p><p>The Q950 competes with other iClever offerings like its colorful <a href="https://www.tomsguide.com/audio/headphones/iclever-auraa-headphones-hands-on">Auraa headphones</a> ($39) and the <a href="https://www.tomsguide.com/audio/headphones/these-stylish-ear-friendly-kid-headphones-promise-to-protect-your-childs-hearing-and-i-legit-agree">Puro Sound Lab BT2200s</a> ($99) or the extremely low-cost $20 <a href="https://www.tomsguide.com/audio/headphones/i-gave-my-kid-the-jbl-junior-320-headphones-they-look-cheap-but-sound-surprisingly-good">JBL Junior 320s</a>. I don’t think you’d go wrong with the other options, especially if you’re trying to save a buck, but personally, I’d recommend the Q950 as the middle ground. Plus, they sound better than the other offerings.</p><h2 class="article-body__section" id="section-iclever-q950-review-design"><span>iClever Q950 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHwkPsehVbnHCFs4H4zcsU" name="iClever-q950--3" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/EHwkPsehVbnHCFs4H4zcsU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Compared to most kid headphones, the iClever Q950 look more sophisticated while also clearly being made for children. </p><p>Compared to the usual grays, blacks and whites that make up adult headphones, the Q950 are quite colorful but not quite as garish as they could be. Largely that has to do with the bright blue or purple hues. The holders have a pleasant metallic sheen. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BYiYwTxEWr3qHXDLRJe8wT" name="iClever-q950--7" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/BYiYwTxEWr3qHXDLRJe8wT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Outside of colors, these are pretty durable headphones; I performed a couple of drop tests and twisted the headphones around a few times and never felt afraid that I was about to break them, though I’m sure an enterprising tot could destroy them.</p><p>They’re over-ear headphones with extendable ears that fold in, but can also turn out to lay flat if you want. They won’t disappear, but it gives you some flexibility, especially when trying to store them in a backpack. For extra protection, the Q950 does come with a bulky carry case that can hold charging wires and the 3.5mm wire. The case isn’t as bag-friendly, but you can stuff some Pokémon cards in there if you want.</p><h3 id="comfort-3">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S9oHoTU68GAuMZ3wFzmGrU" name="iClever-q950--5" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/S9oHoTU68GAuMZ3wFzmGrU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With comfort in mind, one of my personal bugaboos with over-ear headphones is the headband. If I notice the band during a listening session, it becomes grating. I never noticed it with the Q950, which is one of the highest compliments I can pay.</p><p>Despite my adult ears, the ear cups didn’t squish them, and they fully cover a kid's ears, meaning there isn’t sound leakage. I was able to wear the iClever headphones for a full workday without noticing them.</p><p>At 9.9 ounces (238 grams), these are some of the heaviest kid headphones I’ve tested. As an adult, I didn’t find the weight uncomfortable, but while 8 or 9 ounces isn’t much for grown-ups, it does add up for your kid. </p><p>My son tried the headphones, and he didn’t find them uncomfortable, but he has complimented lighter headphones like the JBL Junior 320 when we’ve had them before. In comparison, those headphones only weigh 4 ounces, less than half the weight of the Q950.</p><h3 id="connectivity-4">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Wwefhk7E3cbZYoPGTSiiEU" name="iClever-q950--8" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/Wwefhk7E3cbZYoPGTSiiEU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The iClever Q950 comes with both wired and Bluetooth connectivity. I’m a big proponent of 3.5mm wired connections when they’re available. These headphones come with a 3.5mm wire that sends the audio pretty cleanly. I can’t tell how they’ll hold up in the long run but for now it seems pretty sturdy. </p><p>Q950 features Bluetooth version 6.0; the most recent version which offers better connection stability and reduced power consumption. This is a huge get for headphones meant for kids. Not every headset has this version, including major releases from this year, like <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple’s AirPods Max 2,</a> which still use version 5.3.</p><p>I was able to cleanly connect to an iPad mini and my Galaxy S26 Ultra with no noticeable dips or drops. That’s all you need, especially if you’re on a road trip and using movies on the tablet to distract.</p><h2 class="article-body__section" id="section-iclever-q950-review-sound-quality"><span>iClever Q950 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NNJwJ7jNMFHYHHwmbggYpU" name="iClever-q950--2" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/NNJwJ7jNMFHYHHwmbggYpU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As mentioned up top, the Q950 headphones might be the best-sounding kids headphones that I’ve tested to date. Now with that praise, if you’re dropping down from a high-end set like the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins Px7 S3</a> or the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-3-months-later-heres-my-honest-verdict-on-how-sonys-flagship-cans-hold-up">Sony WH-1000XM6</a>, then you’ll notice a huge difference.</p><p>But compared to other kid headphones, the Q950 have an open, warm sound. The trebles and mids are clean without losing depth, meaning you should hear what the music is meant to sound like. Conversations in podcasts have a warmth that I found pleasant.</p><p>The bass is surprisingly punchy. No, you won’t mistake these cans for a set of Bowers drivers. But as someone who grew up on a steady diet of Paul Oakenfold passed through terrible headphones and winMX, the Q950 are pretty decent.</p><p>It’s honestly surprising how good these sound. I doubt it’ll turn your kid into an audiophile straight away, but they’ll be able to appreciate what they’re hearing, especially as they start playing their own music.</p><h2 class="article-body__section" id="section-iclever-q950-review-anc"><span>iClever Q950 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TPXFnDg9oQfP9kHYxndKpU" name="iClever-q950--4" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/TPXFnDg9oQfP9kHYxndKpU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, there is one big flaw you should know. Most kid headphones now feature active noise cancelling, which is marketed as a way to keep your kids from turning the sound up when outside noises get too loud. The Q950 does feature an 80 dB volume cap, which is good. However, I found that the ANC actively made the sound worse, flattening it or making it feel too quiet. It’s a surprising flaw for such a prominent feature.</p><p>As an example, I was listening to a podcast and decided to try out ANC while my partner was in a meeting. Tapping the button suddenly felt like I’d been sucked into an aural void, and I thought I’d accidentally hit a half-mute button I didn’t know existed. Music felt similarly pillowed.</p><p>Normally when I use ANC, like on the JBL Tour One M3, it just deadens outside noise. I don’t think I’ve ever felt the feature fundamentally change the sound of what I was actively hearing. It’s not necessary to use ANC, but if you or your child is bothered by too much outside stimulation, this is a significant drawback to the Q950.</p><h2 class="article-body__section" id="section-iclever-q950-review-what-the-kids-are-saying"><span>iClever Q950 review: What the kids are saying?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vB2t2fV58dRcDo2iADywPU" name="iClever-q950--9" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/vB2t2fV58dRcDo2iADywPU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>My son tried out the Q950 over a couple different sessions with an iPad mini, once on a road trip and once at home. He liked that the headphones were comfortable, though he initially thought they were the iClever Auraas, and at first glance they do look similar. </p><p>He didn’t have much to say about the sound, though he said he liked it. He doesn’t really care about ANC, but he did say he never had to turn up the audio even despite a nagging little sister.</p><h2 class="article-body__section" id="section-iclever-q950-review-verdict"><span>iClever Q950 review: Verdict</span></h2><p>The bar can be pretty low for kid headphones when it comes to audio quality and iClever Q950 clears that bar with flying colors. Honestly, you could buy a set for yourself, and I don’t know that you’d be disappointed. </p><p>The weight and ANC are potential problems, but if your child isn’t bothered by headphone weight and doesn’t use ANC, these are good headphones. Plus, at $69, they won’t break the bank, making them one of the best pairs of kid headphones you can buy. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/iclever-q950-review</link>
                                                                            <description>
                            <![CDATA[ The iClever Q950 headphones sound surprisingly good while still offering kid-friendly aesthetics. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">dBPodD3UGcb5WRXYNQL4uN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rqxEBNiheZu6pGavEf3xwT-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 03 Aug 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/rqxEBNiheZu6pGavEf3xwT-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iClever Q950 kid headphones]]></media:description>                                                            <media:text><![CDATA[iClever Q950 kid headphones]]></media:text>
                                <media:title type="plain"><![CDATA[iClever Q950 kid headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rqxEBNiheZu6pGavEf3xwT-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Headphones that are specifically labeled for children tend to feature a ton of drawbacks, especially when it comes to sound quality. That said, why we recommend specific kid headphones is because most of the ones we test feature volume limiters designed to protect little ears from future hearing damage or loss.</p><p>With that in mind, the iClever Q950 might be the best kid headphones I’ve ever tested. They’re comfortable and sound amazing for kids’ cans. No, they won’t replace the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> for adults, but a kid won’t complain, and even most grown-ups will enjoy listening to this set. Read my full iClever Q950 review to find out why.</p><h2 class="article-body__section" id="section-iclever-q950-review-specs"><span>iClever Q950 review: Specs</span></h2><div ><table><caption>iClever Q950 Specs</caption><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://iclever.com/products/iclever-q950-noise-cancelling-headphones" target="_blank" rel="nofollow">$69</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Over ear</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz - 20kHz</p></td></tr><tr><td class="firstcol " ><p><strong>Safe volume limited</strong></p></td><td  ><p>80dBA</p></td></tr><tr><td class="firstcol " ><p><strong>Battery capacity</strong></p></td><td  ><p>500mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired, 3.5mm cable or Bluetooth v6.0, USB-C charging port</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>9.9 oz (238 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Blue/Purple</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iclever-q950-review-price-availability"><span>iClever Q950 review: Price & availability</span></h2><p>The iClever Q950 cost <a href="https://www.amazon.com/dp/B0H1BLMC7R" target="_blank" rel="nofollow">$69 at Amazon</a>, but we’ve seen them a bit lower at $59 during sales events. Even at full price, these are pretty good value for money. </p><p>The Q950 competes with other iClever offerings like its colorful <a href="https://www.tomsguide.com/audio/headphones/iclever-auraa-headphones-hands-on">Auraa headphones</a> ($39) and the <a href="https://www.tomsguide.com/audio/headphones/these-stylish-ear-friendly-kid-headphones-promise-to-protect-your-childs-hearing-and-i-legit-agree">Puro Sound Lab BT2200s</a> ($99) or the extremely low-cost $20 <a href="https://www.tomsguide.com/audio/headphones/i-gave-my-kid-the-jbl-junior-320-headphones-they-look-cheap-but-sound-surprisingly-good">JBL Junior 320s</a>. I don’t think you’d go wrong with the other options, especially if you’re trying to save a buck, but personally, I’d recommend the Q950 as the middle ground. Plus, they sound better than the other offerings.</p><h2 class="article-body__section" id="section-iclever-q950-review-design"><span>iClever Q950 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHwkPsehVbnHCFs4H4zcsU" name="iClever-q950--3" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/EHwkPsehVbnHCFs4H4zcsU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Compared to most kid headphones, the iClever Q950 look more sophisticated while also clearly being made for children. </p><p>Compared to the usual grays, blacks and whites that make up adult headphones, the Q950 are quite colorful but not quite as garish as they could be. Largely that has to do with the bright blue or purple hues. The holders have a pleasant metallic sheen. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BYiYwTxEWr3qHXDLRJe8wT" name="iClever-q950--7" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/BYiYwTxEWr3qHXDLRJe8wT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Outside of colors, these are pretty durable headphones; I performed a couple of drop tests and twisted the headphones around a few times and never felt afraid that I was about to break them, though I’m sure an enterprising tot could destroy them.</p><p>They’re over-ear headphones with extendable ears that fold in, but can also turn out to lay flat if you want. They won’t disappear, but it gives you some flexibility, especially when trying to store them in a backpack. For extra protection, the Q950 does come with a bulky carry case that can hold charging wires and the 3.5mm wire. The case isn’t as bag-friendly, but you can stuff some Pokémon cards in there if you want.</p><h3 id="comfort-3">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S9oHoTU68GAuMZ3wFzmGrU" name="iClever-q950--5" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/S9oHoTU68GAuMZ3wFzmGrU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With comfort in mind, one of my personal bugaboos with over-ear headphones is the headband. If I notice the band during a listening session, it becomes grating. I never noticed it with the Q950, which is one of the highest compliments I can pay.</p><p>Despite my adult ears, the ear cups didn’t squish them, and they fully cover a kid's ears, meaning there isn’t sound leakage. I was able to wear the iClever headphones for a full workday without noticing them.</p><p>At 9.9 ounces (238 grams), these are some of the heaviest kid headphones I’ve tested. As an adult, I didn’t find the weight uncomfortable, but while 8 or 9 ounces isn’t much for grown-ups, it does add up for your kid. </p><p>My son tried the headphones, and he didn’t find them uncomfortable, but he has complimented lighter headphones like the JBL Junior 320 when we’ve had them before. In comparison, those headphones only weigh 4 ounces, less than half the weight of the Q950.</p><h3 id="connectivity-4">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Wwefhk7E3cbZYoPGTSiiEU" name="iClever-q950--8" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/Wwefhk7E3cbZYoPGTSiiEU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The iClever Q950 comes with both wired and Bluetooth connectivity. I’m a big proponent of 3.5mm wired connections when they’re available. These headphones come with a 3.5mm wire that sends the audio pretty cleanly. I can’t tell how they’ll hold up in the long run but for now it seems pretty sturdy. </p><p>Q950 features Bluetooth version 6.0; the most recent version which offers better connection stability and reduced power consumption. This is a huge get for headphones meant for kids. Not every headset has this version, including major releases from this year, like <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple’s AirPods Max 2,</a> which still use version 5.3.</p><p>I was able to cleanly connect to an iPad mini and my Galaxy S26 Ultra with no noticeable dips or drops. That’s all you need, especially if you’re on a road trip and using movies on the tablet to distract.</p><h2 class="article-body__section" id="section-iclever-q950-review-sound-quality"><span>iClever Q950 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NNJwJ7jNMFHYHHwmbggYpU" name="iClever-q950--2" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/NNJwJ7jNMFHYHHwmbggYpU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As mentioned up top, the Q950 headphones might be the best-sounding kids headphones that I’ve tested to date. Now with that praise, if you’re dropping down from a high-end set like the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins Px7 S3</a> or the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-3-months-later-heres-my-honest-verdict-on-how-sonys-flagship-cans-hold-up">Sony WH-1000XM6</a>, then you’ll notice a huge difference.</p><p>But compared to other kid headphones, the Q950 have an open, warm sound. The trebles and mids are clean without losing depth, meaning you should hear what the music is meant to sound like. Conversations in podcasts have a warmth that I found pleasant.</p><p>The bass is surprisingly punchy. No, you won’t mistake these cans for a set of Bowers drivers. But as someone who grew up on a steady diet of Paul Oakenfold passed through terrible headphones and winMX, the Q950 are pretty decent.</p><p>It’s honestly surprising how good these sound. I doubt it’ll turn your kid into an audiophile straight away, but they’ll be able to appreciate what they’re hearing, especially as they start playing their own music.</p><h2 class="article-body__section" id="section-iclever-q950-review-anc"><span>iClever Q950 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TPXFnDg9oQfP9kHYxndKpU" name="iClever-q950--4" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/TPXFnDg9oQfP9kHYxndKpU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, there is one big flaw you should know. Most kid headphones now feature active noise cancelling, which is marketed as a way to keep your kids from turning the sound up when outside noises get too loud. The Q950 does feature an 80 dB volume cap, which is good. However, I found that the ANC actively made the sound worse, flattening it or making it feel too quiet. It’s a surprising flaw for such a prominent feature.</p><p>As an example, I was listening to a podcast and decided to try out ANC while my partner was in a meeting. Tapping the button suddenly felt like I’d been sucked into an aural void, and I thought I’d accidentally hit a half-mute button I didn’t know existed. Music felt similarly pillowed.</p><p>Normally when I use ANC, like on the JBL Tour One M3, it just deadens outside noise. I don’t think I’ve ever felt the feature fundamentally change the sound of what I was actively hearing. It’s not necessary to use ANC, but if you or your child is bothered by too much outside stimulation, this is a significant drawback to the Q950.</p><h2 class="article-body__section" id="section-iclever-q950-review-what-the-kids-are-saying"><span>iClever Q950 review: What the kids are saying?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vB2t2fV58dRcDo2iADywPU" name="iClever-q950--9" alt="iClever Q950 kid headphones" src="https://cdn.mos.cms.futurecdn.net/vB2t2fV58dRcDo2iADywPU.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>My son tried out the Q950 over a couple different sessions with an iPad mini, once on a road trip and once at home. He liked that the headphones were comfortable, though he initially thought they were the iClever Auraas, and at first glance they do look similar. </p><p>He didn’t have much to say about the sound, though he said he liked it. He doesn’t really care about ANC, but he did say he never had to turn up the audio even despite a nagging little sister.</p><h2 class="article-body__section" id="section-iclever-q950-review-verdict"><span>iClever Q950 review: Verdict</span></h2><p>The bar can be pretty low for kid headphones when it comes to audio quality and iClever Q950 clears that bar with flying colors. Honestly, you could buy a set for yourself, and I don’t know that you’d be disappointed. </p><p>The weight and ANC are potential problems, but if your child isn’t bothered by headphone weight and doesn’t use ANC, these are good headphones. Plus, at $69, they won’t break the bank, making them one of the best pairs of kid headphones you can buy. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I compared Reddit's favorite audiophile headphones, then got something else instead — here's why ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In the world of high-end audio, things get very expensive, very fast. Hi-fi <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">headphones</a> go into four figures before you even know it, with speakers getting into the tens of thousands of dollars equally as easily. </p><p>I’m lucky that I get to test a fair bit of the pricey stuff for my job. But alas, I don’t really get to keep much of it, and I know most people can’t afford to drop thousands on their audio gear, either. </p><p>I decided to put together my real-world critical listening setup, a set of open back headphones and a DAC, on a real world budget of $500. Less than a set of mainstream <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">ANC cans</a> like the $549 <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2</a>. </p><p>Reddit had a couple of obvious suggestions, of course, namely the Sennheiser HD 650 or, for sheer budget, the HIFIMAN Sundara. But I chose to ignore both of those (sorry Reddit). Here’s what I got instead, and why.</p><h2 id="hot-meze-anyone">Hot Meze, anyone?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xTqreNSUN9fqaTPNpHL9Z" name="Sub 500 Audiophile Piece-1" alt="The HIFIMAN Sundara in hand" src="https://cdn.mos.cms.futurecdn.net/xTqreNSUN9fqaTPNpHL9Z.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The HIFIMAN Sundara </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>As I mentioned above, it would’ve been easy to go down the well-trodden route of the HIFIMAN Sundara or Sennheiser HD 650. They're the darlings of <a href="https://www.reddit.com/r/audiophile/" target="_blank">r/audiophile</a> and <a href="https://www.reddit.com/r/headphones/" target="_blank">r/headphones</a> (and, to be fair, for good reason). </p><div class="product"><a data-dimension112="3c174282-8ccc-11f1-90f7-c3a9eaf7ecde" data-action="Deal Block" data-label="Sundara" data-dimension48="Sundara" data-dimension25="$179" href="https://www.amazon.com/HIFIMAN-Audiophiles-Comfortable-Fit-Register-Manufacturers/dp/B088T14XB8/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1469px;"><p class="vanilla-image-block" style="padding-top:102.11%;"><img id="onkH9yboTGXXyyD8n4U4KC" name="HIFIMAN SUNDARA.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/onkH9yboTGXXyyD8n4U4KC.jpg" mos="" align="middle" fullscreen="" width="1469" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If budget is all that matters, the HIFIMAN Sundara are your best friend. These open back planar magnetic drivers are serious performers for the money. But they're built fairly cheaply and are a frequently returned item on Amazon.<a class="view-deal button" href="https://www.amazon.com/HIFIMAN-Audiophiles-Comfortable-Fit-Register-Manufacturers/dp/B088T14XB8/" target="_blank" rel="nofollow" data-dimension112="3c174282-8ccc-11f1-90f7-c3a9eaf7ecde" data-action="Deal Block" data-label="Sundara" data-dimension48="Sundara" data-dimension25="$179">View Deal</a></p></div><p>We use a set of Sundara for comparison testing at work. They sound great: spacious, with excellent bass response thanks to their planar drivers. They’re easy to drive and cheap too. But they’re cheap for a reason: the build quality is poor. Our pair sit on a shelf and suffer not the rigors of daily use, but there are many reports online of the headband breaking, and Amazon flags them as a “frequently returned product.” </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="2BQc72pmpMnexJ953mbmz" name="Sub 500 Audiophile Piece-2" alt="The HIFIMAN Sundara in hand" src="https://cdn.mos.cms.futurecdn.net/2BQc72pmpMnexJ953mbmz.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The HIFIMAN Sundara </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>So what about the Sennheiser HD 650? These are commonly recommended online for a reason: they sound fantastic, with a warm-ish neutral tune that’s ideal for detail listening. The thing is, I’m a motorcyclist and audio tester, so my ears don’t have an easy life. For personal headphones I prefer a warmer and slightly darker tune to avoid treble fatigue — easier-listening, so to speak.</p><div class="product"><a data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326" href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:702px;"><p class="vanilla-image-block" style="padding-top:179.49%;"><img id="Dj5ZXyVqXx6uajhsYPrCMF" name="Sennheiser HD 650" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dj5ZXyVqXx6uajhsYPrCMF.png" mos="" align="middle" fullscreen="" width="702" height="1260" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow" data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326">HD 650 (Renewed): was $579 now $326</a></strong><br>Right now, a renewed set of the Sennheiser HD 650 is reduced from $579 to $326, so it could be a great time to invest in these open back headphones, if their sound signature is what you're after.<a class="view-deal button" href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow" data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326">View Deal</a></p></div><p>The HD 650 can be very pricey, too. I’ve even seen them go above the $500 mark in the U.S. And finally, while not horrendously tricky to drive, the HD 650 aren’t exactly easy. While writing this, one of my colleagues had to borrow one of our powerful test DACs to drive his newly purchased pair of HD 650. Nice timing! </p><p>I was also considering the HD 550, but again I wanted that warmer, tad darker tune. Plus, to me, the HD 550 resemble a <em>particular anatomical diagram from biology class</em>…</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B7yFx3usVFWjtQxnUeRAFa" name="Sennheisser_HD550_Headphones_007.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/B7yFx3usVFWjtQxnUeRAFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Sennheiser HD 550... see what I mean? </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Anyway, instead I looked towards Romania, and Meze Audio. Specifically, the <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a>. At their $399 MSRP, these cans are fairly pricey, but attainable. As I write this, they’ve been selling at <a href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow">$299 for several weeks at Amazon</a>. At that price, I think these are an absolute steal, and some of the best value for money in the audiophile world. </p><div class="product"><a data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:148.22%;"><img id="xmYkvimHQJ4sKvyWXVzJSM" name="Meze 105 AER DEAL" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xmYkvimHQJ4sKvyWXVzJSM.jpg" mos="" align="middle" fullscreen="" width="900" height="1334" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Meze Audio 105 AER are, in my eyes, some of the best audiophile cans around in the mid-range. And right now, they're $100 off at Amazon, so it's a great time to pick up a pair. Check out our full <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank" data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299">Meze Audio 105 AER review</a> for more info.<a class="view-deal button" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow" data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299">View Deal</a></p></div><h2 id="genuine-all-day-comfort">Genuine all-day comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WgHuBH7TATCmNBBK72qif" name="Sub 500 Audiophile Piece-6" alt="The Meze 105 AER propped up on a stone plinth against a blue background" src="https://cdn.mos.cms.futurecdn.net/WgHuBH7TATCmNBBK72qif.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Meze 105 AER </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>The Meze 105 AER are utterly beautiful, with bags of Romanian Art Deco flair — pizzazz you definitely won’t get from the likes of Sennheiser. They’re vastly superior in build quality to the HIFIMAN Sundara (it’s actually crazy that at times the two pairs of headphones only sit as little as $120 apart). The 105 AER feel like much, <em>much</em> more expensive headphones. And with the gorgeous suspended headband and vegan velour pads, the 105 AER are comfortable for hours on end, too. </p><p>In fact, the headband deserves its own shout out. You don’t need to adjust the 105 AER, as the headband is perfectly sprung. And I mean “perfectly” quite literally: it adjusts to <em><strong>your</strong></em> head as you pull the headphones on, applying juuuust enough clamping pressure to override the spring and keep the cans sitting securely. It’s. Utterly. Glorious.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="2fTk8QEqnRgjDHatLmDpz" name="Sub 500 Audiophile Piece-8" alt="The Meze 105 AER headband in hand" src="https://cdn.mos.cms.futurecdn.net/2fTk8QEqnRgjDHatLmDpz.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I don’t like to parrot brands’ marketing, but Meze claims that you’ll forget the 105 AER are on your head, and they’re genuinely correct there. Partly that’s to do with the headband and earcups, but it’s also thanks to the extremely liveble sound profile…</p><h2 id="warm-easy-listening-sound">Warm, easy-listening sound</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="F9RJaEUmhUpoT7VcThYXA3" name="Sub 500 Audiophile Piece-5" alt="A man putting on the Meze 105 AER pulling out the earcups to fir the headband on his head" src="https://cdn.mos.cms.futurecdn.net/F9RJaEUmhUpoT7VcThYXA3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>Most importantly, the 105 AER boast stunning sound. The tuning is fairly warm, but strikes a nice balance between easy- and critical-listening, which I love. It’s not too clinical.</p><p>Bass is prominent and silky smooth. The 105 AER aren’t as subby as the Sundara with their planar drivers, and yeah, sometimes I miss that: Sohn’s <em>Antigravity,</em> for example, concludes with an enormous roll of sub bass that should be felt tingling in the temples. But I’ve got a trick up my sleeve to help with that in the DAC section below.</p><p>The 105 AER mid-range is the star of the show in my opinion. There’s so much steely texture to the distorted guitars in Metallica’s <em>Seek & Destroy</em> and The Smashing Pumpkins’ <em>Siva</em>. Vocals, meanwhile, also sound fantastic, with the 105 AER perfectly relaying the organic timbre of John Fogerty’s howling in CCR’s <em>Fortunate Son</em> — I could hear the rasps and crackles of his vocal cords as he roared in righteous indignation. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1999px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="KpqsRBEiVbZ4skwmdsGHz" name="Sub 500 Audiophile Piece-10" alt="The Meze 105 AER on their side on a stone surface with a blue backround" src="https://cdn.mos.cms.futurecdn.net/KpqsRBEiVbZ4skwmdsGHz.jpg" mos="" align="middle" fullscreen="" width="1999" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Meze 105 AER </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>Admittedly, treble isn’t the brightest, so you’re missing out on the sheer top-end resolution you’d get from something like the Sennheisers — there’s not quite the same level of crispness and detail to cymbals in <em>Fortunate Son</em>, or the shimmering backing effects in <em>Ikigai</em>. That said, they’re not dark enough for things to sound stifled or distant. The roll off also makes the 105 AER supremely easy to listen to for extended periods. They don’t give me cymbal fatigue, something I often get when listening to Copeland’s drumming throughout The Police’s <em>Outlandos D’Amour </em>album.</p><p>The 105 AER are also effortlessly spacious, which in fairness can be said about the HIFIMAN and Sennheiser too, as they’re all open back. Sohn’s <em>Antigravity</em> begins with super spatial percussion springing inward and out on the horizontal plane — imaged impressively by the Mezes.</p><p><em>Listen along to my testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em>, in our eyes the </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><em>best music streaming service </em></a><em>for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 id="but-how-to-drive-them">But how to drive them?</h2><p>As well as a set of headphones, I was also after a new DAC. The Meze 105 AER are passive headphones, so they need to be powered. They aren’t difficult to drive, with an impedance of 42Ω and a sensitivity rating of 112 dB/mW — in other words, they get pretty loud without much power. You can run them from your smartphone or laptop and they won’t be too quiet.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SQNtfDexx7h8GSYEekFaR" name="Sub 500 Audiophile Piece-3" alt="The FiiO K11 R2R on a stone surface with a headphone jack plugged in" src="https://cdn.mos.cms.futurecdn.net/SQNtfDexx7h8GSYEekFaR.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The FiiO K11 R2R </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>But just because they <em>can</em> be driven from your phone or laptop, that doesn’t mean they’ll sound their best that way. Often, you’ll get better sound using a dedicated DAC/Amp, which can feed headphones more power. </p><p>On passive headphones with low impedance (electrical resistance) a stable, quality power source like a dedicated amp will help keep the sound in check and free from distortion — without one, power fluctuations mean drivers can struggle to start and stop as sharply as they otherwise might. There’s technically the added sweetener of more accurate digital to analog signal conversion, too.</p><p>With $200 to spare, there were options. The <a href="https://www.amazon.com/FiiO-JadeAudio-Portable-Adapter-Compatible/dp/B0CJ6RKV6X" target="_blank" rel="nofollow">FiiO KA13</a> would be my choice on a lower budget. It offers FiiO’s typical transparency (so you’re hearing the tune of the headphones, not the profile of the DAC), plenty of power, a compact footprint and an equally small $79 price tag. But the KA13 lacks any hardware EQ or digital filters (unless using the god-awful FiiO app), which I like, as they let me play around with sound. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5787px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D4oPuNaqxw4H7vr9hmFaFW" name="Sub 500 Audiophile Piece-13" alt="The iFi hip dac 3 in a person's hand with a blue background" src="https://cdn.mos.cms.futurecdn.net/D4oPuNaqxw4H7vr9hmFaFW.jpg" mos="" align="middle" fullscreen="" width="5787" height="3255" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The iFi hip dac 3 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I also considered the $179 <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BB5RL1" target="_blank" rel="nofollow">FiiO K11 R2R</a>, which I’ve tested previously in the office. It’s also a transparent DAC, offers bags of power for trickier-to-drive upgrades in the future, and even has an upsampling mode, which can help give an airier sound. It’s a desktop DAC, though, so needs plugging in, which I find annoying.</p><p>In the end, I went for the $199 <a href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow">iFi hip dac 3</a>, for one primary reason: subby stuff. While it lacks the K11’s advanced features, the hip dac 3 has an Xbass mode that gives up to +6dB amplification in the 20-30Hz region. Remember that temple-shaking sub bass I said I enjoy in certain songs? Xbass delivers it at the push of a button, only when you want or need it. </p><div class="product"><a data-dimension112="d3fad384-8ccc-11f1-be1b-13fa7ef8f1fd" data-action="Deal Block" data-label="hip dac 3" data-dimension48="hip dac 3" data-dimension25="$199" href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="nuk45X9h92n87QWJrs5xNa" name="ifi hip dac 3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/nuk45X9h92n87QWJrs5xNa.jpg" mos="" align="middle" fullscreen="" width="1500" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The iFi hip dac 3 offers lots of power in a compact, portable body. It also features an Xbass mode to boost up very low frequencies, which is ideal for when you want some extra oomph at the low end.<a class="view-deal button" href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow" data-dimension112="d3fad384-8ccc-11f1-be1b-13fa7ef8f1fd" data-action="Deal Block" data-label="hip dac 3" data-dimension48="hip dac 3" data-dimension25="$199">View Deal</a></p></div><p>The hip dac 3 is also plenty powerful and compact enough to fit into my pocket — it’s shaped like a hip flask, hence the name. As a Brit, I like that buying it supports a British company, too (although, to be fair, the DAC itself is unsurprisingly still made in China).</p><h2 id="total-spend-498">Total spend: $498</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5525px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nmDtwCE74niLEjGeRbtZnf" name="Sub 500 Audiophile Piece-12 (1)" alt="An iPhone playing a song while connected to the iFi hip dac 3 and the Meze 105 AER on a stone surface" src="https://cdn.mos.cms.futurecdn.net/nmDtwCE74niLEjGeRbtZnf.jpg" mos="" align="middle" fullscreen="" width="5525" height="3108" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I’m really happy with this setup. I don’t think the Meze 105 AER will please fans of that clinical, reference sound. These are decidedly warm with some treble roll-off backing off the volume of high frequencies. Personally, though, I think the balance is ideal for daily use. </p><p>The slightly darker tune isn’t to the complete detriment of top end detail or space, yet makes them a very liveable set of cans day in, day out, all day while working. You get the picture. And best of all, even with my powerful little iFi DAC included, my setup still comes in cheaper than a set of AirPods Max 2!</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W21yoe"></div>                            </div>                            <script src="https://kwizly.com/embed/W21yoe.js" async></script><p>Let me know in the comments below - what's your favorite setup? Which cans do you wear every day? What's on your wishlist?</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/sennheiser-hd-550-review">Pound for pound, these Sennheiser open-back headphones are the best I’ve ever tested, and only cost $199 on sale</a></li><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/heddphone-two-gt-review">I tested the HEDDphone TWO GT — now I can't go back to normal headphones</a></li><li><a href="https://www.tomsguide.com/home/kitchen-dining/gozney-arc-xl-review">I spent a month eating virtually nothing but pizza to test the Gozney Arc XL — here’s the outcome</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/i-ignored-reddit-and-built-my-own-audiophile-headphone-setup-for-under-usd500-heres-the-gear-i-chose</link>
                                                                            <description>
                            <![CDATA[ No Sennheiser, no HIFIMAN. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Hz8WE3djYjnsfAbGb4kvy3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kk5B3Je4bNQ5DDsZg8ja73-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 02 Aug 2026 11:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 03 Aug 2026 08:12:43 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kk5B3Je4bNQ5DDsZg8ja73-1280-80.jpg">
                                                            <media:credit><![CDATA[Peter Wolinski]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A man holding three pairs of headphones and shrugging at the camera]]></media:description>                                                            <media:text><![CDATA[A man holding three pairs of headphones and shrugging at the camera]]></media:text>
                                <media:title type="plain"><![CDATA[A man holding three pairs of headphones and shrugging at the camera]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kk5B3Je4bNQ5DDsZg8ja73-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In the world of high-end audio, things get very expensive, very fast. Hi-fi <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">headphones</a> go into four figures before you even know it, with speakers getting into the tens of thousands of dollars equally as easily. </p><p>I’m lucky that I get to test a fair bit of the pricey stuff for my job. But alas, I don’t really get to keep much of it, and I know most people can’t afford to drop thousands on their audio gear, either. </p><p>I decided to put together my real-world critical listening setup, a set of open back headphones and a DAC, on a real world budget of $500. Less than a set of mainstream <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">ANC cans</a> like the $549 <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2</a>. </p><p>Reddit had a couple of obvious suggestions, of course, namely the Sennheiser HD 650 or, for sheer budget, the HIFIMAN Sundara. But I chose to ignore both of those (sorry Reddit). Here’s what I got instead, and why.</p><h2 id="hot-meze-anyone">Hot Meze, anyone?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xTqreNSUN9fqaTPNpHL9Z" name="Sub 500 Audiophile Piece-1" alt="The HIFIMAN Sundara in hand" src="https://cdn.mos.cms.futurecdn.net/xTqreNSUN9fqaTPNpHL9Z.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The HIFIMAN Sundara </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>As I mentioned above, it would’ve been easy to go down the well-trodden route of the HIFIMAN Sundara or Sennheiser HD 650. They're the darlings of <a href="https://www.reddit.com/r/audiophile/" target="_blank">r/audiophile</a> and <a href="https://www.reddit.com/r/headphones/" target="_blank">r/headphones</a> (and, to be fair, for good reason). </p><div class="product"><a data-dimension112="3c174282-8ccc-11f1-90f7-c3a9eaf7ecde" data-action="Deal Block" data-label="Sundara" data-dimension48="Sundara" data-dimension25="$179" href="https://www.amazon.com/HIFIMAN-Audiophiles-Comfortable-Fit-Register-Manufacturers/dp/B088T14XB8/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1469px;"><p class="vanilla-image-block" style="padding-top:102.11%;"><img id="onkH9yboTGXXyyD8n4U4KC" name="HIFIMAN SUNDARA.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/onkH9yboTGXXyyD8n4U4KC.jpg" mos="" align="middle" fullscreen="" width="1469" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If budget is all that matters, the HIFIMAN Sundara are your best friend. These open back planar magnetic drivers are serious performers for the money. But they're built fairly cheaply and are a frequently returned item on Amazon.<a class="view-deal button" href="https://www.amazon.com/HIFIMAN-Audiophiles-Comfortable-Fit-Register-Manufacturers/dp/B088T14XB8/" target="_blank" rel="nofollow" data-dimension112="3c174282-8ccc-11f1-90f7-c3a9eaf7ecde" data-action="Deal Block" data-label="Sundara" data-dimension48="Sundara" data-dimension25="$179">View Deal</a></p></div><p>We use a set of Sundara for comparison testing at work. They sound great: spacious, with excellent bass response thanks to their planar drivers. They’re easy to drive and cheap too. But they’re cheap for a reason: the build quality is poor. Our pair sit on a shelf and suffer not the rigors of daily use, but there are many reports online of the headband breaking, and Amazon flags them as a “frequently returned product.” </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="2BQc72pmpMnexJ953mbmz" name="Sub 500 Audiophile Piece-2" alt="The HIFIMAN Sundara in hand" src="https://cdn.mos.cms.futurecdn.net/2BQc72pmpMnexJ953mbmz.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The HIFIMAN Sundara </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>So what about the Sennheiser HD 650? These are commonly recommended online for a reason: they sound fantastic, with a warm-ish neutral tune that’s ideal for detail listening. The thing is, I’m a motorcyclist and audio tester, so my ears don’t have an easy life. For personal headphones I prefer a warmer and slightly darker tune to avoid treble fatigue — easier-listening, so to speak.</p><div class="product"><a data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326" href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:702px;"><p class="vanilla-image-block" style="padding-top:179.49%;"><img id="Dj5ZXyVqXx6uajhsYPrCMF" name="Sennheiser HD 650" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Dj5ZXyVqXx6uajhsYPrCMF.png" mos="" align="middle" fullscreen="" width="702" height="1260" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow" data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326">HD 650 (Renewed): was $579 now $326</a></strong><br>Right now, a renewed set of the Sennheiser HD 650 is reduced from $579 to $326, so it could be a great time to invest in these open back headphones, if their sound signature is what you're after.<a class="view-deal button" href="https://www.amazon.com/Sennheiser-HD-650-Professional-Headphone/dp/B00018MSNI/" target="_blank" rel="nofollow" data-dimension112="f9a53346-8ccb-11f1-b743-ad6ee64dd35d" data-action="Deal Block" data-label="HD 650 (Renewed)" data-dimension48="HD 650 (Renewed)" data-dimension25="$326">View Deal</a></p></div><p>The HD 650 can be very pricey, too. I’ve even seen them go above the $500 mark in the U.S. And finally, while not horrendously tricky to drive, the HD 650 aren’t exactly easy. While writing this, one of my colleagues had to borrow one of our powerful test DACs to drive his newly purchased pair of HD 650. Nice timing! </p><p>I was also considering the HD 550, but again I wanted that warmer, tad darker tune. Plus, to me, the HD 550 resemble a <em>particular anatomical diagram from biology class</em>…</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B7yFx3usVFWjtQxnUeRAFa" name="Sennheisser_HD550_Headphones_007.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/B7yFx3usVFWjtQxnUeRAFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Sennheiser HD 550... see what I mean? </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Anyway, instead I looked towards Romania, and Meze Audio. Specifically, the <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a>. At their $399 MSRP, these cans are fairly pricey, but attainable. As I write this, they’ve been selling at <a href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow">$299 for several weeks at Amazon</a>. At that price, I think these are an absolute steal, and some of the best value for money in the audiophile world. </p><div class="product"><a data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:148.22%;"><img id="xmYkvimHQJ4sKvyWXVzJSM" name="Meze 105 AER DEAL" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xmYkvimHQJ4sKvyWXVzJSM.jpg" mos="" align="middle" fullscreen="" width="900" height="1334" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Meze Audio 105 AER are, in my eyes, some of the best audiophile cans around in the mid-range. And right now, they're $100 off at Amazon, so it's a great time to pick up a pair. Check out our full <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank" data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299">Meze Audio 105 AER review</a> for more info.<a class="view-deal button" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM" target="_blank" rel="nofollow" data-dimension112="83d74478-8ccc-11f1-a80c-e1018ba85356" data-action="Deal Block" data-label="105 AER" data-dimension48="105 AER" data-dimension25="$299">View Deal</a></p></div><h2 id="genuine-all-day-comfort">Genuine all-day comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WgHuBH7TATCmNBBK72qif" name="Sub 500 Audiophile Piece-6" alt="The Meze 105 AER propped up on a stone plinth against a blue background" src="https://cdn.mos.cms.futurecdn.net/WgHuBH7TATCmNBBK72qif.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Meze 105 AER </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>The Meze 105 AER are utterly beautiful, with bags of Romanian Art Deco flair — pizzazz you definitely won’t get from the likes of Sennheiser. They’re vastly superior in build quality to the HIFIMAN Sundara (it’s actually crazy that at times the two pairs of headphones only sit as little as $120 apart). The 105 AER feel like much, <em>much</em> more expensive headphones. And with the gorgeous suspended headband and vegan velour pads, the 105 AER are comfortable for hours on end, too. </p><p>In fact, the headband deserves its own shout out. You don’t need to adjust the 105 AER, as the headband is perfectly sprung. And I mean “perfectly” quite literally: it adjusts to <em><strong>your</strong></em> head as you pull the headphones on, applying juuuust enough clamping pressure to override the spring and keep the cans sitting securely. It’s. Utterly. Glorious.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="2fTk8QEqnRgjDHatLmDpz" name="Sub 500 Audiophile Piece-8" alt="The Meze 105 AER headband in hand" src="https://cdn.mos.cms.futurecdn.net/2fTk8QEqnRgjDHatLmDpz.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I don’t like to parrot brands’ marketing, but Meze claims that you’ll forget the 105 AER are on your head, and they’re genuinely correct there. Partly that’s to do with the headband and earcups, but it’s also thanks to the extremely liveble sound profile…</p><h2 id="warm-easy-listening-sound">Warm, easy-listening sound</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="F9RJaEUmhUpoT7VcThYXA3" name="Sub 500 Audiophile Piece-5" alt="A man putting on the Meze 105 AER pulling out the earcups to fir the headband on his head" src="https://cdn.mos.cms.futurecdn.net/F9RJaEUmhUpoT7VcThYXA3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>Most importantly, the 105 AER boast stunning sound. The tuning is fairly warm, but strikes a nice balance between easy- and critical-listening, which I love. It’s not too clinical.</p><p>Bass is prominent and silky smooth. The 105 AER aren’t as subby as the Sundara with their planar drivers, and yeah, sometimes I miss that: Sohn’s <em>Antigravity,</em> for example, concludes with an enormous roll of sub bass that should be felt tingling in the temples. But I’ve got a trick up my sleeve to help with that in the DAC section below.</p><p>The 105 AER mid-range is the star of the show in my opinion. There’s so much steely texture to the distorted guitars in Metallica’s <em>Seek & Destroy</em> and The Smashing Pumpkins’ <em>Siva</em>. Vocals, meanwhile, also sound fantastic, with the 105 AER perfectly relaying the organic timbre of John Fogerty’s howling in CCR’s <em>Fortunate Son</em> — I could hear the rasps and crackles of his vocal cords as he roared in righteous indignation. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1999px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="KpqsRBEiVbZ4skwmdsGHz" name="Sub 500 Audiophile Piece-10" alt="The Meze 105 AER on their side on a stone surface with a blue backround" src="https://cdn.mos.cms.futurecdn.net/KpqsRBEiVbZ4skwmdsGHz.jpg" mos="" align="middle" fullscreen="" width="1999" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Meze 105 AER </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>Admittedly, treble isn’t the brightest, so you’re missing out on the sheer top-end resolution you’d get from something like the Sennheisers — there’s not quite the same level of crispness and detail to cymbals in <em>Fortunate Son</em>, or the shimmering backing effects in <em>Ikigai</em>. That said, they’re not dark enough for things to sound stifled or distant. The roll off also makes the 105 AER supremely easy to listen to for extended periods. They don’t give me cymbal fatigue, something I often get when listening to Copeland’s drumming throughout The Police’s <em>Outlandos D’Amour </em>album.</p><p>The 105 AER are also effortlessly spacious, which in fairness can be said about the HIFIMAN and Sennheiser too, as they’re all open back. Sohn’s <em>Antigravity</em> begins with super spatial percussion springing inward and out on the horizontal plane — imaged impressively by the Mezes.</p><p><em>Listen along to my testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em>, in our eyes the </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><em>best music streaming service </em></a><em>for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 id="but-how-to-drive-them">But how to drive them?</h2><p>As well as a set of headphones, I was also after a new DAC. The Meze 105 AER are passive headphones, so they need to be powered. They aren’t difficult to drive, with an impedance of 42Ω and a sensitivity rating of 112 dB/mW — in other words, they get pretty loud without much power. You can run them from your smartphone or laptop and they won’t be too quiet.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SQNtfDexx7h8GSYEekFaR" name="Sub 500 Audiophile Piece-3" alt="The FiiO K11 R2R on a stone surface with a headphone jack plugged in" src="https://cdn.mos.cms.futurecdn.net/SQNtfDexx7h8GSYEekFaR.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The FiiO K11 R2R </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>But just because they <em>can</em> be driven from your phone or laptop, that doesn’t mean they’ll sound their best that way. Often, you’ll get better sound using a dedicated DAC/Amp, which can feed headphones more power. </p><p>On passive headphones with low impedance (electrical resistance) a stable, quality power source like a dedicated amp will help keep the sound in check and free from distortion — without one, power fluctuations mean drivers can struggle to start and stop as sharply as they otherwise might. There’s technically the added sweetener of more accurate digital to analog signal conversion, too.</p><p>With $200 to spare, there were options. The <a href="https://www.amazon.com/FiiO-JadeAudio-Portable-Adapter-Compatible/dp/B0CJ6RKV6X" target="_blank" rel="nofollow">FiiO KA13</a> would be my choice on a lower budget. It offers FiiO’s typical transparency (so you’re hearing the tune of the headphones, not the profile of the DAC), plenty of power, a compact footprint and an equally small $79 price tag. But the KA13 lacks any hardware EQ or digital filters (unless using the god-awful FiiO app), which I like, as they let me play around with sound. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5787px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D4oPuNaqxw4H7vr9hmFaFW" name="Sub 500 Audiophile Piece-13" alt="The iFi hip dac 3 in a person's hand with a blue background" src="https://cdn.mos.cms.futurecdn.net/D4oPuNaqxw4H7vr9hmFaFW.jpg" mos="" align="middle" fullscreen="" width="5787" height="3255" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The iFi hip dac 3 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I also considered the $179 <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BB5RL1" target="_blank" rel="nofollow">FiiO K11 R2R</a>, which I’ve tested previously in the office. It’s also a transparent DAC, offers bags of power for trickier-to-drive upgrades in the future, and even has an upsampling mode, which can help give an airier sound. It’s a desktop DAC, though, so needs plugging in, which I find annoying.</p><p>In the end, I went for the $199 <a href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow">iFi hip dac 3</a>, for one primary reason: subby stuff. While it lacks the K11’s advanced features, the hip dac 3 has an Xbass mode that gives up to +6dB amplification in the 20-30Hz region. Remember that temple-shaking sub bass I said I enjoy in certain songs? Xbass delivers it at the push of a button, only when you want or need it. </p><div class="product"><a data-dimension112="d3fad384-8ccc-11f1-be1b-13fa7ef8f1fd" data-action="Deal Block" data-label="hip dac 3" data-dimension48="hip dac 3" data-dimension25="$199" href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="nuk45X9h92n87QWJrs5xNa" name="ifi hip dac 3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/nuk45X9h92n87QWJrs5xNa.jpg" mos="" align="middle" fullscreen="" width="1500" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The iFi hip dac 3 offers lots of power in a compact, portable body. It also features an Xbass mode to boost up very low frequencies, which is ideal for when you want some extra oomph at the low end.<a class="view-deal button" href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH/" target="_blank" rel="nofollow" data-dimension112="d3fad384-8ccc-11f1-be1b-13fa7ef8f1fd" data-action="Deal Block" data-label="hip dac 3" data-dimension48="hip dac 3" data-dimension25="$199">View Deal</a></p></div><p>The hip dac 3 is also plenty powerful and compact enough to fit into my pocket — it’s shaped like a hip flask, hence the name. As a Brit, I like that buying it supports a British company, too (although, to be fair, the DAC itself is unsurprisingly still made in China).</p><h2 id="total-spend-498">Total spend: $498</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5525px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nmDtwCE74niLEjGeRbtZnf" name="Sub 500 Audiophile Piece-12 (1)" alt="An iPhone playing a song while connected to the iFi hip dac 3 and the Meze 105 AER on a stone surface" src="https://cdn.mos.cms.futurecdn.net/nmDtwCE74niLEjGeRbtZnf.jpg" mos="" align="middle" fullscreen="" width="5525" height="3108" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Peter Wolinski)</span></figcaption></figure><p>I’m really happy with this setup. I don’t think the Meze 105 AER will please fans of that clinical, reference sound. These are decidedly warm with some treble roll-off backing off the volume of high frequencies. Personally, though, I think the balance is ideal for daily use. </p><p>The slightly darker tune isn’t to the complete detriment of top end detail or space, yet makes them a very liveable set of cans day in, day out, all day while working. You get the picture. And best of all, even with my powerful little iFi DAC included, my setup still comes in cheaper than a set of AirPods Max 2!</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W21yoe"></div>                            </div>                            <script src="https://kwizly.com/embed/W21yoe.js" async></script><p>Let me know in the comments below - what's your favorite setup? Which cans do you wear every day? What's on your wishlist?</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/sennheiser-hd-550-review">Pound for pound, these Sennheiser open-back headphones are the best I’ve ever tested, and only cost $199 on sale</a></li><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/heddphone-two-gt-review">I tested the HEDDphone TWO GT — now I can't go back to normal headphones</a></li><li><a href="https://www.tomsguide.com/home/kitchen-dining/gozney-arc-xl-review">I spent a month eating virtually nothing but pizza to test the Gozney Arc XL — here’s the outcome</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I put the most expensive ANC headphones you can buy to the test — here’s what $2,200 gets you ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Bang & Olufsen Beoplay H100 are a set of luxury over-ear ANC headphones from the legendary Danish high-end audio manufacturer. I’ve seen these cans described online as the Rolex of headphones, and that sentiment tracks pretty true. These things cost $2,200 in the U.S. these days, so yeah, we’re into 1% territory here.</p><p>When it comes to build and comfort, the H100 are truly a luxury product. They also pack some impressive features, boasting the last word in wear detection and a fantastic app. Sound quality is solid, although I had to do a little EQing to match my preference.</p><p>Aside from that, and some minor connectivity gripes, I really have very little to say against the H100. If you can afford them, I’m sure they’ll make you very happy. So, could these be the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for millionaires? Find out in my full Bang & Olufsen Beoplay H100 review.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-specs"><span>Bang & Olufsen Beoplay H100 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Bang-Olufsen-Cancelling-Headphones-Protective/dp/B0DDPQD9JH" target="_blank" rel="nofollow">$2,200</a> / <a href="https://www.amazon.co.uk/Bang-Olufsen-Headphones-Cancelling-Bluetooth/dp/B0DDPQD9JH/" target="_blank" rel="nofollow">£1,450</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm Electro-dynamic Titanium Driver</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>10 - 40,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP53</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth version 5.3; USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>32 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>13.2 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Brown; black; sand; apricot</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-price-availability"><span>Bang & Olufsen Beoplay H100 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3jNTJ9gqvXubCFM2kXzQpe" name="Bang & Olufsen Beoplay H100-1.JPG" alt="The Bang & Olufsen Beoplay H100 and case on a blue background" src="https://cdn.mos.cms.futurecdn.net/3jNTJ9gqvXubCFM2kXzQpe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s no getting around it, at <a href="https://www.amazon.com/Bang-Olufsen-Cancelling-Headphones-Protective/dp/B0DDPQD9JH">$2,200 </a>the H100s are eye-wateringly expensive in the States. Admittedly, the H100 are at an all-time high right now, likely thanks to tariffs, and have been hiked from $1,549 back in May 2025. We’ve since seen them drop back to around $1,750 during sales events — scant consolation, I know. </p><p>In the U.K. where I live, the H100s are still very pricey, but retail for a decidedly more palatable <a href="https://www.amazon.co.uk/Bang-Olufsen-Headphones-Cancelling-Bluetooth/dp/B0DDPQD9JH/">£1,450</a>, although as I write this they’re on sale for £1,299. I would definitely advise waiting for a sale — or for one of B&O’s “<a href="https://www.bang-olufsen.com/en/gb/home/reloved">Reloved</a>” refurbished fire sales.  </p><p>The only more expensive ANC headphones that I can think of are six-figure jewel-encrusted limited runs like the Loewe LEO x Jacob & Co. As far as consumer cans go, the closest and only real rivals to the H100 are the Loewe LEO ($1,680) and <a href="https://www.tomsguide.com/audio/over-ear-headphones/these-might-be-the-best-sounding-headphones-ive-ever-tested-and-you-wont-believe-the-price">DALI IO-12</a> ($1,750). The IO-12 sound beautiful, but lack features like ANC modes or a companion app for custom EQ. There’s also the <a href="https://www.tomsguide.com/audio/i-just-tested-these-usd1-299-headphones-with-magnesium-drivers-and-they-could-be-your-next-pair-of-premium-anc-cans">Focal Bathys MG</a> ($1,299), which offer supreme magnesium build quality and gorgeous sound, although cost nearly a grand less. </p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-design"><span>Bang & Olufsen Beoplay H100 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPa8UJjQHzf9ABMoLnXute" name="Bang & Olufsen Beoplay H100-9.JPG" alt="The Bang & Olufsen Beoplay H100 headband being removed" src="https://cdn.mos.cms.futurecdn.net/vPa8UJjQHzf9ABMoLnXute.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 are built as you’d expect from $2,200 cans: exquisitely. The aluminum machining is nanometer-precise, with not a single imperfection to see. Then there are the earcups. Pillow-soft doesn’t cut it. These things are soft like a chinchilla wrapped in silk and marshmallow, sitting on a cloud. They’re not <em>actually</em> made from chinchilla, I ought to add. Unfortunately, they are <em>actually</em> made of lambskin leather, and for a vegan that’s just as bad. There are no vegan replacement options, either. </p><p>The thick, comfy headband is wrapped in good ol’ cow leather, and clicks off if you need to replace it. These cans are intended to last you a long time, so B&O has made it easy to swap out parts. I love that.</p><p>If I had one minor design complaint, it’s that, while they look utterly luxe, the H100 aren’t particularly striking. Not that it matters when they’re on your head, of course. And besides, if you’ve spent $2,200 on headphones, it’s probably best they don’t stand out.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="afdj9aqMVhcuTiq7NuELme" name="Bang & Olufsen Beoplay H100-10.JPG" alt="The Bang & Olufsen Beoplay H100 case" src="https://cdn.mos.cms.futurecdn.net/afdj9aqMVhcuTiq7NuELme.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 come with an ultra-premium protective case that looks like a designer handbag. Not only does it look great and protect your cans, it’s a lot more flexible and forgiving than the solid and scratch-prone case of the younger B&O sibling, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>.</p><h3 id="comfort-4">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9ZQZCrdAWNZHKrwu2FZre" name="Bang & Olufsen Beoplay H100-5.JPG" alt="The Bang & Olufsen Beoplay H100 earcups on a stone surface" src="https://cdn.mos.cms.futurecdn.net/R9ZQZCrdAWNZHKrwu2FZre.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As might be obvious from my prior gushing, the H100s are extremely comfortable to wear. You don’t get the sheer breeziness of a suspended headband design, as on a lot of open-back audiophile cans, but it’s not like the H100s are heavy enough to give your neck or noggin any real problems.</p><h3 id="weatherproofing-2">Weatherproofing</h3><p>The H100 have an IP53 rating, so they’re dustproof enough for the beach and waterproof enough for the odd bit of sweat or a light rain shower. This suits them nicely to the role of daily driver — remember, most over-ear headphones have no waterproofing.</p><h3 id="controls-3">Controls</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZzvqPrUS3zMp3fq5aCnrme" name="Bang & Olufsen Beoplay H100-7.JPG" alt="The Bang & Olufsen Beoplay H100 earcups in hand on a stone surface" src="https://cdn.mos.cms.futurecdn.net/ZzvqPrUS3zMp3fq5aCnrme.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I love the H100 controls, which are very similar to those on the H95. There are two wheels for volume and ANC levels; a touchpad with taps and swipey-swipes for controlling playback; and a button for shifting between ANC modes. Once you know your way around, it’s highly intuitive. It’s also reliable — I’ve never missed an input and the controls prove surprisingly difficult to engage accidentally. Everything is also fully customizable in the B&O app, so you can make the controls your own.</p><p>The H100 also feature excellent wear detection. After a short (customizable) while off your head, though, they’ll also power off and back on automatically, saving battery. There’s also single earcup detection, so you can just raise an earcup to talk to someone if needed — very handy.</p><h3 id="connectivity-5">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iuQb52nwzT2wK7acCKNFte" name="Bang & Olufsen Beoplay H100-8.JPG" alt="The Bang & Olufsen Beoplay H100 with the USB-C cable in hand" src="https://cdn.mos.cms.futurecdn.net/iuQb52nwzT2wK7acCKNFte.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 are a little behind the times in 2026 as I write this, sporting only Bluetooth 5.3, which offers less stability, inferior power consumption and narrower codec support than the latest version 6.0. But hey, the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2</a> launched in 2026 with only 5.4, so it’s not just B&O at the back.</p><p>The H100 only support AAC and SBC Bluetooth codecs. The B&O website says: “<em>The selected codec solutions are more relevant for the Beoplay H100 design and performance profile than LDAC, which is only supported by specific devices.</em>” Utter baloney. It’s not a binary issue: every LDAC device I’ve ever seen, tested or owned also supports SBC and AAC.</p><p>Personally, advanced codec support bothers me very little. I only use Bluetooth when out and about or working, and therefore not listening particularly critically. But I can see how the lack of hi-res codecs could be frustrating when paying $2,200.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-sound-quality"><span>Bang & Olufsen Beoplay H100 review: Sound quality</span></h2><p>I tested the H100 using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, in our eyes the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for audiophiles. I streamed in hi-res or CD quality and over USB-C.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1273px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fciokjhYuNz5NYSSHsFAqe" name="Bang & Olufsen Beoplay H100-4.JPG" alt="The Bang & Olufsen Beoplay H100 on a blue background" src="https://cdn.mos.cms.futurecdn.net/v2/t:364,l:350,cw:1273,ch:716,q:80/fciokjhYuNz5NYSSHsFAqe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Putting the H100 on, the first thing I noticed was the warmth. Bass is thick and rich, but fast and well-controlled nevertheless — the surreal oscillating bassline of James Blake’s <em>Limit To You Love</em> was delivered with absolute precision. I was particularly impressed with the sub bass, too. I haven’t yet tested a set of closed backs with as much oomph in the subby section of SOHN’s <em>Antigravity</em>. It's almost high-end planar performance.</p><p>I found the default Optimal EQ a little too dark for my preference, especially with ANC on. Treble and upper mids sounded somewhat muted and hazy; vocals soft and distant. Thankfully, there’s a custom EQ in the B&O app so you can dial in the sound to your liking. It’s not the most comprehensive EQ, with adjustments made based on the sound characteristics you want, but it <em>is </em>user-friendly and quick. I tweaked the sound to be more energetic and the upper range cleaned up nicely.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NKgw4SZJgzvEmKXSCZXbQ8" name="Bang & Olufsen Beoplay H100 Screenshots-2" alt="A screenshot of the B&O app" src="https://cdn.mos.cms.futurecdn.net/NKgw4SZJgzvEmKXSCZXbQ8.jpg" mos="" align="middle" fullscreen="1" width="2000" height="1125" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/NKgw4SZJgzvEmKXSCZXbQ8.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>EQ’d up, the resolution and speed of the drivers across the frequency range was on full display. Mids, especially guitars, had plenty of definition and texture in sludgy tracks like Melvins’ <em>Honey Bucket</em> and <em>Siva</em> by The Smashing Pumpkins. In bassy electronica like Dusky’s <em>Stick By This</em><em><strong> </strong></em>and<em><strong> </strong></em>Burn Water’s<em> Ikigai</em>, the added airiness helped ethereal backing effects shine. Vocals were clean and pronounced, with natural timbre and strong separation to the harmonies in Blusher’s cover of <em>Your Love Is My Drug</em>.</p><p>Overall, I’m pleased with how the H100 sound. The default EQ tuning isn’t for me, as I felt it was a little too dark at the top end. But it’s fine, because if you want something else, the H100 let you get exactly what you’re after via EQ, and can handle pretty much anything. </p><p><em>Listen along to my testing playlist on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h3 id="soundstage">Soundstage</h3><p>B&O claims the H100 are tuned with spatiality and Dolby Atmos media streaming in mind. Indeed, in the app’s Stereo Spatial mode, the springy opening percussion of <em>Antigravity</em> pinged inwards and outwards with an impressive amount of width for closed backs. </p><p>Using the Dolby Atmos mode, there was an equally wide soundstage on display in the two movies I watched, <em>Dune</em> and <em>Dune: Part Two</em>. In Paul’s hallucinations on Arrakis, hearing the shimmering foley effects sparkling all around my head was like being in a movie theater, especially when combined with that hammering bass.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-anc"><span>Bang & Olufsen Beoplay H100 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vfPMCK9eSuhzYbzRs62Xre" name="Bang & Olufsen Beoplay H100-11.JPG" alt="The Bang & Olufsen Beoplay H100 being worn on a person's head against a blue background" src="https://cdn.mos.cms.futurecdn.net/vfPMCK9eSuhzYbzRs62Xre.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100’s ANC is extremely good. I live next to a very busy road. So, at rush hour, I opened and sat next to the window with the H100 on my head, using maximum ANC and my music volume at around 50%. I could barely hear a thing from outside. Trucks, motorcycles, cars — all blocked save the odd faint whoosh during quieter moments in songs. In the office, I couldn’t hear my colleagues talking around me, or their music being played. </p><p>Not bad at all from the H100, although I’d say my <em>much cheaper</em> <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a> are equally as proficient (they even managed to cut the noise of a screaming baby directly in front of me on a plane returning from, of all places, Denmark).</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-call-quality"><span>Bang & Olufsen Beoplay H100 review: Call quality</span></h2><p>The H100 call quality is fairly run-of-the-mill. I called my wife over WiFi and she reported that I sounded a little quiet and distant — she had to take me off loudspeaker<strong> </strong>to hear. After that, though, she said the clarity of my voice was pretty good, and she could make out everything I was saying. It's like 3.6 Roentgen: not great, not terrible.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-app"><span>Bang & Olufsen Beoplay H100 review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wkw4qsksthmm6ynnpPRxN8" name="Bang & Olufsen Beoplay H100 Screenshots-1" alt="A screenshot of the B&O app" src="https://cdn.mos.cms.futurecdn.net/wkw4qsksthmm6ynnpPRxN8.jpg" mos="" align="middle" fullscreen="1" width="2000" height="1125" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/wkw4qsksthmm6ynnpPRxN8.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>The B&O app is excellent. It’s slick and polished, giving you full control over controls and the custom EQ. My only gripe is that the EQ is a little basic — as I mentioned earlier, it's a circle with various characteristics, rather than a proper parametric equalizer. But hey: it works, and it's quick.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-battery-life"><span>Bang & Olufsen Beoplay H100 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UbaHtZ4X6zwQzSKm6NYZoe" name="Bang & Olufsen Beoplay H100-6.JPG" alt="The Bang & Olufsen Beoplay H100 earcups in hand on a stone surface" src="https://cdn.mos.cms.futurecdn.net/UbaHtZ4X6zwQzSKm6NYZoe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Bang & Olufsen claims the H100 will last 32 hours with ANC on, which is really strong. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra (Gen 2)</a> and Bowers & Wilkins Px8 S2 will all give you a respectable 30 hours, while the Apple AirPods Max 2 last just 20. </p><p>After using the headphones for around 7-8 hours over the course of two days in testing, the battery dropped to 74%, which correlates to the manufacturer-stated figure. I only had to charge the cans once during the week I tested them. Not bad at all.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-verdict"><span>Bang & Olufsen Beoplay H100 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JEwMfyuQThtrr3nX3cyboe" name="Bang & Olufsen Beoplay H100-2.JPG" alt="The Bang & Olufsen Beoplay H100 on a blue background" src="https://cdn.mos.cms.futurecdn.net/JEwMfyuQThtrr3nX3cyboe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Obviously, the elephant in the room here is price. The H100 are a flagship product from a high-end audio brand, so they were always going to be spenny. And it’s not like they don’t justify their position at the top of B&O’s range. Their sound quality and custom EQ are fantastic, the ANC is top-notch, they’re packed full of features to make your life easier, and they’re literally built to last a decade (or more). </p><p>I’m not going to tell you that they’re <em>$1,300</em> better than the Bowers & Wilkins Px8 S2 or B&O’s own H95, though. Because that simply isn’t true. You can get more value for money elsewhere. But you probably already knew that.</p><p>In the end, the Bang & Olufsen Beoplay H100 are a gloriously extravagant status symbol. In my eyes, they’re probably the best over-ear ANC headphones you can get, performance- and quality-wise. But if you want the best, you’re gonna have to pay through the nose for it. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/bang-and-olufsen-beoplay-h100-review</link>
                                                                            <description>
                            <![CDATA[ The Bang & Olufsen Beoplay H100 are flagship headphones which demand a jaw-dropping price for the privilege. But I can’t deny how well they perform. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3C2vDWYubgYMuQqbRQbyBG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JB4cAZEw4LXHiUm38cPKse-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 01 Aug 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/JB4cAZEw4LXHiUm38cPKse-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Bang &amp; Olufsen Beoplay H100 being dangled in hand]]></media:description>                                                            <media:text><![CDATA[The Bang &amp; Olufsen Beoplay H100 being dangled in hand]]></media:text>
                                <media:title type="plain"><![CDATA[The Bang &amp; Olufsen Beoplay H100 being dangled in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JB4cAZEw4LXHiUm38cPKse-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Bang & Olufsen Beoplay H100 are a set of luxury over-ear ANC headphones from the legendary Danish high-end audio manufacturer. I’ve seen these cans described online as the Rolex of headphones, and that sentiment tracks pretty true. These things cost $2,200 in the U.S. these days, so yeah, we’re into 1% territory here.</p><p>When it comes to build and comfort, the H100 are truly a luxury product. They also pack some impressive features, boasting the last word in wear detection and a fantastic app. Sound quality is solid, although I had to do a little EQing to match my preference.</p><p>Aside from that, and some minor connectivity gripes, I really have very little to say against the H100. If you can afford them, I’m sure they’ll make you very happy. So, could these be the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for millionaires? Find out in my full Bang & Olufsen Beoplay H100 review.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-specs"><span>Bang & Olufsen Beoplay H100 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Bang-Olufsen-Cancelling-Headphones-Protective/dp/B0DDPQD9JH" target="_blank" rel="nofollow">$2,200</a> / <a href="https://www.amazon.co.uk/Bang-Olufsen-Headphones-Cancelling-Bluetooth/dp/B0DDPQD9JH/" target="_blank" rel="nofollow">£1,450</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm Electro-dynamic Titanium Driver</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>10 - 40,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP53</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth version 5.3; USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>32 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>13.2 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Brown; black; sand; apricot</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-price-availability"><span>Bang & Olufsen Beoplay H100 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3jNTJ9gqvXubCFM2kXzQpe" name="Bang & Olufsen Beoplay H100-1.JPG" alt="The Bang & Olufsen Beoplay H100 and case on a blue background" src="https://cdn.mos.cms.futurecdn.net/3jNTJ9gqvXubCFM2kXzQpe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s no getting around it, at <a href="https://www.amazon.com/Bang-Olufsen-Cancelling-Headphones-Protective/dp/B0DDPQD9JH">$2,200 </a>the H100s are eye-wateringly expensive in the States. Admittedly, the H100 are at an all-time high right now, likely thanks to tariffs, and have been hiked from $1,549 back in May 2025. We’ve since seen them drop back to around $1,750 during sales events — scant consolation, I know. </p><p>In the U.K. where I live, the H100s are still very pricey, but retail for a decidedly more palatable <a href="https://www.amazon.co.uk/Bang-Olufsen-Headphones-Cancelling-Bluetooth/dp/B0DDPQD9JH/">£1,450</a>, although as I write this they’re on sale for £1,299. I would definitely advise waiting for a sale — or for one of B&O’s “<a href="https://www.bang-olufsen.com/en/gb/home/reloved">Reloved</a>” refurbished fire sales.  </p><p>The only more expensive ANC headphones that I can think of are six-figure jewel-encrusted limited runs like the Loewe LEO x Jacob & Co. As far as consumer cans go, the closest and only real rivals to the H100 are the Loewe LEO ($1,680) and <a href="https://www.tomsguide.com/audio/over-ear-headphones/these-might-be-the-best-sounding-headphones-ive-ever-tested-and-you-wont-believe-the-price">DALI IO-12</a> ($1,750). The IO-12 sound beautiful, but lack features like ANC modes or a companion app for custom EQ. There’s also the <a href="https://www.tomsguide.com/audio/i-just-tested-these-usd1-299-headphones-with-magnesium-drivers-and-they-could-be-your-next-pair-of-premium-anc-cans">Focal Bathys MG</a> ($1,299), which offer supreme magnesium build quality and gorgeous sound, although cost nearly a grand less. </p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-design"><span>Bang & Olufsen Beoplay H100 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPa8UJjQHzf9ABMoLnXute" name="Bang & Olufsen Beoplay H100-9.JPG" alt="The Bang & Olufsen Beoplay H100 headband being removed" src="https://cdn.mos.cms.futurecdn.net/vPa8UJjQHzf9ABMoLnXute.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 are built as you’d expect from $2,200 cans: exquisitely. The aluminum machining is nanometer-precise, with not a single imperfection to see. Then there are the earcups. Pillow-soft doesn’t cut it. These things are soft like a chinchilla wrapped in silk and marshmallow, sitting on a cloud. They’re not <em>actually</em> made from chinchilla, I ought to add. Unfortunately, they are <em>actually</em> made of lambskin leather, and for a vegan that’s just as bad. There are no vegan replacement options, either. </p><p>The thick, comfy headband is wrapped in good ol’ cow leather, and clicks off if you need to replace it. These cans are intended to last you a long time, so B&O has made it easy to swap out parts. I love that.</p><p>If I had one minor design complaint, it’s that, while they look utterly luxe, the H100 aren’t particularly striking. Not that it matters when they’re on your head, of course. And besides, if you’ve spent $2,200 on headphones, it’s probably best they don’t stand out.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="afdj9aqMVhcuTiq7NuELme" name="Bang & Olufsen Beoplay H100-10.JPG" alt="The Bang & Olufsen Beoplay H100 case" src="https://cdn.mos.cms.futurecdn.net/afdj9aqMVhcuTiq7NuELme.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 come with an ultra-premium protective case that looks like a designer handbag. Not only does it look great and protect your cans, it’s a lot more flexible and forgiving than the solid and scratch-prone case of the younger B&O sibling, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>.</p><h3 id="comfort-4">Comfort</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9ZQZCrdAWNZHKrwu2FZre" name="Bang & Olufsen Beoplay H100-5.JPG" alt="The Bang & Olufsen Beoplay H100 earcups on a stone surface" src="https://cdn.mos.cms.futurecdn.net/R9ZQZCrdAWNZHKrwu2FZre.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As might be obvious from my prior gushing, the H100s are extremely comfortable to wear. You don’t get the sheer breeziness of a suspended headband design, as on a lot of open-back audiophile cans, but it’s not like the H100s are heavy enough to give your neck or noggin any real problems.</p><h3 id="weatherproofing-2">Weatherproofing</h3><p>The H100 have an IP53 rating, so they’re dustproof enough for the beach and waterproof enough for the odd bit of sweat or a light rain shower. This suits them nicely to the role of daily driver — remember, most over-ear headphones have no waterproofing.</p><h3 id="controls-3">Controls</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZzvqPrUS3zMp3fq5aCnrme" name="Bang & Olufsen Beoplay H100-7.JPG" alt="The Bang & Olufsen Beoplay H100 earcups in hand on a stone surface" src="https://cdn.mos.cms.futurecdn.net/ZzvqPrUS3zMp3fq5aCnrme.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I love the H100 controls, which are very similar to those on the H95. There are two wheels for volume and ANC levels; a touchpad with taps and swipey-swipes for controlling playback; and a button for shifting between ANC modes. Once you know your way around, it’s highly intuitive. It’s also reliable — I’ve never missed an input and the controls prove surprisingly difficult to engage accidentally. Everything is also fully customizable in the B&O app, so you can make the controls your own.</p><p>The H100 also feature excellent wear detection. After a short (customizable) while off your head, though, they’ll also power off and back on automatically, saving battery. There’s also single earcup detection, so you can just raise an earcup to talk to someone if needed — very handy.</p><h3 id="connectivity-5">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iuQb52nwzT2wK7acCKNFte" name="Bang & Olufsen Beoplay H100-8.JPG" alt="The Bang & Olufsen Beoplay H100 with the USB-C cable in hand" src="https://cdn.mos.cms.futurecdn.net/iuQb52nwzT2wK7acCKNFte.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100 are a little behind the times in 2026 as I write this, sporting only Bluetooth 5.3, which offers less stability, inferior power consumption and narrower codec support than the latest version 6.0. But hey, the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2</a> launched in 2026 with only 5.4, so it’s not just B&O at the back.</p><p>The H100 only support AAC and SBC Bluetooth codecs. The B&O website says: “<em>The selected codec solutions are more relevant for the Beoplay H100 design and performance profile than LDAC, which is only supported by specific devices.</em>” Utter baloney. It’s not a binary issue: every LDAC device I’ve ever seen, tested or owned also supports SBC and AAC.</p><p>Personally, advanced codec support bothers me very little. I only use Bluetooth when out and about or working, and therefore not listening particularly critically. But I can see how the lack of hi-res codecs could be frustrating when paying $2,200.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-sound-quality"><span>Bang & Olufsen Beoplay H100 review: Sound quality</span></h2><p>I tested the H100 using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, in our eyes the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for audiophiles. I streamed in hi-res or CD quality and over USB-C.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1273px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fciokjhYuNz5NYSSHsFAqe" name="Bang & Olufsen Beoplay H100-4.JPG" alt="The Bang & Olufsen Beoplay H100 on a blue background" src="https://cdn.mos.cms.futurecdn.net/v2/t:364,l:350,cw:1273,ch:716,q:80/fciokjhYuNz5NYSSHsFAqe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Putting the H100 on, the first thing I noticed was the warmth. Bass is thick and rich, but fast and well-controlled nevertheless — the surreal oscillating bassline of James Blake’s <em>Limit To You Love</em> was delivered with absolute precision. I was particularly impressed with the sub bass, too. I haven’t yet tested a set of closed backs with as much oomph in the subby section of SOHN’s <em>Antigravity</em>. It's almost high-end planar performance.</p><p>I found the default Optimal EQ a little too dark for my preference, especially with ANC on. Treble and upper mids sounded somewhat muted and hazy; vocals soft and distant. Thankfully, there’s a custom EQ in the B&O app so you can dial in the sound to your liking. It’s not the most comprehensive EQ, with adjustments made based on the sound characteristics you want, but it <em>is </em>user-friendly and quick. I tweaked the sound to be more energetic and the upper range cleaned up nicely.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NKgw4SZJgzvEmKXSCZXbQ8" name="Bang & Olufsen Beoplay H100 Screenshots-2" alt="A screenshot of the B&O app" src="https://cdn.mos.cms.futurecdn.net/NKgw4SZJgzvEmKXSCZXbQ8.jpg" mos="" align="middle" fullscreen="1" width="2000" height="1125" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/NKgw4SZJgzvEmKXSCZXbQ8.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>EQ’d up, the resolution and speed of the drivers across the frequency range was on full display. Mids, especially guitars, had plenty of definition and texture in sludgy tracks like Melvins’ <em>Honey Bucket</em> and <em>Siva</em> by The Smashing Pumpkins. In bassy electronica like Dusky’s <em>Stick By This</em><em><strong> </strong></em>and<em><strong> </strong></em>Burn Water’s<em> Ikigai</em>, the added airiness helped ethereal backing effects shine. Vocals were clean and pronounced, with natural timbre and strong separation to the harmonies in Blusher’s cover of <em>Your Love Is My Drug</em>.</p><p>Overall, I’m pleased with how the H100 sound. The default EQ tuning isn’t for me, as I felt it was a little too dark at the top end. But it’s fine, because if you want something else, the H100 let you get exactly what you’re after via EQ, and can handle pretty much anything. </p><p><em>Listen along to my testing playlist on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h3 id="soundstage">Soundstage</h3><p>B&O claims the H100 are tuned with spatiality and Dolby Atmos media streaming in mind. Indeed, in the app’s Stereo Spatial mode, the springy opening percussion of <em>Antigravity</em> pinged inwards and outwards with an impressive amount of width for closed backs. </p><p>Using the Dolby Atmos mode, there was an equally wide soundstage on display in the two movies I watched, <em>Dune</em> and <em>Dune: Part Two</em>. In Paul’s hallucinations on Arrakis, hearing the shimmering foley effects sparkling all around my head was like being in a movie theater, especially when combined with that hammering bass.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-anc"><span>Bang & Olufsen Beoplay H100 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vfPMCK9eSuhzYbzRs62Xre" name="Bang & Olufsen Beoplay H100-11.JPG" alt="The Bang & Olufsen Beoplay H100 being worn on a person's head against a blue background" src="https://cdn.mos.cms.futurecdn.net/vfPMCK9eSuhzYbzRs62Xre.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H100’s ANC is extremely good. I live next to a very busy road. So, at rush hour, I opened and sat next to the window with the H100 on my head, using maximum ANC and my music volume at around 50%. I could barely hear a thing from outside. Trucks, motorcycles, cars — all blocked save the odd faint whoosh during quieter moments in songs. In the office, I couldn’t hear my colleagues talking around me, or their music being played. </p><p>Not bad at all from the H100, although I’d say my <em>much cheaper</em> <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a> are equally as proficient (they even managed to cut the noise of a screaming baby directly in front of me on a plane returning from, of all places, Denmark).</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-call-quality"><span>Bang & Olufsen Beoplay H100 review: Call quality</span></h2><p>The H100 call quality is fairly run-of-the-mill. I called my wife over WiFi and she reported that I sounded a little quiet and distant — she had to take me off loudspeaker<strong> </strong>to hear. After that, though, she said the clarity of my voice was pretty good, and she could make out everything I was saying. It's like 3.6 Roentgen: not great, not terrible.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-app"><span>Bang & Olufsen Beoplay H100 review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wkw4qsksthmm6ynnpPRxN8" name="Bang & Olufsen Beoplay H100 Screenshots-1" alt="A screenshot of the B&O app" src="https://cdn.mos.cms.futurecdn.net/wkw4qsksthmm6ynnpPRxN8.jpg" mos="" align="middle" fullscreen="1" width="2000" height="1125" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/wkw4qsksthmm6ynnpPRxN8.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>The B&O app is excellent. It’s slick and polished, giving you full control over controls and the custom EQ. My only gripe is that the EQ is a little basic — as I mentioned earlier, it's a circle with various characteristics, rather than a proper parametric equalizer. But hey: it works, and it's quick.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-battery-life"><span>Bang & Olufsen Beoplay H100 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UbaHtZ4X6zwQzSKm6NYZoe" name="Bang & Olufsen Beoplay H100-6.JPG" alt="The Bang & Olufsen Beoplay H100 earcups in hand on a stone surface" src="https://cdn.mos.cms.futurecdn.net/UbaHtZ4X6zwQzSKm6NYZoe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Bang & Olufsen claims the H100 will last 32 hours with ANC on, which is really strong. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra (Gen 2)</a> and Bowers & Wilkins Px8 S2 will all give you a respectable 30 hours, while the Apple AirPods Max 2 last just 20. </p><p>After using the headphones for around 7-8 hours over the course of two days in testing, the battery dropped to 74%, which correlates to the manufacturer-stated figure. I only had to charge the cans once during the week I tested them. Not bad at all.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h100-review-verdict"><span>Bang & Olufsen Beoplay H100 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JEwMfyuQThtrr3nX3cyboe" name="Bang & Olufsen Beoplay H100-2.JPG" alt="The Bang & Olufsen Beoplay H100 on a blue background" src="https://cdn.mos.cms.futurecdn.net/JEwMfyuQThtrr3nX3cyboe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Obviously, the elephant in the room here is price. The H100 are a flagship product from a high-end audio brand, so they were always going to be spenny. And it’s not like they don’t justify their position at the top of B&O’s range. Their sound quality and custom EQ are fantastic, the ANC is top-notch, they’re packed full of features to make your life easier, and they’re literally built to last a decade (or more). </p><p>I’m not going to tell you that they’re <em>$1,300</em> better than the Bowers & Wilkins Px8 S2 or B&O’s own H95, though. Because that simply isn’t true. You can get more value for money elsewhere. But you probably already knew that.</p><p>In the end, the Bang & Olufsen Beoplay H100 are a gloriously extravagant status symbol. In my eyes, they’re probably the best over-ear ANC headphones you can get, performance- and quality-wise. But if you want the best, you’re gonna have to pay through the nose for it. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ These Sennheiser TV headphones might’ve stopped my partner and neighbors from killing me — here’s how ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Sennheiser RS 275 are a pair of TV headphones, designed to let you enjoy movies, TV and multimedia without bothering family, roommates or neighbors. I’m an avid LOTR fan, and I regularly re-binge the Extended Editions, often taking me late into the night. I’ll usually get an angry, volume-related text from my wife upstairs at about 1am — just as the Rohirrim launch their awe-inspiring, tear-jerking charge into the fray on Pelennor Fields. So the RS 275 are, on paper at least, right up my street.</p><p>After a few weeks of testing, I’m happy to say these are a wonderful addition to my lounge setup. They’re not perfect, lacking the soundstage and subbiness of a proper surround system or soundbar. Their passive noise cancellation, meanwhile, isn’t the best, and they’re pricey in the U.S.</p><p>However, the sound quality is generally excellent, with a bright treble to bring out fine details, a clear mid-range for vocals, tidy bass, plus strong stereo imaging. There’s a wealth of connectivity and customization options, too.</p><p>Are these the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for TV? Find out more in my full Sennheiser RS 275 review.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-specs"><span>Sennheiser RS 275 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Sennheiser-275-Headphones-Transmitter-Technology/dp/B0GGLLMT5C" target="_blank" rel="nofollow"><u>$299</u></a> / <a href="https://www.richersounds.com/sennheiser-rs-275-black/" target="_blank" rel="nofollow"><u>£219</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>37mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>6Hz - 22,000Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>104 dB / 1mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth (version 5.4); USB; Optical; HDMI</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>Up to 50 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>6.9 ounces / 197 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sennheiser-rs-275-review-price-availability"><span>Sennheiser RS 275 review: Price & availability</span></h2><p>Unfortunately, the Sennheiser RS 275 headphones ain’t cheap. In the U.S., they cost <a href="https://www.amazon.com/Sennheiser-275-Headphones-Transmitter-Technology/dp/B0GGLLMT5C" target="_blank" rel="nofollow"><u>$299 from Amazon</u></a>, while in the U.K. they’re a slightly more palatable <a href="https://www.richersounds.com/sennheiser-rs-275-black/" target="_blank" rel="nofollow"><u>£219 from Richer Sounds</u></a>. That’s about the cost of a cheap soundbar, so if these will be your only audio output aside from a TV speaker (if you live in a dorm or something), I think that’s a reasonable price.</p><p>However, if you already have, want, or need a soundbar or speaker system, the RS 275 will be a secondary purchase. And that makes the $299 MSRP a little trickier to justify. I suppose the ‘cost:benefit’ analysis will depend on how much flak you’re getting for watching TV, and how often. </p><p>Thankfully, you’re not stuck for cheaper alternatives. The older <a href="https://www.amazon.com/Sennheiser-RS-175-Wireless-Headphone/dp/B00SLUI5SA" target="_blank" rel="nofollow"><u>Sennheiser RS 175</u></a> ($349) are regularly on sale for as little as $139. Then there’s the $159 <a href="https://www.amazon.com/Sennheiser-Headphones-Crystal-Clear-Lightweight-Transmitter/dp/B0B7P9R373" target="_blank" rel="nofollow"><u>Sennheiser RS 120-W</u></a>, which are often reduced to the $100 mark.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-design"><span>Sennheiser RS 275 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8cdDvwmbx36NRUKQuzZYhh" name="Sennheiser RS275-8.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/8cdDvwmbx36NRUKQuzZYhh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The RS 275 look like typical Sennheiser cans: jet black, understated but obviously high quality. The plastics feel premium; the headband is (mostly) nice and squishy; while the earcups are thick and padded, yet lightweight and breathable. I tested the RS 275 during a heatwave here in the U.K., with some extremely humid nights, and my ears never got sweaty. The headset is also super lightweight, so it never fatigued my neck.</p><p>My only issue, comfort-wise, is that the squishy headband padding doesn’t extend that far down the band itself. The last two inches have no padding. I didn’t have an issue, but I can see it being a problem for different head shapes. </p><p>Included is a headphone stand, which doubles as a platform and cable-tidy for the wireless transmitter. It helps keep my TV cabinet tidy, so I’m a big fan.</p><h3 id="controls-4">Controls</h3><p>The RS 275 offer a few different control options. There are the on-ear controls for power and volume, plus sound mode and source controls on the transmitter. They’re all pretty self-explanatory and easy to get to grips with. Everything can also be controlled via the Sennheiser smartphone app, though, which I’ll cover below.</p><h3 id="connectivity-6">Connectivity</h3><p>The RS 275 feature four connection methods to your TV: Bluetooth, optical, USB and HDMI. You’ll want at least USB or HDMI connected, as these power the transmitter. You can hook up via Bluetooth directly to your TV, but I’d advise using the transmitter as it enables higher quality codecs, including aptX, aptX Adaptive, PCM/LC3 and AC3 (Dolby Digital).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UbXya4a8uC6UkjwEMqftCh" name="Sennheiser RS275-1.JPG" alt="The Sennheiser RS 275 with cables on a stone surface" src="https://cdn.mos.cms.futurecdn.net/UbXya4a8uC6UkjwEMqftCh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The transmitter uses Bluetooth version 5.4 and features Auracast, so you can hook up multiple Auracast-compatible Bluetooth devices and hear the same audio stream. That means you can watch movies with friends and family, yet still not wake the neighbors.</p><p>I mostly used the optical and USB connections. There won’t be a huge difference between any of the wired connections, really — by the time the signal reaches your ears via the transmitter using, say, the lossy AC3/Dolby Digital codec, it’s no longer high-res anyway regardless of how it came out of the TV or Blu-ray player. Note that optical is prone to timing issues, especially when scrubbing forward or back through a Blu-ray (the app has a feature to help with this). </p><p>The headphones also have two-device multipoint connectivity, so you can hook up to your phone and TV and switch quickly between the two to take a call.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-sound-quality"><span>Sennheiser RS 275 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wqkfcXcakAS6NTGHDAK5rk" name="Sennheiser RS275-6.JPG" alt="The Sennheiser RS 275 earcups on a blue background" src="https://cdn.mos.cms.futurecdn.net/wqkfcXcakAS6NTGHDAK5rk.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As these are TV headphones, I primarily tested the Sennheiser RS 275 by watching “Top Gun: Maverick” and “Black Hawk Down (Extended Version)” on 4K Blu-ray. I also streamed “The Lord of the Rings: The Fellowship of the Ring (Extended Edition)” on Amazon Prime TV, and “I Will Find You” on Netflix.</p><h4 id="movies">Movies</h4><p>The RS 275 won’t compete with a surround system or one of the <a href="https://www.tomsguide.com/audio/soundbars/best-soundbars"><u>best soundbars</u></a>, but that’s not to say they don’t sound good. The sound is really clean, with expansive treble and tons of mid-range clarity that brought out details I’d never heard, even in my most familiar movies. </p><p>In “Black Hawk Down” I’ve never before heard Mo Alim’s voice so perfectly distorted and crackly as he shouts through a megaphone in the early massacre scene. It was like I was in the room with Atto in the interrogation scene — his cigar pack ripping and match striking, then the metallic door latch clanking as the general entered.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CdCWZRgTauhT3poJQVNpTh" name="Sennheiser RS275-2.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/CdCWZRgTauhT3poJQVNpTh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s so much clarity that, weirdly, you start hearing things you don’t want to hear — in the Atto scene above, the effects sounded hyperrealistic to a fault, giving away that they’re actually quite obviously foley.</p><p>Vocals sound great, too. Even in noisier scenes throughout “The Fellowship of the Ring” and “Black Hawk Down”, I was never struggling to hear what any characters said.</p><p>Bass was fairly nice and well-textured in musical elements, although the headphones lack sub-bass response, sapping impact from heavy sound effects like explosions and aircraft in “Top Gun Maverick” and “Black Hawk Down”. Still, these are headphones, so you can’t expect the power delivery down low that you’d get from a subwoofer.</p><p>Separation is really strong. In the “Top Gun Maverick” opening scene, I could hear the clanking of machinery amidst the sound of engines and the “Danger Zone” soundtrack. Stereo imaging is solid, too. In “Black Hawk Down”, I could hear voices on each side in the busy Mogadishu marketplace, and in a scene with two choppers, I could distinctly hear the lighter Little Bird blades in my left ear, with the slower Black Hawk thrum in my right.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YbdniYnARsdxDyXmuQs46i" name="Sennheiser RS275-10" alt="The Sennheiser RS 275 on a TV stand with a Blu-ray box behind" src="https://cdn.mos.cms.futurecdn.net/YbdniYnARsdxDyXmuQs46i.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, the RS 275’s soundstage isn’t <em>that</em> wide — expected given these are closed-back headphones. On the other hand, the closed-back sound gave a level of intimacy that I really enjoyed in certain scenes. I felt like I was inside Maverick’s helmet as he spoke to his colleagues over radio: the sound of his voice muted by his own helmet, with his colleague’s walkie-talkied voice piping in over the radio. </p><h4 id="tv">TV</h4><p>In “I Will Find You” on Netflix, vocals were unfailingly clear, even whispered tones, while that bright treble shone again for gentler effects like handcuffs clanking. Here, too, I relished that closed-back intimacy — when the main characters were talking through a prison phone, for example, it sounded like I was in the visitor’s booth with them. </p><p>Admittedly, without the sheer loudness of movie effects and scores, I began to have trouble with passive noise cancellation, or a lack thereof. I could hear the radio in my kitchen playing, as well as road noise from outside my house, breaking the immersion.</p><h4 id="audio-modes">Audio modes</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZdUcotVwnEV2r7aDiqQypg" name="Sennheiser RS275-12" alt="The Sennheiser app being used to customize the RS 275" src="https://cdn.mos.cms.futurecdn.net/ZdUcotVwnEV2r7aDiqQypg.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/ZdUcotVwnEV2r7aDiqQypg.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>The RS 275 have three modes: 3D for surround sound; Speech for vocal priority; and Plus, which combines the first two. Honestly, I didn’t find much use for them. Speech and 3D mostly resulted in a tinny, compressed sound. Plus mode, meanwhile, just sounded like listening underwater. I can see Speech being useful in situations where vocal audio is just terribly mastered, but in everything I watched, the RS 275’s default tuning was good enough.</p><p>Mileage will probably vary depending on how an individual film or TV’s audio is mastered, but honestly, the default mode sounds good enough to just forget the gimmicks.</p><h2 id="music">Music</h2><p>Although they’re primarily intended as TV headphones, the RS 275 headset is actually a pair of HDR 275 headphones. That means they double up as music cans, and it’s nice to know you can pick them up for a few tunes between movies.</p><p>I tested with my usual playlist on <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u>best music streaming service</u></a> for audiophiles, and was pretty impressed. It’s the same story as above: a clean mid-range and airy treble, highlighting vocals and percussion; warm, refined bass; plus decent stereo imaging. </p><p><em>Listen along to my audio testing playlist on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-sennheiser-rs-275-review-call-quality"><span>Sennheiser RS 275 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RfGzEiJtew9i8C7NWQeK5i" name="Sennheiser RS275-7.JPG" alt="The Sennheiser RS 275 earcups on a blue background" src="https://cdn.mos.cms.futurecdn.net/RfGzEiJtew9i8C7NWQeK5i.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Sennheiser RS 275 can be used like a traditional set of headphones. This means they have a microphone for calls. Unfortunately, it’s not the best, and my voice sounded quiet and tinny. However, I can’t knock too many points off here, as these are primarily intended to be used for movies and TV, which you’d want to pause for a call anyway — so you can just use your phone’s built-in mic.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-app"><span>Sennheiser RS 275 review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iac8P6wtaM2U6HHedwqVqg" name="Sennheiser RS275-11" alt="The Sennheiser app being used to customize the RS 275" src="https://cdn.mos.cms.futurecdn.net/iac8P6wtaM2U6HHedwqVqg.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/iac8P6wtaM2U6HHedwqVqg.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>The RS 275 pair up to the Sennheiser SmartControlPlus smartphone app, which connects over Bluetooth (regardless of how the headset is connected to your TV). The app is pretty slick, and gives you full control over using and updating the RS 275. It’s the only way to fully control the RS 275, so I have no choice but to recommend using it — but thankfully, it’s great.</p><p>I found the app particularly useful for switching between connectivity channels to get the best sound for whatever media I was watching, checking which codecs were in use on-the-fly, and tweaking audio delay for sound/video sync issues over optical connection.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-battery-life"><span>Sennheiser RS 275 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xHuXntWHQAF36Ef38YPgph" name="Sennheiser RS275-5.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/xHuXntWHQAF36Ef38YPgph.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The RS 275 offer up to 50 hours of playback, according to Sennheiser. And I have no reason to doubt that. After watching two movies and most of a TV season, I still had 70% charge left, which was very impressive. </p><p>When you <em>do</em> need to charge them, using the USB-C port on the transmitter will recharge the headphones fully in just 2 hours, which is pretty quick. Realistically, if you stay on top of juicing them, you shouldn’t experience much downtime at all.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-verdict"><span>Sennheiser RS 275 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CdCWZRgTauhT3poJQVNpTh" name="Sennheiser RS275-2.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/CdCWZRgTauhT3poJQVNpTh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As I mentioned above, as a night owl and a movie lover, I <strong>am</strong> the RS 275’s target audience. As a tech reviewer by profession, I’m a little embarrassed to admit that I didn’t know TV headphones were a thing, and so never knew I needed them. But I’m not sure I can go back now.</p><p>The RS 275 aren’t perfect. They’re pricey, they lack the bass and width of a proper sound system, and their passive noise reduction isn’t the best. However, place them in context, and none of that really matters. They’re designed to circumvent loudspeaker systems, so you can’t blame them for lacking the attributes of a subwoofer or Atmos setup. And realistically, they’re intended for use at night when it’s quiet. </p><p>But used as intended, the RS 275 are excellent, with clean sound, strong separation, decent stereo imaging, great comfort, plus a wealth of control and connectivity options. These ones are staying on my TV cabinet for good.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/sennheiser-rs275-tv-headphones-review</link>
                                                                            <description>
                            <![CDATA[ The Sennheiser RS 275 are an ideal solution for any late-night TV and movie watchers, even if they’re a tad pricey. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sBAGrRRM7344grWshepPea</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/tePgnBby2LYTg4kqjLtcoh-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/tePgnBby2LYTg4kqjLtcoh-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A split image with the Sennheiser RS 275 on the left and a person wearing them on the right]]></media:description>                                                            <media:text><![CDATA[A split image with the Sennheiser RS 275 on the left and a person wearing them on the right]]></media:text>
                                <media:title type="plain"><![CDATA[A split image with the Sennheiser RS 275 on the left and a person wearing them on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/tePgnBby2LYTg4kqjLtcoh-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Sennheiser RS 275 are a pair of TV headphones, designed to let you enjoy movies, TV and multimedia without bothering family, roommates or neighbors. I’m an avid LOTR fan, and I regularly re-binge the Extended Editions, often taking me late into the night. I’ll usually get an angry, volume-related text from my wife upstairs at about 1am — just as the Rohirrim launch their awe-inspiring, tear-jerking charge into the fray on Pelennor Fields. So the RS 275 are, on paper at least, right up my street.</p><p>After a few weeks of testing, I’m happy to say these are a wonderful addition to my lounge setup. They’re not perfect, lacking the soundstage and subbiness of a proper surround system or soundbar. Their passive noise cancellation, meanwhile, isn’t the best, and they’re pricey in the U.S.</p><p>However, the sound quality is generally excellent, with a bright treble to bring out fine details, a clear mid-range for vocals, tidy bass, plus strong stereo imaging. There’s a wealth of connectivity and customization options, too.</p><p>Are these the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for TV? Find out more in my full Sennheiser RS 275 review.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-specs"><span>Sennheiser RS 275 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Sennheiser-275-Headphones-Transmitter-Technology/dp/B0GGLLMT5C" target="_blank" rel="nofollow"><u>$299</u></a> / <a href="https://www.richersounds.com/sennheiser-rs-275-black/" target="_blank" rel="nofollow"><u>£219</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>37mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>6Hz - 22,000Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>104 dB / 1mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth (version 5.4); USB; Optical; HDMI</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>Up to 50 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>6.9 ounces / 197 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sennheiser-rs-275-review-price-availability"><span>Sennheiser RS 275 review: Price & availability</span></h2><p>Unfortunately, the Sennheiser RS 275 headphones ain’t cheap. In the U.S., they cost <a href="https://www.amazon.com/Sennheiser-275-Headphones-Transmitter-Technology/dp/B0GGLLMT5C" target="_blank" rel="nofollow"><u>$299 from Amazon</u></a>, while in the U.K. they’re a slightly more palatable <a href="https://www.richersounds.com/sennheiser-rs-275-black/" target="_blank" rel="nofollow"><u>£219 from Richer Sounds</u></a>. That’s about the cost of a cheap soundbar, so if these will be your only audio output aside from a TV speaker (if you live in a dorm or something), I think that’s a reasonable price.</p><p>However, if you already have, want, or need a soundbar or speaker system, the RS 275 will be a secondary purchase. And that makes the $299 MSRP a little trickier to justify. I suppose the ‘cost:benefit’ analysis will depend on how much flak you’re getting for watching TV, and how often. </p><p>Thankfully, you’re not stuck for cheaper alternatives. The older <a href="https://www.amazon.com/Sennheiser-RS-175-Wireless-Headphone/dp/B00SLUI5SA" target="_blank" rel="nofollow"><u>Sennheiser RS 175</u></a> ($349) are regularly on sale for as little as $139. Then there’s the $159 <a href="https://www.amazon.com/Sennheiser-Headphones-Crystal-Clear-Lightweight-Transmitter/dp/B0B7P9R373" target="_blank" rel="nofollow"><u>Sennheiser RS 120-W</u></a>, which are often reduced to the $100 mark.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-design"><span>Sennheiser RS 275 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8cdDvwmbx36NRUKQuzZYhh" name="Sennheiser RS275-8.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/8cdDvwmbx36NRUKQuzZYhh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The RS 275 look like typical Sennheiser cans: jet black, understated but obviously high quality. The plastics feel premium; the headband is (mostly) nice and squishy; while the earcups are thick and padded, yet lightweight and breathable. I tested the RS 275 during a heatwave here in the U.K., with some extremely humid nights, and my ears never got sweaty. The headset is also super lightweight, so it never fatigued my neck.</p><p>My only issue, comfort-wise, is that the squishy headband padding doesn’t extend that far down the band itself. The last two inches have no padding. I didn’t have an issue, but I can see it being a problem for different head shapes. </p><p>Included is a headphone stand, which doubles as a platform and cable-tidy for the wireless transmitter. It helps keep my TV cabinet tidy, so I’m a big fan.</p><h3 id="controls-4">Controls</h3><p>The RS 275 offer a few different control options. There are the on-ear controls for power and volume, plus sound mode and source controls on the transmitter. They’re all pretty self-explanatory and easy to get to grips with. Everything can also be controlled via the Sennheiser smartphone app, though, which I’ll cover below.</p><h3 id="connectivity-6">Connectivity</h3><p>The RS 275 feature four connection methods to your TV: Bluetooth, optical, USB and HDMI. You’ll want at least USB or HDMI connected, as these power the transmitter. You can hook up via Bluetooth directly to your TV, but I’d advise using the transmitter as it enables higher quality codecs, including aptX, aptX Adaptive, PCM/LC3 and AC3 (Dolby Digital).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UbXya4a8uC6UkjwEMqftCh" name="Sennheiser RS275-1.JPG" alt="The Sennheiser RS 275 with cables on a stone surface" src="https://cdn.mos.cms.futurecdn.net/UbXya4a8uC6UkjwEMqftCh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The transmitter uses Bluetooth version 5.4 and features Auracast, so you can hook up multiple Auracast-compatible Bluetooth devices and hear the same audio stream. That means you can watch movies with friends and family, yet still not wake the neighbors.</p><p>I mostly used the optical and USB connections. There won’t be a huge difference between any of the wired connections, really — by the time the signal reaches your ears via the transmitter using, say, the lossy AC3/Dolby Digital codec, it’s no longer high-res anyway regardless of how it came out of the TV or Blu-ray player. Note that optical is prone to timing issues, especially when scrubbing forward or back through a Blu-ray (the app has a feature to help with this). </p><p>The headphones also have two-device multipoint connectivity, so you can hook up to your phone and TV and switch quickly between the two to take a call.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-sound-quality"><span>Sennheiser RS 275 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wqkfcXcakAS6NTGHDAK5rk" name="Sennheiser RS275-6.JPG" alt="The Sennheiser RS 275 earcups on a blue background" src="https://cdn.mos.cms.futurecdn.net/wqkfcXcakAS6NTGHDAK5rk.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As these are TV headphones, I primarily tested the Sennheiser RS 275 by watching “Top Gun: Maverick” and “Black Hawk Down (Extended Version)” on 4K Blu-ray. I also streamed “The Lord of the Rings: The Fellowship of the Ring (Extended Edition)” on Amazon Prime TV, and “I Will Find You” on Netflix.</p><h4 id="movies">Movies</h4><p>The RS 275 won’t compete with a surround system or one of the <a href="https://www.tomsguide.com/audio/soundbars/best-soundbars"><u>best soundbars</u></a>, but that’s not to say they don’t sound good. The sound is really clean, with expansive treble and tons of mid-range clarity that brought out details I’d never heard, even in my most familiar movies. </p><p>In “Black Hawk Down” I’ve never before heard Mo Alim’s voice so perfectly distorted and crackly as he shouts through a megaphone in the early massacre scene. It was like I was in the room with Atto in the interrogation scene — his cigar pack ripping and match striking, then the metallic door latch clanking as the general entered.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CdCWZRgTauhT3poJQVNpTh" name="Sennheiser RS275-2.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/CdCWZRgTauhT3poJQVNpTh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s so much clarity that, weirdly, you start hearing things you don’t want to hear — in the Atto scene above, the effects sounded hyperrealistic to a fault, giving away that they’re actually quite obviously foley.</p><p>Vocals sound great, too. Even in noisier scenes throughout “The Fellowship of the Ring” and “Black Hawk Down”, I was never struggling to hear what any characters said.</p><p>Bass was fairly nice and well-textured in musical elements, although the headphones lack sub-bass response, sapping impact from heavy sound effects like explosions and aircraft in “Top Gun Maverick” and “Black Hawk Down”. Still, these are headphones, so you can’t expect the power delivery down low that you’d get from a subwoofer.</p><p>Separation is really strong. In the “Top Gun Maverick” opening scene, I could hear the clanking of machinery amidst the sound of engines and the “Danger Zone” soundtrack. Stereo imaging is solid, too. In “Black Hawk Down”, I could hear voices on each side in the busy Mogadishu marketplace, and in a scene with two choppers, I could distinctly hear the lighter Little Bird blades in my left ear, with the slower Black Hawk thrum in my right.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YbdniYnARsdxDyXmuQs46i" name="Sennheiser RS275-10" alt="The Sennheiser RS 275 on a TV stand with a Blu-ray box behind" src="https://cdn.mos.cms.futurecdn.net/YbdniYnARsdxDyXmuQs46i.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, the RS 275’s soundstage isn’t <em>that</em> wide — expected given these are closed-back headphones. On the other hand, the closed-back sound gave a level of intimacy that I really enjoyed in certain scenes. I felt like I was inside Maverick’s helmet as he spoke to his colleagues over radio: the sound of his voice muted by his own helmet, with his colleague’s walkie-talkied voice piping in over the radio. </p><h4 id="tv">TV</h4><p>In “I Will Find You” on Netflix, vocals were unfailingly clear, even whispered tones, while that bright treble shone again for gentler effects like handcuffs clanking. Here, too, I relished that closed-back intimacy — when the main characters were talking through a prison phone, for example, it sounded like I was in the visitor’s booth with them. </p><p>Admittedly, without the sheer loudness of movie effects and scores, I began to have trouble with passive noise cancellation, or a lack thereof. I could hear the radio in my kitchen playing, as well as road noise from outside my house, breaking the immersion.</p><h4 id="audio-modes">Audio modes</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZdUcotVwnEV2r7aDiqQypg" name="Sennheiser RS275-12" alt="The Sennheiser app being used to customize the RS 275" src="https://cdn.mos.cms.futurecdn.net/ZdUcotVwnEV2r7aDiqQypg.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/ZdUcotVwnEV2r7aDiqQypg.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>The RS 275 have three modes: 3D for surround sound; Speech for vocal priority; and Plus, which combines the first two. Honestly, I didn’t find much use for them. Speech and 3D mostly resulted in a tinny, compressed sound. Plus mode, meanwhile, just sounded like listening underwater. I can see Speech being useful in situations where vocal audio is just terribly mastered, but in everything I watched, the RS 275’s default tuning was good enough.</p><p>Mileage will probably vary depending on how an individual film or TV’s audio is mastered, but honestly, the default mode sounds good enough to just forget the gimmicks.</p><h2 id="music">Music</h2><p>Although they’re primarily intended as TV headphones, the RS 275 headset is actually a pair of HDR 275 headphones. That means they double up as music cans, and it’s nice to know you can pick them up for a few tunes between movies.</p><p>I tested with my usual playlist on <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u>best music streaming service</u></a> for audiophiles, and was pretty impressed. It’s the same story as above: a clean mid-range and airy treble, highlighting vocals and percussion; warm, refined bass; plus decent stereo imaging. </p><p><em>Listen along to my audio testing playlist on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-sennheiser-rs-275-review-call-quality"><span>Sennheiser RS 275 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RfGzEiJtew9i8C7NWQeK5i" name="Sennheiser RS275-7.JPG" alt="The Sennheiser RS 275 earcups on a blue background" src="https://cdn.mos.cms.futurecdn.net/RfGzEiJtew9i8C7NWQeK5i.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Sennheiser RS 275 can be used like a traditional set of headphones. This means they have a microphone for calls. Unfortunately, it’s not the best, and my voice sounded quiet and tinny. However, I can’t knock too many points off here, as these are primarily intended to be used for movies and TV, which you’d want to pause for a call anyway — so you can just use your phone’s built-in mic.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-app"><span>Sennheiser RS 275 review: App</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iac8P6wtaM2U6HHedwqVqg" name="Sennheiser RS275-11" alt="The Sennheiser app being used to customize the RS 275" src="https://cdn.mos.cms.futurecdn.net/iac8P6wtaM2U6HHedwqVqg.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/iac8P6wtaM2U6HHedwqVqg.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>The RS 275 pair up to the Sennheiser SmartControlPlus smartphone app, which connects over Bluetooth (regardless of how the headset is connected to your TV). The app is pretty slick, and gives you full control over using and updating the RS 275. It’s the only way to fully control the RS 275, so I have no choice but to recommend using it — but thankfully, it’s great.</p><p>I found the app particularly useful for switching between connectivity channels to get the best sound for whatever media I was watching, checking which codecs were in use on-the-fly, and tweaking audio delay for sound/video sync issues over optical connection.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-battery-life"><span>Sennheiser RS 275 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xHuXntWHQAF36Ef38YPgph" name="Sennheiser RS275-5.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/xHuXntWHQAF36Ef38YPgph.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The RS 275 offer up to 50 hours of playback, according to Sennheiser. And I have no reason to doubt that. After watching two movies and most of a TV season, I still had 70% charge left, which was very impressive. </p><p>When you <em>do</em> need to charge them, using the USB-C port on the transmitter will recharge the headphones fully in just 2 hours, which is pretty quick. Realistically, if you stay on top of juicing them, you shouldn’t experience much downtime at all.</p><h2 class="article-body__section" id="section-sennheiser-rs-275-review-verdict"><span>Sennheiser RS 275 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CdCWZRgTauhT3poJQVNpTh" name="Sennheiser RS275-2.JPG" alt="The Sennheiser RS 275 on a blue background" src="https://cdn.mos.cms.futurecdn.net/CdCWZRgTauhT3poJQVNpTh.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As I mentioned above, as a night owl and a movie lover, I <strong>am</strong> the RS 275’s target audience. As a tech reviewer by profession, I’m a little embarrassed to admit that I didn’t know TV headphones were a thing, and so never knew I needed them. But I’m not sure I can go back now.</p><p>The RS 275 aren’t perfect. They’re pricey, they lack the bass and width of a proper sound system, and their passive noise reduction isn’t the best. However, place them in context, and none of that really matters. They’re designed to circumvent loudspeaker systems, so you can’t blame them for lacking the attributes of a subwoofer or Atmos setup. And realistically, they’re intended for use at night when it’s quiet. </p><p>But used as intended, the RS 275 are excellent, with clean sound, strong separation, decent stereo imaging, great comfort, plus a wealth of control and connectivity options. These ones are staying on my TV cabinet for good.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the HEDDphone TWO GT — now I can't go back to normal headphones ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The HEDDphone TWO GT are a set of premium audiophile open back headphones from German audio manufacturer HEDD. Slightly counterintuitively, the TWO GT aren’t a successor to a ONE GT, but rather a redevelopment of the HEDDphone TWO (which themselves follow up the original HEDDphone).</p><p>The TWO GT pack tweaked AMT drivers and a warmer sound profile than the TWO, pitching them more towards leisurely home listening rather than pure, detail-oriented reference use.</p><p>With their striking yet comfortable aesthetic and unerringly premium German build quality, the TWO GT do much to justify their high price. Add on the utterly fantastic sound quality, and the TWO GT ought to be, at the very least, a serious shortlist candidate for any discerning listeners in search of new cans.</p><p>Could these be some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for audiophiles? I think so. But read my full review to find out more.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-specs"><span>HEDDphone TWO GT review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From <a href="https://hedd.audio/products/heddphone-two-gt" target="_blank" rel="nofollow"><u>$1,699</u></a> / <a href="https://hedd.audio/products/heddphone-two-gt?variant=54574029963532" target="_blank" rel="nofollow"><u>£1,472</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>AMT</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>10Hz - 40,000Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>41Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>88dB / 1mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired-only</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>1.2lbs / 550g</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-heddphone-two-gt-review-price-availability"><span>HEDDphone TWO GT review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HvVPzopSqwuDNukr5xJLs3" name="HEDDphone TWO GT-8.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/HvVPzopSqwuDNukr5xJLs3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HEDDphone TWO GT cost <a href="https://hedd.audio/products/heddphone-two-gt" target="_blank" rel="nofollow"><u>$2,199 / £1,899</u></a> from HEDD. However, if you have your own cables already, you can save a bit of cash by buying the ‘UNPLUGGED’ variant without cables included, which cost  £1,472 / $1,699.</p><p>While they objectively cost a lot of money, in the context of audiophile headphones, the TWO GT aren’t priced beyond the pale. In the audiophile landscape, $2,199 is just getting started. The Meze Audio Elite, for example, will set you back $4,000, while my other high-end cans, the Audeze LCD5-S, cost $4,500. I’m not saying those aren’t great headphones, but to a large extent there’s a law of diminishing returns at play here. The HEDDphone TWO GT sound utterly fantastic, so I don’t see why you’d really need to go further unless you want something specific that other cans offer.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-design"><span>HEDDphone TWO GT review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vXchnkERjZRVTtmj55Yxi3" name="HEDDphone TWO GT-3.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/vXchnkERjZRVTtmj55Yxi3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What do you get if you cross a set of F1 pitwall headphones with a WWE-worthy stash of anabolic steroids? The TWO GT, obviously. These are absolute chonkers, and frankly, if I had to wear them anywhere outside the house, I’d probably feel a little self-conscious. Luckily, I don’t have to — like most audiophile open-back cans, these are intended for indoor (and, more specifically, home) use only. </p><p>They look great though: blacked out and replete with German neo-futurism. And besides, they wear their large size and hefty 1.2lb curb weight extremely well, proving effortlessly lightweight and comfortable atop the ol’ noggin.</p><p>That’s thanks to an unashamedly overengineered suspended headband. It’s a piece of padding suspended on a strip of synthetic fabric that weaves in and out of the main carbon-fiber headband. It distributes the weight extremely well, and also offers lots of adjustment. Sure, the end result isn’t any different from other suspended straps — <em>a la</em> Audeze LCD-X or Meze Poet. But it’s cool, different, and complements the general extra-ness of the overall aesthetic. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VCFSvyqcJUdoyKEFzbPvj3" name="HEDDphone TWO GT-5.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/VCFSvyqcJUdoyKEFzbPvj3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Included with the TWO GT are two sets of ear pads: one gloriously soft set of lamb’s leather; one vegan velour for the less carnivorous of disposition. I prefer the lamb’s leather pads, but both are incredibly thick and comfy anyway, so if HEDD had just given me the velour pads, I wouldn’t have complained. Also, while it’s nice to see a vegan option included, I find it kinda weird that they ship with both instead of letting you select one or the other at checkout — sure, a vegan won’t have to wear the lamb’s leather pads, but they’ll still have been forced to buy them, which isn’t much better.</p><p>Build-wise, these things earn their price. They feel premium. They feel special. They feel German. This is a double-decade set of cans <em>at least</em>, make no mistake. I love the loose-weave braided cables included (with the standard model), too, which feel super premium. Additionally, there’s a fabric hard case included, which features a cable storage compartment. This is much less bulky than the aluminum hard case that came with my Audeze LCD5-S, making the TWO GT easier to travel with.</p><h3 id="connectivity-7">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d8rRqsDtQZUiRraTg2Csi3" name="HEDDphone TWO GT-2.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/d8rRqsDtQZUiRraTg2Csi3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HEDDphone TWO GT are passive headphones, which won’t surprise any audiophiles. I’ll cover their amplification requirements below, but their unpowered nature means there are no mod-cons like wireless connectivity, battery life, ANC, etc. </p><p>They connect to your amplifier via a wired connection, and HEDD is generous with the included cablewear on the standard variant (the UNPLUGGED variant comes with no cables). There are two cables, one balanced 4.4mm, one unbalanced 6.35mm, with two adapters — a 4.4mm to XLR 4-pin adapter and a 6.35mm to 3.5mm — chucked in too.</p><h3 id="drive">Drive</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9oGuTXhYYFFHCgg554mni3" name="HEDDphone TWO GT-4.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/9oGuTXhYYFFHCgg554mni3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As passive headphones, the TWO GT must be powered. You’ll want to use a DAC/amp to handle both the digital audio conversion and power. With an impedance of 41Ω and a sensitivity of 88dB / 1mW, they’re not too tricky to drive. HEDD suggests a minimum power of 200mW, but recommends around 1,000mW for peak performance. I powered the headphones using my <a href="https://www.amazon.com/FiiO-K15-Headphone-AK4497Sx2-PCM768kHz/dp/B0FK4Y92SP" target="_blank" rel="nofollow"><u>FiiO K15</u></a> (up to 30,000mW), which was comfortable at 85% volume on the medium gain setting, and the <a href="https://ifi-audio.com/products/idsd-gr-2" target="_blank" rel="nofollow"><u>iFi iDSD GR2</u></a> (up to 2,173mW), which I needed to run at about 80% volume without any added gain.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-sound-quality"><span>HEDDphone TWO GT review: Sound quality</span></h2><p>Like other HEDD gear, the TWO GT use AMT transducers. These drivers employ a series of folded metal diaphragms to push and pull air, rather than the cones or wafer-thin layers of metal filaments used respectively by dynamic and planar magnetic drivers.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W3QFJZyerhhLYJbtqBMVo3" name="HEDDphone TWO GT-7.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/W3QFJZyerhhLYJbtqBMVo3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Historically, AMT drivers have been great for use as dedicated tweeters or mid-range speakers, but lacked bass response. To solve that, HEDD employs its “Variable Velocity Transformation” (VVT), which actively modulates the profile of the folds for response down as low as 10Hz. In short: bass good.</p><p>I tested the TWO GT using <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u>best music streaming service</u></a> for audiophiles. I streamed in lossless hi-res or CD quality via USB-C through the FiiO K15 and iFi DSD GR2 DAC/amps.</p><h4 id="bass">Bass</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:51.80%;"><img id="kJ8W3GrmpFS6fZ2X3v6e4T" name="HEDDphone_TWO_GT_43ag_Freq_Curve" alt="A graph showing the HEDDphone TWO GT frequency response curve measured on the Gras 43AG, supplied by HEDD." src="https://cdn.mos.cms.futurecdn.net/kJ8W3GrmpFS6fZ2X3v6e4T.webp" mos="" align="middle" fullscreen="1" width="1500" height="777" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/kJ8W3GrmpFS6fZ2X3v6e4T.webp' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HEDD)</span></figcaption></figure><p>As you can see on the manufacturer’s frequency response curve, the TWO GT’s tuning is deliberately slightly warm, but it’s not aeons from the neutral tune of the HEDDphone TWO or <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-this-pair-of-wired-headphones-and-they-blow-wireless-options-out-of-the-water"><u>HEDDphone D1</u></a>. The TWO GT offer rich, enveloping bass, but nothing overwhelming. You could definitely still use these cans for reference or studio work. </p><p>As far as easy bass, the TWO GT relayed beautifully the thick, undulating double bass of Odetta’s <em>Hit or Miss</em>, as well as the powerful electronic bass warbling of Burn Water’s <em>Ikigai</em>. </p><p>When it comes to the trickier stuff, there’s less oomph in the sub region by default. However, the TWO GT can handle it if you dial in some extra low down power. I mostly used my FiiO K15 DAC/amp, as I like its clean, natural feel without EQ. But in songs where I wanted more sub bass — like the last 20 seconds of SOHN’s <em>Antigravity</em> — I switched to my iFi DSD GR2 and used the ‘XBass’ bass boost mode for a few dB extra at 20-30Hz. The TWO GT still weren’t as subby as my planar- and slam-plate-fitted Audeze LCD5-S, but did a respectable job, gently vibrating my temples (with no distortion whatsoever, I might add).</p><h4 id="mids">Mids</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BJQPB5CQcciHQm7rynYrT3" name="HEDDphone TWO GT-1.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/BJQPB5CQcciHQm7rynYrT3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As I mentioned, while warm, the TWO GT are still well balanced across the curve, with a prominent, clean mid-range. There was a pleasantly-expressed, natural timbre to acoustic guitars, with a gorgeous woody resonance to 49 Winchester’s riff in <em>Russell County Line</em>. In Melvins’ dual-riffed sludge-fest, <em>Honey Bucket</em>, the lower mid-range packed bags of texture, with plenty of crunch to those distorted guitars, while strong separation let me pick out the individual riffs.</p><p>The upper mid-range also packs bags of resolution and natural timbre: vocals in Blusher’s <em>Last Man Standing</em> sounded full and lifelike, and I could pick apart the individual voices and whispered backing vocals throughout harmonies.</p><h4 id="treble">Treble</h4><p>The treble is fairly bright. Personally, I felt myself wanting a tad more sharpness on certain tracks — typically it was busier, older recordings like <em>Honey Bucket</em> and The Who’s <em>Eminence Front</em> where I craved just a little more snap to cymbals and hi-hats. This is mainly down to personal preference and individual ear anatomy, though, and can simply be EQ’d or otherwise tweaked to taste. Using my iFi GR2, I applied a GTO digital filter with the Kenwood K2 HD upsampling mode, which worked a treat, adding that smidge of extra definition I was looking for up top. </p><h4 id="soundstage-2">Soundstage</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FLEtBoNWemiJA5oFfHGTo3" name="HEDDphone TWO GT-6.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/FLEtBoNWemiJA5oFfHGTo3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As open backs, the TWO GT are plenty spacious. I could track the haunting, industrial percussion in Chris Stapleton’s <em>Death Row</em> fading backwards out of earshot. SOHN’s <em>Antigravity</em>, meanwhile, felt truly wide, the reverby opening percussion effects pinging inwards and outwards on a distinct horizontal plane.</p><p><em>Listen along to my testing playlist below, on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-heddphone-two-gt-review-verdict"><span>HEDDphone TWO GT review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mcWTwLuo2i2rfZA83TakCk" name="Heddphones LIST-Social" alt="A split image showing the HEDDphone TWO GT on the left against a blue background, with the same headphones in hand on the right" src="https://cdn.mos.cms.futurecdn.net/mcWTwLuo2i2rfZA83TakCk.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s really difficult to fault the HEDDphone TWO GT. Sound, comfort, build quality — it’s all there. The only major points I can really knock off are for the huge size and objectively high price, although with the caveat that, in the crazy arena of audiophile gear, they’re not priced beyond the pale. In terms of performance, you’re getting a hell of a lot here, and personally this is the sweet spot for me, in terms of audiophile sound versus cost.</p><p>Sure, if you want deeper bass, from both an extension and power standpoint, then I’d advise looking into warmer-tuned planars from the likes of Audeze or Meze, but that’s a sheer preference thing. And besides, the TWO GT can get respectably bassy if you play about a little with your DAC/amp. Wanna know the only <em>really</em> bad thing about reviewing the TWO GT? I’ll tell ya: It’s that I have to give them back.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/heddphone-two-gt-review</link>
                                                                            <description>
                            <![CDATA[ The HEDDphone TWO GT offer impressively detailed sound, combined with supreme comfort and excellent build quality. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8Q7nLFreygRpr7BFddLVMF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mcWTwLuo2i2rfZA83TakCk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 10:33:37 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 10:57:08 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mcWTwLuo2i2rfZA83TakCk-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A split image showing the HEDDphone TWO GT on the left against a blue background, with the same headphones in hand on the right]]></media:description>                                                            <media:text><![CDATA[A split image showing the HEDDphone TWO GT on the left against a blue background, with the same headphones in hand on the right]]></media:text>
                                <media:title type="plain"><![CDATA[A split image showing the HEDDphone TWO GT on the left against a blue background, with the same headphones in hand on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mcWTwLuo2i2rfZA83TakCk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The HEDDphone TWO GT are a set of premium audiophile open back headphones from German audio manufacturer HEDD. Slightly counterintuitively, the TWO GT aren’t a successor to a ONE GT, but rather a redevelopment of the HEDDphone TWO (which themselves follow up the original HEDDphone).</p><p>The TWO GT pack tweaked AMT drivers and a warmer sound profile than the TWO, pitching them more towards leisurely home listening rather than pure, detail-oriented reference use.</p><p>With their striking yet comfortable aesthetic and unerringly premium German build quality, the TWO GT do much to justify their high price. Add on the utterly fantastic sound quality, and the TWO GT ought to be, at the very least, a serious shortlist candidate for any discerning listeners in search of new cans.</p><p>Could these be some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for audiophiles? I think so. But read my full review to find out more.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-specs"><span>HEDDphone TWO GT review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From <a href="https://hedd.audio/products/heddphone-two-gt" target="_blank" rel="nofollow"><u>$1,699</u></a> / <a href="https://hedd.audio/products/heddphone-two-gt?variant=54574029963532" target="_blank" rel="nofollow"><u>£1,472</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>AMT</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>10Hz - 40,000Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>41Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>88dB / 1mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired-only</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>1.2lbs / 550g</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-heddphone-two-gt-review-price-availability"><span>HEDDphone TWO GT review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HvVPzopSqwuDNukr5xJLs3" name="HEDDphone TWO GT-8.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/HvVPzopSqwuDNukr5xJLs3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HEDDphone TWO GT cost <a href="https://hedd.audio/products/heddphone-two-gt" target="_blank" rel="nofollow"><u>$2,199 / £1,899</u></a> from HEDD. However, if you have your own cables already, you can save a bit of cash by buying the ‘UNPLUGGED’ variant without cables included, which cost  £1,472 / $1,699.</p><p>While they objectively cost a lot of money, in the context of audiophile headphones, the TWO GT aren’t priced beyond the pale. In the audiophile landscape, $2,199 is just getting started. The Meze Audio Elite, for example, will set you back $4,000, while my other high-end cans, the Audeze LCD5-S, cost $4,500. I’m not saying those aren’t great headphones, but to a large extent there’s a law of diminishing returns at play here. The HEDDphone TWO GT sound utterly fantastic, so I don’t see why you’d really need to go further unless you want something specific that other cans offer.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-design"><span>HEDDphone TWO GT review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vXchnkERjZRVTtmj55Yxi3" name="HEDDphone TWO GT-3.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/vXchnkERjZRVTtmj55Yxi3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What do you get if you cross a set of F1 pitwall headphones with a WWE-worthy stash of anabolic steroids? The TWO GT, obviously. These are absolute chonkers, and frankly, if I had to wear them anywhere outside the house, I’d probably feel a little self-conscious. Luckily, I don’t have to — like most audiophile open-back cans, these are intended for indoor (and, more specifically, home) use only. </p><p>They look great though: blacked out and replete with German neo-futurism. And besides, they wear their large size and hefty 1.2lb curb weight extremely well, proving effortlessly lightweight and comfortable atop the ol’ noggin.</p><p>That’s thanks to an unashamedly overengineered suspended headband. It’s a piece of padding suspended on a strip of synthetic fabric that weaves in and out of the main carbon-fiber headband. It distributes the weight extremely well, and also offers lots of adjustment. Sure, the end result isn’t any different from other suspended straps — <em>a la</em> Audeze LCD-X or Meze Poet. But it’s cool, different, and complements the general extra-ness of the overall aesthetic. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VCFSvyqcJUdoyKEFzbPvj3" name="HEDDphone TWO GT-5.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/VCFSvyqcJUdoyKEFzbPvj3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Included with the TWO GT are two sets of ear pads: one gloriously soft set of lamb’s leather; one vegan velour for the less carnivorous of disposition. I prefer the lamb’s leather pads, but both are incredibly thick and comfy anyway, so if HEDD had just given me the velour pads, I wouldn’t have complained. Also, while it’s nice to see a vegan option included, I find it kinda weird that they ship with both instead of letting you select one or the other at checkout — sure, a vegan won’t have to wear the lamb’s leather pads, but they’ll still have been forced to buy them, which isn’t much better.</p><p>Build-wise, these things earn their price. They feel premium. They feel special. They feel German. This is a double-decade set of cans <em>at least</em>, make no mistake. I love the loose-weave braided cables included (with the standard model), too, which feel super premium. Additionally, there’s a fabric hard case included, which features a cable storage compartment. This is much less bulky than the aluminum hard case that came with my Audeze LCD5-S, making the TWO GT easier to travel with.</p><h3 id="connectivity-7">Connectivity</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d8rRqsDtQZUiRraTg2Csi3" name="HEDDphone TWO GT-2.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/d8rRqsDtQZUiRraTg2Csi3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HEDDphone TWO GT are passive headphones, which won’t surprise any audiophiles. I’ll cover their amplification requirements below, but their unpowered nature means there are no mod-cons like wireless connectivity, battery life, ANC, etc. </p><p>They connect to your amplifier via a wired connection, and HEDD is generous with the included cablewear on the standard variant (the UNPLUGGED variant comes with no cables). There are two cables, one balanced 4.4mm, one unbalanced 6.35mm, with two adapters — a 4.4mm to XLR 4-pin adapter and a 6.35mm to 3.5mm — chucked in too.</p><h3 id="drive">Drive</h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9oGuTXhYYFFHCgg554mni3" name="HEDDphone TWO GT-4.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/9oGuTXhYYFFHCgg554mni3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As passive headphones, the TWO GT must be powered. You’ll want to use a DAC/amp to handle both the digital audio conversion and power. With an impedance of 41Ω and a sensitivity of 88dB / 1mW, they’re not too tricky to drive. HEDD suggests a minimum power of 200mW, but recommends around 1,000mW for peak performance. I powered the headphones using my <a href="https://www.amazon.com/FiiO-K15-Headphone-AK4497Sx2-PCM768kHz/dp/B0FK4Y92SP" target="_blank" rel="nofollow"><u>FiiO K15</u></a> (up to 30,000mW), which was comfortable at 85% volume on the medium gain setting, and the <a href="https://ifi-audio.com/products/idsd-gr-2" target="_blank" rel="nofollow"><u>iFi iDSD GR2</u></a> (up to 2,173mW), which I needed to run at about 80% volume without any added gain.</p><h2 class="article-body__section" id="section-heddphone-two-gt-review-sound-quality"><span>HEDDphone TWO GT review: Sound quality</span></h2><p>Like other HEDD gear, the TWO GT use AMT transducers. These drivers employ a series of folded metal diaphragms to push and pull air, rather than the cones or wafer-thin layers of metal filaments used respectively by dynamic and planar magnetic drivers.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W3QFJZyerhhLYJbtqBMVo3" name="HEDDphone TWO GT-7.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/W3QFJZyerhhLYJbtqBMVo3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Historically, AMT drivers have been great for use as dedicated tweeters or mid-range speakers, but lacked bass response. To solve that, HEDD employs its “Variable Velocity Transformation” (VVT), which actively modulates the profile of the folds for response down as low as 10Hz. In short: bass good.</p><p>I tested the TWO GT using <a href="https://www.tomsguide.com/audio/qobuz-review"><u>Qobuz</u></a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><u>best music streaming service</u></a> for audiophiles. I streamed in lossless hi-res or CD quality via USB-C through the FiiO K15 and iFi DSD GR2 DAC/amps.</p><h4 id="bass">Bass</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:51.80%;"><img id="kJ8W3GrmpFS6fZ2X3v6e4T" name="HEDDphone_TWO_GT_43ag_Freq_Curve" alt="A graph showing the HEDDphone TWO GT frequency response curve measured on the Gras 43AG, supplied by HEDD." src="https://cdn.mos.cms.futurecdn.net/kJ8W3GrmpFS6fZ2X3v6e4T.webp" mos="" align="middle" fullscreen="1" width="1500" height="777" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/kJ8W3GrmpFS6fZ2X3v6e4T.webp' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HEDD)</span></figcaption></figure><p>As you can see on the manufacturer’s frequency response curve, the TWO GT’s tuning is deliberately slightly warm, but it’s not aeons from the neutral tune of the HEDDphone TWO or <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-this-pair-of-wired-headphones-and-they-blow-wireless-options-out-of-the-water"><u>HEDDphone D1</u></a>. The TWO GT offer rich, enveloping bass, but nothing overwhelming. You could definitely still use these cans for reference or studio work. </p><p>As far as easy bass, the TWO GT relayed beautifully the thick, undulating double bass of Odetta’s <em>Hit or Miss</em>, as well as the powerful electronic bass warbling of Burn Water’s <em>Ikigai</em>. </p><p>When it comes to the trickier stuff, there’s less oomph in the sub region by default. However, the TWO GT can handle it if you dial in some extra low down power. I mostly used my FiiO K15 DAC/amp, as I like its clean, natural feel without EQ. But in songs where I wanted more sub bass — like the last 20 seconds of SOHN’s <em>Antigravity</em> — I switched to my iFi DSD GR2 and used the ‘XBass’ bass boost mode for a few dB extra at 20-30Hz. The TWO GT still weren’t as subby as my planar- and slam-plate-fitted Audeze LCD5-S, but did a respectable job, gently vibrating my temples (with no distortion whatsoever, I might add).</p><h4 id="mids">Mids</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BJQPB5CQcciHQm7rynYrT3" name="HEDDphone TWO GT-1.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/BJQPB5CQcciHQm7rynYrT3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As I mentioned, while warm, the TWO GT are still well balanced across the curve, with a prominent, clean mid-range. There was a pleasantly-expressed, natural timbre to acoustic guitars, with a gorgeous woody resonance to 49 Winchester’s riff in <em>Russell County Line</em>. In Melvins’ dual-riffed sludge-fest, <em>Honey Bucket</em>, the lower mid-range packed bags of texture, with plenty of crunch to those distorted guitars, while strong separation let me pick out the individual riffs.</p><p>The upper mid-range also packs bags of resolution and natural timbre: vocals in Blusher’s <em>Last Man Standing</em> sounded full and lifelike, and I could pick apart the individual voices and whispered backing vocals throughout harmonies.</p><h4 id="treble">Treble</h4><p>The treble is fairly bright. Personally, I felt myself wanting a tad more sharpness on certain tracks — typically it was busier, older recordings like <em>Honey Bucket</em> and The Who’s <em>Eminence Front</em> where I craved just a little more snap to cymbals and hi-hats. This is mainly down to personal preference and individual ear anatomy, though, and can simply be EQ’d or otherwise tweaked to taste. Using my iFi GR2, I applied a GTO digital filter with the Kenwood K2 HD upsampling mode, which worked a treat, adding that smidge of extra definition I was looking for up top. </p><h4 id="soundstage-2">Soundstage</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FLEtBoNWemiJA5oFfHGTo3" name="HEDDphone TWO GT-6.JPG" alt="The HEDDphone TWO GT against a blue background" src="https://cdn.mos.cms.futurecdn.net/FLEtBoNWemiJA5oFfHGTo3.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>As open backs, the TWO GT are plenty spacious. I could track the haunting, industrial percussion in Chris Stapleton’s <em>Death Row</em> fading backwards out of earshot. SOHN’s <em>Antigravity</em>, meanwhile, felt truly wide, the reverby opening percussion effects pinging inwards and outwards on a distinct horizontal plane.</p><p><em>Listen along to my testing playlist below, on Qobuz.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-heddphone-two-gt-review-verdict"><span>HEDDphone TWO GT review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mcWTwLuo2i2rfZA83TakCk" name="Heddphones LIST-Social" alt="A split image showing the HEDDphone TWO GT on the left against a blue background, with the same headphones in hand on the right" src="https://cdn.mos.cms.futurecdn.net/mcWTwLuo2i2rfZA83TakCk.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s really difficult to fault the HEDDphone TWO GT. Sound, comfort, build quality — it’s all there. The only major points I can really knock off are for the huge size and objectively high price, although with the caveat that, in the crazy arena of audiophile gear, they’re not priced beyond the pale. In terms of performance, you’re getting a hell of a lot here, and personally this is the sweet spot for me, in terms of audiophile sound versus cost.</p><p>Sure, if you want deeper bass, from both an extension and power standpoint, then I’d advise looking into warmer-tuned planars from the likes of Audeze or Meze, but that’s a sheer preference thing. And besides, the TWO GT can get respectably bassy if you play about a little with your DAC/amp. Wanna know the only <em>really</em> bad thing about reviewing the TWO GT? I’ll tell ya: It’s that I have to give them back.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Pound for pound, these Sennheiser open-back headphones are the best I’ve ever tested, and only cost $199 on sale ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Sennheiser HD 550 are a set of mid-range open-back headphones, designed for critical listening. For a reasonable price (relatively speaking), they offer exceptional, high-end audio. Get them on sale, though, and they’re an absolute bargain.</p><p>They’re not totally perfect, with a cheap-looking design that doesn’t fold, and only a thin fabric bag supplied for storage, which feels a little stingy at this price. Those issues are minor, though, and matter very little when the HD 550 are actually on your head. </p><p>Performance-wise, there’s virtually nothing to complain about, as long as you want a neutral, rather than warm sound profile. So, could these be the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for you? Probably. Read my full Sennheiser HD 550 review to find out.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-specs"><span>Sennheiser HD 550 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Sennheiser-HD-550-Audiophile-Headphones/dp/B0DSGHN67Q" target="_blank" rel="nofollow"><u>$349</u></a> / <a href="https://www.richersounds.com/sennheiser-hd550-black/" target="_blank" rel="nofollow"><u>£179</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>Dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>6Hz - 39,500Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>150Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>98.5dB/mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired-only, 3.5mm cable + 6.3mm adapter included</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.3 ounces / 237 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sennheiser-hd-550-review-price-availability"><span>Sennheiser HD 550 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ov7dEN8XWJAHqGy7c6o43a" name="Sennheisser_HD550_Headphones_003.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/ov7dEN8XWJAHqGy7c6o43a.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Sennheiser HD 550 cost <a href="https://www.amazon.com/Sennheiser-HD-550-Audiophile-Headphones/dp/B0DSGHN67Q" target="_blank" rel="nofollow">$349 at Amazon</a>, although we’ve seen them drop to $199 at Amazon during sales events, so it’s worth holding out for a deal. Even at their full MSRP, though, I think they’re extremely good value for money (as you’ll see later). In the U.K., they’re a veritable bargain, costing just <a href="https://www.richersounds.com/sennheiser-hd550-black/" target="_blank" rel="nofollow">£179 at Richer Sounds</a>.</p><p>The HD 550 compete with the likes of the Philips Fidelio X3 ($349 MSRP, but can also be found for under $200), Grado SR325X ($349) and <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a> ($399). Personally, I prefer the Meze cans, which feel a little more premium and special with Meze’s typically striking aesthetic, and have a warmer (slightly bassier) profile. If you want that neutral tuning, though, which I understand, it’s Sennheiser all the way.</p><p>Likewise, if you simply can’t stretch the balance to the $399 105 AER, the HD 550 are a fantastic budget alternative if you can pick them up for that sub-$200 sale price. I've no qualms recommending that course of action.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-design"><span>Sennheiser HD 550 review: Design</span></h2><p>My only major gripe about the HD 550 isn’t actually <em>that</em> major. I personally think they’re kinda ugly. I find the long oval earcup design rather dated, and, dare I say it, uncannily ‘anatomical’ in appearance — the way they drop down from the headband resembles a particular diagram from biology class.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B7yFx3usVFWjtQxnUeRAFa" name="Sennheisser_HD550_Headphones_007.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/B7yFx3usVFWjtQxnUeRAFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">... I'll say no more. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Meanwhile, the plain finish reminds me of the ultra-cheap Sennheiser cans we used in music class. But, realistically, when they’re on your head, looks don’t matter. I guess I’m just spoiled by having the Meze 105 AER at home.</p><p>I’ve also been testing the retro (and U.S.-made) Grado SR325 recently, whose mid-20th-century styling is absolutely stunning in my opinion. The HD 550 comfort and sound quality are both in a different league, though, so my advice is still to go German if you’re torn between the two.</p><p>While they're not pretty, the HD 550 are built like all Sennheisers I've tested: extremely well. They're light, but this hasn't come at the sacrifice of sturdiness. There’s no rattling or shaking, as I’ve experienced with some “premium” headphones (looking at you, <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review"><u>Bose QuietComfort Ultra Gen 2</u></a>). The plastics might look a little tacky but they're of high quality, and the metal grate on the back of the earcups feels premium, too. </p><p>With Sennheiser, whether it’s the $40 <a href="https://www.tomsguide.com/audio/earbuds/sennheiser-cx-80u-wired-earbuds-review"><u>CX 80U</u></a> or $399 <a href="https://www.tomsguide.com/audio/headphones/sennheiser-momentum-5-review"><u>Momentum 5</u></a>, it doesn’t make a difference — everything the brand makes is built to an exacting standard, and I love that.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kMbCSsSqjVpqmq2NWwmiEa" name="Sennheisser_HD550_Headphones_012.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/kMbCSsSqjVpqmq2NWwmiEa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HD 550 don’t fold, which isn’t a huge issue as they’re intended for home use — because they’re open backs, you’ll damage the drivers by exposing them to the elements. There’s no proper case for them, though, just a soft pouch, so be careful when storing that nothing else crushes them. At $349, a thin pouch feels more than a little stingy to me. The Meze 105 AER, by contrast, come with a hard-shell case and cable pouch, although the Grado SR325 come with literally nothing but a cable, so I suppose it could be worse.</p><h4 id="comfort-5">Comfort</h4><p>Comfort-wise, I didn’t have high hopes for the HD 550 — that plasticky finish rekindled memories of the <a href="https://www.tomsguide.com/audio/headphones/sennheiser-hd-400u-review#section-sennheiser-hd-400u-review-design-comfort"><u>Sennheiser HD 400U</u></a> and their super-thin headband. Thankfully, I was proven wrong, and the HD 550 are really comfortable to wear.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j3WieTyuJJHnELG6Nf8MHa" name="Sennheisser_HD550_Headphones_008.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/j3WieTyuJJHnELG6Nf8MHa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are no frills — no suspended headband design, as on the 105 AER — just a spongey, padded leatherette headband and some soft synthetic velour earcup pads. Depending on the shape of your head, I can see the two metal brackets either side of the headband padding might dig in, although I didn’t have this issue. The velour ear pads are squishy, comfy and breathable, and I had no issues with them getting hot or sweaty after a few hours use, although admittedly I was in an air-conditioned room. A huge step up over the (frankly unacceptable) raw foam pads on the <a href="https://www.tomsguide.com/audio/headphones/grado-sr80-review"><u>Grado SR80</u></a> ($175) and SR325.</p><p>Sennheiser makes a big deal about how light the HD 550 are, and about how much attention has been paid to clamp force — specifically, the reduction thereof. Guilty on both counts but, y’know, in a good way. After several hours I had no neck ache from weight, and no pressure on my temples from clamping.</p><h4 id="connectivity-8">Connectivity</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5LygPjn5iEfPcYi9tAL5iZ" name="Sennheisser_HD550_Headphones_010.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/5LygPjn5iEfPcYi9tAL5iZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s really very little to the HD 550, connectivity-wise. These headphones are designed for critical wired music listening at home, and for gaming, so there’s no wireless, no onboard controls, and nothing fancy. They plug in via a cable, with a 3.5mm jack and 6.3mm adapter included. </p><h4 id="drive-2">Drive</h4><p>The HD 550 are easy headphones to drive, with a sensitivity of 106.7dB/V, which equates to 98.5dB/mW given their 150Ω impedance. In layman’s terms, that means with 1mW of power fed in, the HD 550 will output 98.5 decibels of sound, which is nice and loud.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZGhvjwqKPmPxxUS4B38TFa" name="Sennheisser_HD550_Headphones_006.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/ZGhvjwqKPmPxxUS4B38TFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>1mW isn’t a lot of power, so you can run these cans from your laptop, or even your smartphone, and get loud enough sound. Ideally, though, you’ll want to use a DAC/Amp, which can deliver more power and better digital audio conversion, for a tighter overall sound than running straight from a phone or laptop.</p><p>Initially during testing, the only DAC/Amp I had at hand was the <a href="https://ifi-audio.com/products/idsd-gr-2" target="_blank" rel="nofollow"><u>iFi GR2</u></a>, which was monumentally overpowered. Even at volume level 1 (0 is mute, 100 is full), the sound was painfully loud. I just stepped down in power to the <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BB5RL1" target="_blank" rel="nofollow"><u>FiiO K11 R2R</u></a>, which was perfect, and delivered slightly richer bass than running straight from my MacBook Pro.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-sound-quality"><span>Sennheiser HD 550 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cBQSfFpLeQpxPS4SQ6arcZ" name="Sennheisser_HD550_Headphones_002.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/cBQSfFpLeQpxPS4SQ6arcZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HD 550 use a 150Ω dynamic driver, which Sennheiser proudly claims is built by the manufacturer itself in Ireland (as opposed to being built by a third party in China, I guess). According to Sennheiser, these drivers deliver supreme fidelity across the frequency range, precise channel matching and a wide soundstage. And yeah, that’s about right.</p><div  class="fancy-box"><div class="fancy_box-title">Testing methodology: Sennheiser HD 550</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nJTq6pkMZxozooTgLZyVHa" name="Sennheisser_HD550_Headphones_011.JPG" caption="" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/nJTq6pkMZxozooTgLZyVHa.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">I tested the Sennheiser HD 550 using Qobuz, streaming in CD-quality or hi-res wherever possible. I use the same testing playlist for all my audio testing, with tracks I know like the back of my hand. You can find and listen along to my testing playlist at the bottom of this section.</p></div></div><p>The HD 550 boast Sennheiser’s famously neutral sound. Personally, I prefer the warmer tune of the Meze 105 AER. But there’s still a nice amount of bass on the HD 550. They have no problems with the easy stuff down to about 60Hz or so, in electronic songs like Burn Water’s bassy-as-hell <em>Ikigai</em>, for instance. The bass that’s there sounds textured and well-controlled, too, with no distortion, bleeding or muddying on heavy rock tracks like Melvins’ <em>Honey Bucket.</em></p><p>However, there’s not much extension into tricker subby stuff, despite the response range bottoming out at a low 6Hz on paper. The closing 20 seconds of SOHN’s <em>Antigravity</em> is composed primarily of the deepest sub bass known to mankind, which the HD 550 weren’t able to replicate very well. In fairness, the only headphones I’ve used that even come close to relaying what that song is <em>supposed</em> to sound like (i.e. on a large hi-fi speaker system) are the SLAM-plate-fitted Audeze LDC5-S, which vibrate my skull during the song’s close… but cost $4,500. In short, it’s a tough track, and I’m not marking the HD 550 down here — they’re just not designed to be subby.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="davpugQRuAcF5h8cWo7TQT" name="Sennheiser HD 550 Frequency curve" alt="A graph showing the Sennheiser HD 550 frequency response curve plotted against the Sennheiser HD 559." src="https://cdn.mos.cms.futurecdn.net/davpugQRuAcF5h8cWo7TQT.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/davpugQRuAcF5h8cWo7TQT.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Sennheiser HD 550 frequency profile versus the HD 559, courtesy of Sennheiser. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>My favorite thing about the HD 550 is the spotlessly clean mid-range. Guitars in particular sound absolutely great, with so much presence, precision and dynamism audible in the riffs of <em>Honey Bucket </em>and of QOTSA’s <em>Medication</em>. They’re not just suited to guitary business either: the oscillating opening synths of Dadi Freyr’s electropop <em>Hot Damn</em> had bags of punch and texture. It was like being <em>in</em> <em>da</em> <em>club</em>.</p><p>Then there’s the treble, which is gloriously detailed. I was picking out the softest of ethereal backing vocals in <em>Ikigai</em>, and even the trailing reverb of Chris Stapleton’s vocals bouncing off the recording studio’s walls in <em>Death Row</em>. It’s not too bright, though, so I never found myself fatigued or suffering ear-ache from cymbals.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="co3m5dwhM8akqgA6uMG2Ha" name="Sennheisser_HD550_Headphones_009.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/co3m5dwhM8akqgA6uMG2Ha.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The soundstage is likewise fantastic. Imaging is solid for the money, and I could pinpoint the plethora of production elements in The Who’s <em>Eminence Front</em>. And as open backs, there’s plenty of width and openness to the sound, too, with <em>Antigravity</em>’s almost disorientingly spatial intro pinging inwards and outwards in distinct layers from/to my ears. Lovely.</p><p><em>Listen along to my audio testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em>, the </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><em>best music streaming service</em></a><em> for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-sennheiser-hd-550-review-verdict"><span>Sennheiser HD 550 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cqsArdEwyTPG5yDLQeY62a" name="Sennheisser_HD550_Headphones_004.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/cqsArdEwyTPG5yDLQeY62a.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you’re after highly detailed sound on a modest budget, I can’t think of any better headphones to buy. Okay, they don’t look as premium as rivals at the same MSRP, and I feel a bit shortchanged by the pouch, but those are minor issues. Bass isn’t the punchiest, either, so if you’re after a slightly warmer profile I’d recommend the Meze 105 AER instead. But if it’s the neutral profile you like — which many do, it simply comes down to preference — then the HD 550 are it. </p><p>I’ll end on an anecdote: after I finished testing, I passed the HD 550 to my colleague, Erin, who took a listen and summed things up just about perfectly, saying “this is how music is supposed to be listened to.”</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/sennheiser-hd-550-review</link>
                                                                            <description>
                            <![CDATA[ The Sennheiser HD 550 stay true to the brand’s core tenets: supreme audio quality at a fair price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bRVgpdXLgQLUGmyvjFdsmM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nJTq6pkMZxozooTgLZyVHa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 15:25:25 +0000</pubDate>                                                                                                                                <updated>Wed, 15 Jul 2026 18:10:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/nJTq6pkMZxozooTgLZyVHa-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Sennheiser HD 550 headphones on a stone surface with a blue background]]></media:description>                                                            <media:text><![CDATA[The Sennheiser HD 550 headphones on a stone surface with a blue background]]></media:text>
                                <media:title type="plain"><![CDATA[The Sennheiser HD 550 headphones on a stone surface with a blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nJTq6pkMZxozooTgLZyVHa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Sennheiser HD 550 are a set of mid-range open-back headphones, designed for critical listening. For a reasonable price (relatively speaking), they offer exceptional, high-end audio. Get them on sale, though, and they’re an absolute bargain.</p><p>They’re not totally perfect, with a cheap-looking design that doesn’t fold, and only a thin fabric bag supplied for storage, which feels a little stingy at this price. Those issues are minor, though, and matter very little when the HD 550 are actually on your head. </p><p>Performance-wise, there’s virtually nothing to complain about, as long as you want a neutral, rather than warm sound profile. So, could these be the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html"><u>best headphones</u></a> for you? Probably. Read my full Sennheiser HD 550 review to find out.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-specs"><span>Sennheiser HD 550 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Sennheiser-HD-550-Audiophile-Headphones/dp/B0DSGHN67Q" target="_blank" rel="nofollow"><u>$349</u></a> / <a href="https://www.richersounds.com/sennheiser-hd550-black/" target="_blank" rel="nofollow"><u>£179</u></a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Open back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>Dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>6Hz - 39,500Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>150Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Sensitivity</strong></p></td><td  ><p>98.5dB/mW</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired-only, 3.5mm cable + 6.3mm adapter included</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.3 ounces / 237 grams</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sennheiser-hd-550-review-price-availability"><span>Sennheiser HD 550 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ov7dEN8XWJAHqGy7c6o43a" name="Sennheisser_HD550_Headphones_003.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/ov7dEN8XWJAHqGy7c6o43a.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Sennheiser HD 550 cost <a href="https://www.amazon.com/Sennheiser-HD-550-Audiophile-Headphones/dp/B0DSGHN67Q" target="_blank" rel="nofollow">$349 at Amazon</a>, although we’ve seen them drop to $199 at Amazon during sales events, so it’s worth holding out for a deal. Even at their full MSRP, though, I think they’re extremely good value for money (as you’ll see later). In the U.K., they’re a veritable bargain, costing just <a href="https://www.richersounds.com/sennheiser-hd550-black/" target="_blank" rel="nofollow">£179 at Richer Sounds</a>.</p><p>The HD 550 compete with the likes of the Philips Fidelio X3 ($349 MSRP, but can also be found for under $200), Grado SR325X ($349) and <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze Audio 105 AER</a> ($399). Personally, I prefer the Meze cans, which feel a little more premium and special with Meze’s typically striking aesthetic, and have a warmer (slightly bassier) profile. If you want that neutral tuning, though, which I understand, it’s Sennheiser all the way.</p><p>Likewise, if you simply can’t stretch the balance to the $399 105 AER, the HD 550 are a fantastic budget alternative if you can pick them up for that sub-$200 sale price. I've no qualms recommending that course of action.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-design"><span>Sennheiser HD 550 review: Design</span></h2><p>My only major gripe about the HD 550 isn’t actually <em>that</em> major. I personally think they’re kinda ugly. I find the long oval earcup design rather dated, and, dare I say it, uncannily ‘anatomical’ in appearance — the way they drop down from the headband resembles a particular diagram from biology class.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B7yFx3usVFWjtQxnUeRAFa" name="Sennheisser_HD550_Headphones_007.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/B7yFx3usVFWjtQxnUeRAFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">... I'll say no more. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Meanwhile, the plain finish reminds me of the ultra-cheap Sennheiser cans we used in music class. But, realistically, when they’re on your head, looks don’t matter. I guess I’m just spoiled by having the Meze 105 AER at home.</p><p>I’ve also been testing the retro (and U.S.-made) Grado SR325 recently, whose mid-20th-century styling is absolutely stunning in my opinion. The HD 550 comfort and sound quality are both in a different league, though, so my advice is still to go German if you’re torn between the two.</p><p>While they're not pretty, the HD 550 are built like all Sennheisers I've tested: extremely well. They're light, but this hasn't come at the sacrifice of sturdiness. There’s no rattling or shaking, as I’ve experienced with some “premium” headphones (looking at you, <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review"><u>Bose QuietComfort Ultra Gen 2</u></a>). The plastics might look a little tacky but they're of high quality, and the metal grate on the back of the earcups feels premium, too. </p><p>With Sennheiser, whether it’s the $40 <a href="https://www.tomsguide.com/audio/earbuds/sennheiser-cx-80u-wired-earbuds-review"><u>CX 80U</u></a> or $399 <a href="https://www.tomsguide.com/audio/headphones/sennheiser-momentum-5-review"><u>Momentum 5</u></a>, it doesn’t make a difference — everything the brand makes is built to an exacting standard, and I love that.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kMbCSsSqjVpqmq2NWwmiEa" name="Sennheisser_HD550_Headphones_012.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/kMbCSsSqjVpqmq2NWwmiEa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HD 550 don’t fold, which isn’t a huge issue as they’re intended for home use — because they’re open backs, you’ll damage the drivers by exposing them to the elements. There’s no proper case for them, though, just a soft pouch, so be careful when storing that nothing else crushes them. At $349, a thin pouch feels more than a little stingy to me. The Meze 105 AER, by contrast, come with a hard-shell case and cable pouch, although the Grado SR325 come with literally nothing but a cable, so I suppose it could be worse.</p><h4 id="comfort-5">Comfort</h4><p>Comfort-wise, I didn’t have high hopes for the HD 550 — that plasticky finish rekindled memories of the <a href="https://www.tomsguide.com/audio/headphones/sennheiser-hd-400u-review#section-sennheiser-hd-400u-review-design-comfort"><u>Sennheiser HD 400U</u></a> and their super-thin headband. Thankfully, I was proven wrong, and the HD 550 are really comfortable to wear.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j3WieTyuJJHnELG6Nf8MHa" name="Sennheisser_HD550_Headphones_008.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/j3WieTyuJJHnELG6Nf8MHa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are no frills — no suspended headband design, as on the 105 AER — just a spongey, padded leatherette headband and some soft synthetic velour earcup pads. Depending on the shape of your head, I can see the two metal brackets either side of the headband padding might dig in, although I didn’t have this issue. The velour ear pads are squishy, comfy and breathable, and I had no issues with them getting hot or sweaty after a few hours use, although admittedly I was in an air-conditioned room. A huge step up over the (frankly unacceptable) raw foam pads on the <a href="https://www.tomsguide.com/audio/headphones/grado-sr80-review"><u>Grado SR80</u></a> ($175) and SR325.</p><p>Sennheiser makes a big deal about how light the HD 550 are, and about how much attention has been paid to clamp force — specifically, the reduction thereof. Guilty on both counts but, y’know, in a good way. After several hours I had no neck ache from weight, and no pressure on my temples from clamping.</p><h4 id="connectivity-8">Connectivity</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5LygPjn5iEfPcYi9tAL5iZ" name="Sennheisser_HD550_Headphones_010.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/5LygPjn5iEfPcYi9tAL5iZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s really very little to the HD 550, connectivity-wise. These headphones are designed for critical wired music listening at home, and for gaming, so there’s no wireless, no onboard controls, and nothing fancy. They plug in via a cable, with a 3.5mm jack and 6.3mm adapter included. </p><h4 id="drive-2">Drive</h4><p>The HD 550 are easy headphones to drive, with a sensitivity of 106.7dB/V, which equates to 98.5dB/mW given their 150Ω impedance. In layman’s terms, that means with 1mW of power fed in, the HD 550 will output 98.5 decibels of sound, which is nice and loud.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZGhvjwqKPmPxxUS4B38TFa" name="Sennheisser_HD550_Headphones_006.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/ZGhvjwqKPmPxxUS4B38TFa.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>1mW isn’t a lot of power, so you can run these cans from your laptop, or even your smartphone, and get loud enough sound. Ideally, though, you’ll want to use a DAC/Amp, which can deliver more power and better digital audio conversion, for a tighter overall sound than running straight from a phone or laptop.</p><p>Initially during testing, the only DAC/Amp I had at hand was the <a href="https://ifi-audio.com/products/idsd-gr-2" target="_blank" rel="nofollow"><u>iFi GR2</u></a>, which was monumentally overpowered. Even at volume level 1 (0 is mute, 100 is full), the sound was painfully loud. I just stepped down in power to the <a href="https://www.amazon.com/FiiO-K11-Headphone-Amplifier-Balanced/dp/B0D9BB5RL1" target="_blank" rel="nofollow"><u>FiiO K11 R2R</u></a>, which was perfect, and delivered slightly richer bass than running straight from my MacBook Pro.</p><h2 class="article-body__section" id="section-sennheiser-hd-550-review-sound-quality"><span>Sennheiser HD 550 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cBQSfFpLeQpxPS4SQ6arcZ" name="Sennheisser_HD550_Headphones_002.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/cBQSfFpLeQpxPS4SQ6arcZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The HD 550 use a 150Ω dynamic driver, which Sennheiser proudly claims is built by the manufacturer itself in Ireland (as opposed to being built by a third party in China, I guess). According to Sennheiser, these drivers deliver supreme fidelity across the frequency range, precise channel matching and a wide soundstage. And yeah, that’s about right.</p><div  class="fancy-box"><div class="fancy_box-title">Testing methodology: Sennheiser HD 550</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nJTq6pkMZxozooTgLZyVHa" name="Sennheisser_HD550_Headphones_011.JPG" caption="" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/nJTq6pkMZxozooTgLZyVHa.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">I tested the Sennheiser HD 550 using Qobuz, streaming in CD-quality or hi-res wherever possible. I use the same testing playlist for all my audio testing, with tracks I know like the back of my hand. You can find and listen along to my testing playlist at the bottom of this section.</p></div></div><p>The HD 550 boast Sennheiser’s famously neutral sound. Personally, I prefer the warmer tune of the Meze 105 AER. But there’s still a nice amount of bass on the HD 550. They have no problems with the easy stuff down to about 60Hz or so, in electronic songs like Burn Water’s bassy-as-hell <em>Ikigai</em>, for instance. The bass that’s there sounds textured and well-controlled, too, with no distortion, bleeding or muddying on heavy rock tracks like Melvins’ <em>Honey Bucket.</em></p><p>However, there’s not much extension into tricker subby stuff, despite the response range bottoming out at a low 6Hz on paper. The closing 20 seconds of SOHN’s <em>Antigravity</em> is composed primarily of the deepest sub bass known to mankind, which the HD 550 weren’t able to replicate very well. In fairness, the only headphones I’ve used that even come close to relaying what that song is <em>supposed</em> to sound like (i.e. on a large hi-fi speaker system) are the SLAM-plate-fitted Audeze LDC5-S, which vibrate my skull during the song’s close… but cost $4,500. In short, it’s a tough track, and I’m not marking the HD 550 down here — they’re just not designed to be subby.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="davpugQRuAcF5h8cWo7TQT" name="Sennheiser HD 550 Frequency curve" alt="A graph showing the Sennheiser HD 550 frequency response curve plotted against the Sennheiser HD 559." src="https://cdn.mos.cms.futurecdn.net/davpugQRuAcF5h8cWo7TQT.jpg" mos="" align="middle" fullscreen="1" width="1920" height="1080" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/davpugQRuAcF5h8cWo7TQT.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Sennheiser HD 550 frequency profile versus the HD 559, courtesy of Sennheiser. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sennheiser)</span></figcaption></figure><p>My favorite thing about the HD 550 is the spotlessly clean mid-range. Guitars in particular sound absolutely great, with so much presence, precision and dynamism audible in the riffs of <em>Honey Bucket </em>and of QOTSA’s <em>Medication</em>. They’re not just suited to guitary business either: the oscillating opening synths of Dadi Freyr’s electropop <em>Hot Damn</em> had bags of punch and texture. It was like being <em>in</em> <em>da</em> <em>club</em>.</p><p>Then there’s the treble, which is gloriously detailed. I was picking out the softest of ethereal backing vocals in <em>Ikigai</em>, and even the trailing reverb of Chris Stapleton’s vocals bouncing off the recording studio’s walls in <em>Death Row</em>. It’s not too bright, though, so I never found myself fatigued or suffering ear-ache from cymbals.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="co3m5dwhM8akqgA6uMG2Ha" name="Sennheisser_HD550_Headphones_009.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/co3m5dwhM8akqgA6uMG2Ha.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The soundstage is likewise fantastic. Imaging is solid for the money, and I could pinpoint the plethora of production elements in The Who’s <em>Eminence Front</em>. And as open backs, there’s plenty of width and openness to the sound, too, with <em>Antigravity</em>’s almost disorientingly spatial intro pinging inwards and outwards in distinct layers from/to my ears. Lovely.</p><p><em>Listen along to my audio testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em>, the </em><a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services"><em>best music streaming service</em></a><em> for audiophiles.</em></p><iframe allow="" height="390" width="400" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><h2 class="article-body__section" id="section-sennheiser-hd-550-review-verdict"><span>Sennheiser HD 550 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cqsArdEwyTPG5yDLQeY62a" name="Sennheisser_HD550_Headphones_004.JPG" alt="The Sennheiser HD 550 headphones on a stone surface with a blue background" src="https://cdn.mos.cms.futurecdn.net/cqsArdEwyTPG5yDLQeY62a.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you’re after highly detailed sound on a modest budget, I can’t think of any better headphones to buy. Okay, they don’t look as premium as rivals at the same MSRP, and I feel a bit shortchanged by the pouch, but those are minor issues. Bass isn’t the punchiest, either, so if you’re after a slightly warmer profile I’d recommend the Meze 105 AER instead. But if it’s the neutral profile you like — which many do, it simply comes down to preference — then the HD 550 are it. </p><p>I’ll end on an anecdote: after I finished testing, I passed the HD 550 to my colleague, Erin, who took a listen and summed things up just about perfectly, saying “this is how music is supposed to be listened to.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My favorite headphones are so good my wife stole them, fortunately they're nearly half-off right now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I wasn't planning on partaking in <a href="https://www.tomsguide.com/news/best-prime-day-deals-and-sales">Prime Day</a> this week, but then I noticed that the earpads on my primary headphones are peeling and the cord connection is starting to fail. I need some new cans.</p><p>At one point, I had a pair of the excellent <a href="https://www.tomsguide.com/audio/jbl-tour-one-m3-review">JBL Tour One M3 </a>over-ear headphones, but my wife's <a href="https://www.tomsguide.com/opinion/sonys-wh-1000xm4-headphones-are-great-heres-how-i-made-them-sound-even-better">Sony WH-1000XM4 headphones</a> started failing, and I let her borrow the M3s. I never got them back.</p><p>Fortunately, right now, <a href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow">Amazon has slashed the price to $249</a>, the lowest I've ever seen, knocking $200 off. These high-end headphones are soft, feel luxurious, and remain supremely comfortable over a long listening session. </p><p>Plus, they're JBL, so you know the sound is quality, and at this price, it's a deal you don't want to miss.</p><div class="product"><a data-dimension112="3c3df03c-aa4e-4e38-8c47-38688c7da327" data-action="Deal Block" data-label="Tour One M3" data-dimension48="Tour One M3" data-dimension25="$249" href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="vMmEnLQPNp3jsJg9Pbyzmk" name="jbl tour one m3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/vMmEnLQPNp3jsJg9Pbyzmk.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Tour One M3 are JBL's competitor to the high-end Sony WH-1000XM6 or the AirPods Max 2. The sound is great and they feel quality. Plus, the smart transmitter makes them versatile and able to quickly swap between multiple devices.<a class="view-deal button" href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow" data-dimension112="3c3df03c-aa4e-4e38-8c47-38688c7da327" data-action="Deal Block" data-label="Tour One M3" data-dimension48="Tour One M3" data-dimension25="$249">View Deal</a></p></div><p>Neither I, during the cup of coffee I had with the M3, nor my partner truly utilized the included USB-C smart transmitter. However, my colleague<a href="https://www.tomsguide.com/audio/headphones/jbl-has-fixed-the-biggest-problem-with-wireless-headphones-the-tour-one-m3s-usb-c-transmitter-has-changed-the-game"> Erin Bashford found it to be the best part</a> of the Tour One M3.</p><p>"JBL's newest premium headphones, the Tour One M3, have broken my brain. Not because they're terrible — quite the opposite," Bashford said. "Because they come with the one thing I wish <em>all</em> the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best Bluetooth headphones</a> would include: a USB-C transmitter (alongside Bluetooth, of course)."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Cj3w3QdwRvaDTWbyTRd2z" name="JBL Tour One Pro 3-11" alt="JBL Tour One M3" src="https://cdn.mos.cms.futurecdn.net/Cj3w3QdwRvaDTWbyTRd2z.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The transmitter lets you quickly swap between devices. Working away on your MacBook? You can easily hop over to your iPhone or Android in seconds. In theory, you can connect these headphones to anything with a USB-C port. My wife uses it with the Switch 2 to play Stardew Valley.</p><p>Plus, and equally as important, it comes with a 3.5mm jack. These headphones can connect to darn near anything with a USB-C or 3.5mm aux port.</p><p>I won't pretend that at <a href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow">$249 for Prime Day,</a>a pair of Tour One M3 headphones isn't an investment, but it's one I don't think you'll regret, especially considering their normal price. These headphones don't have the social cachet of an AirPods Max 2 or Beats headset, but maybe they should. </p><h2 id="headphones">HEADPHONES</h2><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-headphones-deals"><span>We're tracking all the best Prime Day headphones deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Headphones&price=100_&rows=4&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&show_countdown=true&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right {      right: 0;      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>\n        \x3C/div>\n      \x3C/div>\n    \x3C/div>          \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const encodedTag = encodeURIComponent(this.activeDealTag.toLowerCase().replace(/\s+/g, '-'));             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map(v => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              return `                \x3Ca href="${this.escapeHTML(linkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item">                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let existingChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             if (this.getViewMode() === 'carousel') {                 if (!existingChevron) {                     gridWrapper.insertAdjacentHTML('beforeend', '\n                 \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: \'smooth\'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>');                 }             } else {                 if (existingChevron) {                     existingChevron.remove();                 }             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            if (!this.processArticleFired) {                  this.processArticleFired = true;                  document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));               }            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/my-favorite-headphones-are-so-good-my-wife-stole-them-fortunately-theyre-nearly-half-off-right-now</link>
                                                                            <description>
                            <![CDATA[ The excellent JBL Tour One M3 headphones are on sale for Prime Day at nearly 50% off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4u5cEuD4kusAGgCCFGD73K</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YpPouP6EHc4tehnJr3pPwk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 25 Jun 2026 01:38:15 +0000</pubDate>                                                                                                                                <updated>Thu, 25 Jun 2026 01:49:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/YpPouP6EHc4tehnJr3pPwk-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[JBL Tour One M3 with Tom&#039;s Guide Price Drop deals badge]]></media:description>                                                            <media:text><![CDATA[JBL Tour One M3 with Tom&#039;s Guide Price Drop deals badge]]></media:text>
                                <media:title type="plain"><![CDATA[JBL Tour One M3 with Tom&#039;s Guide Price Drop deals badge]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YpPouP6EHc4tehnJr3pPwk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I wasn't planning on partaking in <a href="https://www.tomsguide.com/news/best-prime-day-deals-and-sales">Prime Day</a> this week, but then I noticed that the earpads on my primary headphones are peeling and the cord connection is starting to fail. I need some new cans.</p><p>At one point, I had a pair of the excellent <a href="https://www.tomsguide.com/audio/jbl-tour-one-m3-review">JBL Tour One M3 </a>over-ear headphones, but my wife's <a href="https://www.tomsguide.com/opinion/sonys-wh-1000xm4-headphones-are-great-heres-how-i-made-them-sound-even-better">Sony WH-1000XM4 headphones</a> started failing, and I let her borrow the M3s. I never got them back.</p><p>Fortunately, right now, <a href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow">Amazon has slashed the price to $249</a>, the lowest I've ever seen, knocking $200 off. These high-end headphones are soft, feel luxurious, and remain supremely comfortable over a long listening session. </p><p>Plus, they're JBL, so you know the sound is quality, and at this price, it's a deal you don't want to miss.</p><div class="product"><a data-dimension112="3c3df03c-aa4e-4e38-8c47-38688c7da327" data-action="Deal Block" data-label="Tour One M3" data-dimension48="Tour One M3" data-dimension25="$249" href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="vMmEnLQPNp3jsJg9Pbyzmk" name="jbl tour one m3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/vMmEnLQPNp3jsJg9Pbyzmk.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Tour One M3 are JBL's competitor to the high-end Sony WH-1000XM6 or the AirPods Max 2. The sound is great and they feel quality. Plus, the smart transmitter makes them versatile and able to quickly swap between multiple devices.<a class="view-deal button" href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow" data-dimension112="3c3df03c-aa4e-4e38-8c47-38688c7da327" data-action="Deal Block" data-label="Tour One M3" data-dimension48="Tour One M3" data-dimension25="$249">View Deal</a></p></div><p>Neither I, during the cup of coffee I had with the M3, nor my partner truly utilized the included USB-C smart transmitter. However, my colleague<a href="https://www.tomsguide.com/audio/headphones/jbl-has-fixed-the-biggest-problem-with-wireless-headphones-the-tour-one-m3s-usb-c-transmitter-has-changed-the-game"> Erin Bashford found it to be the best part</a> of the Tour One M3.</p><p>"JBL's newest premium headphones, the Tour One M3, have broken my brain. Not because they're terrible — quite the opposite," Bashford said. "Because they come with the one thing I wish <em>all</em> the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best Bluetooth headphones</a> would include: a USB-C transmitter (alongside Bluetooth, of course)."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Cj3w3QdwRvaDTWbyTRd2z" name="JBL Tour One Pro 3-11" alt="JBL Tour One M3" src="https://cdn.mos.cms.futurecdn.net/Cj3w3QdwRvaDTWbyTRd2z.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The transmitter lets you quickly swap between devices. Working away on your MacBook? You can easily hop over to your iPhone or Android in seconds. In theory, you can connect these headphones to anything with a USB-C port. My wife uses it with the Switch 2 to play Stardew Valley.</p><p>Plus, and equally as important, it comes with a 3.5mm jack. These headphones can connect to darn near anything with a USB-C or 3.5mm aux port.</p><p>I won't pretend that at <a href="https://www.amazon.com/JBL-Tour-One-Smart-Transmitter/dp/B0DWT9XPLS/" target="_blank" rel="nofollow">$249 for Prime Day,</a>a pair of Tour One M3 headphones isn't an investment, but it's one I don't think you'll regret, especially considering their normal price. These headphones don't have the social cachet of an AirPods Max 2 or Beats headset, but maybe they should. </p><h2 id="headphones">HEADPHONES</h2><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-headphones-deals"><span>We're tracking all the best Prime Day headphones deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Headphones&price=100_&rows=4&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&show_countdown=true&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right {      right: 0;      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>\n        \x3C/div>\n      \x3C/div>\n    \x3C/div>          \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const encodedTag = encodeURIComponent(this.activeDealTag.toLowerCase().replace(/\s+/g, '-'));             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map(v => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              return `                \x3Ca href="${this.escapeHTML(linkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item">                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let existingChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             if (this.getViewMode() === 'carousel') {                 if (!existingChevron) {                     gridWrapper.insertAdjacentHTML('beforeend', '\n                 \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: \'smooth\'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>');                 }             } else {                 if (existingChevron) {                     existingChevron.remove();                 }             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            if (!this.processArticleFired) {                  this.processArticleFired = true;                  document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));               }            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AirPods Max 2 are $150 off for Prime Day, and it's the lowest price ever ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Right now, both <a href="https://www.walmart.com/ip/AirPods-Max-2-Purple/19894000663" target="_blank">Walmart</a> and <a href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank">Amazon </a>have excellent discounts for the Apple AirPods Max 2. Both retailers have knocked the AirPods Max 2 down to $399 (normally $549) ahead of Walmart Deals and <a href="https://www.tomsguide.com/live/news/prime-day-2026-top-sales-now">Prime Day</a> this week.</p><p>Nicely, these deals cover every colorway, so you have options. And, if you don't mind used, Amazon has the orange version for $379. </p><div class="product"><a data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399" href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TSi2XMUrFhYn5nqrGBsd59" name="airpods max 2 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TSi2XMUrFhYn5nqrGBsd59.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>These are some of the best headphones we've ever used. With seamless Apple ecosystem integration, well-balanced sound, and excellent comfort, the AirPods Max 2 will make you want to listen to music. You have to try them to believe them and at this price, it's almost a steal.<br><br><strong>Price Check: </strong><a href="https://www.walmart.com/ip/AirPods-Max-2-Purple/19894000663" target="_blank" rel="nofollow" data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399">$399 @ Walmart</a><a class="view-deal button" href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank" rel="nofollow" data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399">View Deal</a></p></div><p>The AirPods Max 2 just launched in March of this year, and this is the first major discount we've seen for Apple's high-end over-ear headphones. In our <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max 2 review</a>, we praised the refreshed headphones for their rich, complex sound, calling it an upgrade done right.</p><p>"If you like how AirPods Pro or AirPods Max Gen 1 sound, you are in for a treat with the AirPods Max 2. Apple has taken everything from its predecessor and dialed it up to 11."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SFZsRLkZwDr2CuvgqXtCEF" name="AirpodsMax2_07.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SFZsRLkZwDr2CuvgqXtCEF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Max 2s come with personalized spatial audio, Siri integration, Live Translation, and head gestures, making them more useful and smarter than their predecessor. </p><p>Unfortunately, especially these days, the normal $549 price tag is high. Now, that's not as much of a worry because at $399, the AirPods Max 2 outshines many of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>.</p><p>There are two flaws you should know about if you're considering these headphones. They are a bit heavy weighing nearly a pound and the battery life is the same 20 hours as the previous AirPods Max headphones.</p><p>However, if those aren't a problem for you, then we highly recommend you snag a pair of AirPods Max 2 for Prime Day.</p><h2 id="headphones-2">HEADPHONES</h2><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-headphones-deals"><span>We're tracking all the best Prime Day headphones deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Headphones&price=100_&rows=4&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&show_countdown=true&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right {      right: 0;      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>\n        \x3C/div>\n      \x3C/div>\n    \x3C/div>          \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const encodedTag = encodeURIComponent(this.activeDealTag.toLowerCase().replace(/\s+/g, '-'));             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map(v => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              return `                \x3Ca href="${this.escapeHTML(linkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item">                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let existingChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             if (this.getViewMode() === 'carousel') {                 if (!existingChevron) {                     gridWrapper.insertAdjacentHTML('beforeend', '\n                 \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: \'smooth\'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>');                 }             } else {                 if (existingChevron) {                     existingChevron.remove();                 }             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            if (!this.processArticleFired) {                  this.processArticleFired = true;                  document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));               }            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/airpods-max-2-are-usd150-off-for-prime-day-and-its-the-lowest-price-ever</link>
                                                                            <description>
                            <![CDATA[ Apple's excellent over-ear AirPods Max 2 headphones have been deeply discounted ahead of Prime Day. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JxJSCUEaZuEUdxy9tDQ4XN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vfVtLsBW8NfRofesSUZeyD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 22 Jun 2026 20:55:20 +0000</pubDate>                                                                                                                                <updated>Mon, 22 Jun 2026 21:04:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vfVtLsBW8NfRofesSUZeyD-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple AirPods Max 2 prime day deal header]]></media:description>                                                            <media:text><![CDATA[Apple AirPods Max 2 prime day deal header]]></media:text>
                                <media:title type="plain"><![CDATA[Apple AirPods Max 2 prime day deal header]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vfVtLsBW8NfRofesSUZeyD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Right now, both <a href="https://www.walmart.com/ip/AirPods-Max-2-Purple/19894000663" target="_blank">Walmart</a> and <a href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank">Amazon </a>have excellent discounts for the Apple AirPods Max 2. Both retailers have knocked the AirPods Max 2 down to $399 (normally $549) ahead of Walmart Deals and <a href="https://www.tomsguide.com/live/news/prime-day-2026-top-sales-now">Prime Day</a> this week.</p><p>Nicely, these deals cover every colorway, so you have options. And, if you don't mind used, Amazon has the orange version for $379. </p><div class="product"><a data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399" href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TSi2XMUrFhYn5nqrGBsd59" name="airpods max 2 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TSi2XMUrFhYn5nqrGBsd59.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>These are some of the best headphones we've ever used. With seamless Apple ecosystem integration, well-balanced sound, and excellent comfort, the AirPods Max 2 will make you want to listen to music. You have to try them to believe them and at this price, it's almost a steal.<br><br><strong>Price Check: </strong><a href="https://www.walmart.com/ip/AirPods-Max-2-Purple/19894000663" target="_blank" rel="nofollow" data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399">$399 @ Walmart</a><a class="view-deal button" href="https://www.amazon.com/dp/B0GSRYXZM5?th=1" target="_blank" rel="nofollow" data-dimension112="942a4419-ac90-4715-87a7-2abdf30b378a" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$399">View Deal</a></p></div><p>The AirPods Max 2 just launched in March of this year, and this is the first major discount we've seen for Apple's high-end over-ear headphones. In our <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max 2 review</a>, we praised the refreshed headphones for their rich, complex sound, calling it an upgrade done right.</p><p>"If you like how AirPods Pro or AirPods Max Gen 1 sound, you are in for a treat with the AirPods Max 2. Apple has taken everything from its predecessor and dialed it up to 11."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SFZsRLkZwDr2CuvgqXtCEF" name="AirpodsMax2_07.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SFZsRLkZwDr2CuvgqXtCEF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Max 2s come with personalized spatial audio, Siri integration, Live Translation, and head gestures, making them more useful and smarter than their predecessor. </p><p>Unfortunately, especially these days, the normal $549 price tag is high. Now, that's not as much of a worry because at $399, the AirPods Max 2 outshines many of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>.</p><p>There are two flaws you should know about if you're considering these headphones. They are a bit heavy weighing nearly a pound and the battery life is the same 20 hours as the previous AirPods Max headphones.</p><p>However, if those aren't a problem for you, then we highly recommend you snag a pair of AirPods Max 2 for Prime Day.</p><h2 id="headphones-2">HEADPHONES</h2><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-headphones-deals"><span>We're tracking all the best Prime Day headphones deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Headphones&price=100_&rows=4&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&show_countdown=true&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right {      right: 0;      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>\n        \x3C/div>\n      \x3C/div>\n    \x3C/div>          \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const encodedTag = encodeURIComponent(this.activeDealTag.toLowerCase().replace(/\s+/g, '-'));             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map(v => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              return `                \x3Ca href="${this.escapeHTML(linkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item">                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let existingChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             if (this.getViewMode() === 'carousel') {                 if (!existingChevron) {                     gridWrapper.insertAdjacentHTML('beforeend', '\n                 \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.previousElementSibling.scrollBy({left: 200, behavior: \'smooth\'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>');                 }             } else {                 if (existingChevron) {                     existingChevron.remove();                 }             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            if (!this.processArticleFired) {                  this.processArticleFired = true;                  document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));               }            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I thought the Apple AirPods Max 2 were way overhyped — but I finally tried them and they're some of the best headphones I've ever used ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I owe Apple an apology. When the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max 2</a> came out after a six-year wait, I thought, "Big deal, they're just another pair of headphones." </p><p>Then, my colleague, Erin, awarded the headphones a whopping 4.5-star rating in her full review, and even called them "<a href="https://www.tomsguide.com/audio/headphones/i-hate-that-the-airpods-max-2-are-the-best-headphones-ive-ever-used">the best headphones [she'd] ever used.</a>" Her article even <a href="https://www.reddit.com/r/airpods/comments/1sdod05/i_hate_that_the_airpods_max_2_are_the_best/" target="_blank" rel="nofollow">went viral on Reddit </a>with users disagreeing — and I'm here to disagree with all those commenters.</p><p>I admit I was wrong in dismissing them when they first came out, and I'm eating my words now.</p><div class="product"><a data-dimension112="7f6d3327-1db1-420e-9abd-369a864a8e45" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$509" href="https://www.amazon.com/Apple-Headphones-Cancellation-Personalized-Translation/dp/B0GSS4SGZR/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TSi2XMUrFhYn5nqrGBsd59" name="airpods max 2 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TSi2XMUrFhYn5nqrGBsd59.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Stuffed full of AirPods Pro-esque features like Head Gestures, Live Translation, Camera Remote, and improved Siri integration, you might be wondering if Apple has placed too much importance on its smart tech features and forgotten about the sound quality. They absolutely have not. The AirPods Max 2 sound rich, complex, and, most importantly, fun.<a class="view-deal button" href="https://www.amazon.com/Apple-Headphones-Cancellation-Personalized-Translation/dp/B0GSS4SGZR/" target="_blank" rel="nofollow" data-dimension112="7f6d3327-1db1-420e-9abd-369a864a8e45" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$509">View Deal</a></p></div><p>Seamless Apple ecosystem integration, well-balanced and fine-tuned sound, and unmatched comfort make the AirPods Max 2 well worth their $500 sticker price. The AirPods Max 2 make listening to music extremely fun thanks to their energetic and immersive sound, which I'll talk about in detail shortly. Would I recommend them to <em>everyone</em>? Well, read on to find out.</p><h2 id="don-t-judge-a-book-by-its-cover">Don't judge a book by its cover</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4uNmY7JqyhibRAvrENSNQF" name="AirpodsMax2_11.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/4uNmY7JqyhibRAvrENSNQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I'm sure I won't be the first person ever to say this: the Apple AirPods Max 2 look really bulky and large. I'm used to more sleek-looking headphones, like the <a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">Marshall Monitor III that I've been rocking for over a year</a>. The AirPods Max 2 feel very heavy too, at 13.6 ounces, when they aren't sitting on your head and are sitting in their smart case instead.</p><div><blockquote><p>Never judge a book by its cover, I guess, because the AirPods Max 2 are ridiculously comfortable. </p></blockquote></div><p>Because of how heavy they felt in my hands, I was skeptical about how comfortable they'd really be. Never judge a book by its cover, I guess, because the AirPods Max 2 are ridiculously comfortable. The mesh headband does a lot of the heavy lifting here by relieving the pressure you might otherwise feel on the top of your head. As I type this, I've been wearing the AirPods Max 2 for about six hours, and I have no complaints.</p><p>The AirPods Max 2 are also quite aesthetically pleasing.  The headphones ooze class and luxury. I'm aware that the design remains largely unchanged over the original <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-vs-apple-air-pods-max-2">AirPods Max</a>, but that doesn't bother me much. There's room for improvement, but the AirPods Max 2 still offer world-class design.</p><h2 id="the-sound-is-chef-s-kiss">The sound is *chef's kiss*</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YxRm6Az2tYdUsWnHyUGZFF" name="AirpodsMax2_16.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/YxRm6Az2tYdUsWnHyUGZFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Apple AirPods Max 2's sound profile, straight out of the box, is immersive, energetic and expansive. Powerful bass that doesn't boom, crisp treble that doesn't pierce through the rest of the soundstage, and a refined midrange brings your favorite tracks to life — the AirPods Max 2 have got it all.</p><p>I put on 'Choker' by Twenty One Pilots and could instantly feel the anxious groove baked into the track. </p><p>What I love about listening to this song through the AirPods Max 2 is the emphasis on the bassline. It doesn't hit hard the way some bass-forward cans do, but it has room to breathe and it feels controlled. Each note plucked on Tyler Joseph's bass sounds clear and textured, and provides a fantastic drive to the song.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CUjL2e34E35nRtRVdyR9uE" name="AirpodsMax2_14.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/CUjL2e34E35nRtRVdyR9uE.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Next up, I listened to 'Lutt Le Gaya' from the Bollywood movie "Dhurandhar," and through the AirPods Max 2, I had newfound appreciation for the Punjabi-pop track. The vocals won me over as the headphones emphasized the vocals' rich, liquid smoothness, and I could feel the words swirling around me rather than just in my ears. The headphones also struck a great balance between the folk-style vocals and polished electronic production underneath, and the midrange and treble had plenty of energy to them.</p><p>Regardless of the song I listened to, whether that was Tame Impala's psychedelic 'Let It Happen' or Of Monsters and Men's soft 'From Finner,' the AirPods Max 2 delivered.</p><h2 id="are-the-airpods-max-2-for-you">Are the AirPods Max 2 for YOU?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SusawEdjBMCisMriTJVuRF" name="AirpodsMax2_13.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SusawEdjBMCisMriTJVuRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>By now, you know where I stand on the Apple AirPods Max 2. But does it makes sense to buy the AirPods Max 2 if you're not deep into Apple's vast ecosystem? Not really.</p><p>Sure, I own a <a href="https://www.tomsguide.com/reviews/macbook-pro-m1">MacBook Pro M1</a> and I use a <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> for work. But I also use a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a>, and I've used Android phones for a few years now. Are the AirPods Max 2 perfect for someone like me? No, because I listen to music mostly on my phone, and the AirPods Max 2 would be wasted on me.</p><p>If I owned an iPhone, or should the day finally come when I decide to go full Apple, I'll be happily buying the AirPods Max 2. But until then, I'll stick to platform-agnostic cans like the <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Marshall Milton ANC</a>.</p><p>Still, coming from someone who loves Marshall, Bose and Sony, the AirPods Max 2 are <em>actually </em>great headphones. You have to try them to believe it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjPbQW"></div>                            </div>                            <script src="https://kwizly.com/embed/XjPbQW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2 review: ‘Everything from its predecessor dialed up to 11’</a></li><li><a href="https://www.tomsguide.com/audio/headphones/i-hate-that-the-airpods-max-2-are-the-best-headphones-ive-ever-used">I hate that the AirPods Max 2 are the best headphones I've ever used</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li></ul><div data-widget-type="review" data-model-name="Apple AirPods Max 2"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/the-apple-airpods-max-2-are-actually-great-headphones</link>
                                                                            <description>
                            <![CDATA[ I owe Apple an apology. After weeks of denying the AirPods Max 2's prowess, I finally tried them and I was blown away by their comfort and sound quality. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yiqy25bXyu6kUvHTr6UEZH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/SuHi77PnUWBh5LTUcebjPF-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 31 May 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/SuHi77PnUWBh5LTUcebjPF-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:description>                                                            <media:text><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:text>
                                <media:title type="plain"><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/SuHi77PnUWBh5LTUcebjPF-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I owe Apple an apology. When the <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max 2</a> came out after a six-year wait, I thought, "Big deal, they're just another pair of headphones." </p><p>Then, my colleague, Erin, awarded the headphones a whopping 4.5-star rating in her full review, and even called them "<a href="https://www.tomsguide.com/audio/headphones/i-hate-that-the-airpods-max-2-are-the-best-headphones-ive-ever-used">the best headphones [she'd] ever used.</a>" Her article even <a href="https://www.reddit.com/r/airpods/comments/1sdod05/i_hate_that_the_airpods_max_2_are_the_best/" target="_blank" rel="nofollow">went viral on Reddit </a>with users disagreeing — and I'm here to disagree with all those commenters.</p><p>I admit I was wrong in dismissing them when they first came out, and I'm eating my words now.</p><div class="product"><a data-dimension112="7f6d3327-1db1-420e-9abd-369a864a8e45" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$509" href="https://www.amazon.com/Apple-Headphones-Cancellation-Personalized-Translation/dp/B0GSS4SGZR/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="TSi2XMUrFhYn5nqrGBsd59" name="airpods max 2 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TSi2XMUrFhYn5nqrGBsd59.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Stuffed full of AirPods Pro-esque features like Head Gestures, Live Translation, Camera Remote, and improved Siri integration, you might be wondering if Apple has placed too much importance on its smart tech features and forgotten about the sound quality. They absolutely have not. The AirPods Max 2 sound rich, complex, and, most importantly, fun.<a class="view-deal button" href="https://www.amazon.com/Apple-Headphones-Cancellation-Personalized-Translation/dp/B0GSS4SGZR/" target="_blank" rel="nofollow" data-dimension112="7f6d3327-1db1-420e-9abd-369a864a8e45" data-action="Deal Block" data-label="AirPods Max 2" data-dimension48="AirPods Max 2" data-dimension25="$509">View Deal</a></p></div><p>Seamless Apple ecosystem integration, well-balanced and fine-tuned sound, and unmatched comfort make the AirPods Max 2 well worth their $500 sticker price. The AirPods Max 2 make listening to music extremely fun thanks to their energetic and immersive sound, which I'll talk about in detail shortly. Would I recommend them to <em>everyone</em>? Well, read on to find out.</p><h2 id="don-t-judge-a-book-by-its-cover">Don't judge a book by its cover</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4uNmY7JqyhibRAvrENSNQF" name="AirpodsMax2_11.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/4uNmY7JqyhibRAvrENSNQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I'm sure I won't be the first person ever to say this: the Apple AirPods Max 2 look really bulky and large. I'm used to more sleek-looking headphones, like the <a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">Marshall Monitor III that I've been rocking for over a year</a>. The AirPods Max 2 feel very heavy too, at 13.6 ounces, when they aren't sitting on your head and are sitting in their smart case instead.</p><div><blockquote><p>Never judge a book by its cover, I guess, because the AirPods Max 2 are ridiculously comfortable. </p></blockquote></div><p>Because of how heavy they felt in my hands, I was skeptical about how comfortable they'd really be. Never judge a book by its cover, I guess, because the AirPods Max 2 are ridiculously comfortable. The mesh headband does a lot of the heavy lifting here by relieving the pressure you might otherwise feel on the top of your head. As I type this, I've been wearing the AirPods Max 2 for about six hours, and I have no complaints.</p><p>The AirPods Max 2 are also quite aesthetically pleasing.  The headphones ooze class and luxury. I'm aware that the design remains largely unchanged over the original <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-vs-apple-air-pods-max-2">AirPods Max</a>, but that doesn't bother me much. There's room for improvement, but the AirPods Max 2 still offer world-class design.</p><h2 id="the-sound-is-chef-s-kiss">The sound is *chef's kiss*</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YxRm6Az2tYdUsWnHyUGZFF" name="AirpodsMax2_16.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/YxRm6Az2tYdUsWnHyUGZFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Apple AirPods Max 2's sound profile, straight out of the box, is immersive, energetic and expansive. Powerful bass that doesn't boom, crisp treble that doesn't pierce through the rest of the soundstage, and a refined midrange brings your favorite tracks to life — the AirPods Max 2 have got it all.</p><p>I put on 'Choker' by Twenty One Pilots and could instantly feel the anxious groove baked into the track. </p><p>What I love about listening to this song through the AirPods Max 2 is the emphasis on the bassline. It doesn't hit hard the way some bass-forward cans do, but it has room to breathe and it feels controlled. Each note plucked on Tyler Joseph's bass sounds clear and textured, and provides a fantastic drive to the song.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CUjL2e34E35nRtRVdyR9uE" name="AirpodsMax2_14.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/CUjL2e34E35nRtRVdyR9uE.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Next up, I listened to 'Lutt Le Gaya' from the Bollywood movie "Dhurandhar," and through the AirPods Max 2, I had newfound appreciation for the Punjabi-pop track. The vocals won me over as the headphones emphasized the vocals' rich, liquid smoothness, and I could feel the words swirling around me rather than just in my ears. The headphones also struck a great balance between the folk-style vocals and polished electronic production underneath, and the midrange and treble had plenty of energy to them.</p><p>Regardless of the song I listened to, whether that was Tame Impala's psychedelic 'Let It Happen' or Of Monsters and Men's soft 'From Finner,' the AirPods Max 2 delivered.</p><h2 id="are-the-airpods-max-2-for-you">Are the AirPods Max 2 for YOU?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SusawEdjBMCisMriTJVuRF" name="AirpodsMax2_13.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SusawEdjBMCisMriTJVuRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>By now, you know where I stand on the Apple AirPods Max 2. But does it makes sense to buy the AirPods Max 2 if you're not deep into Apple's vast ecosystem? Not really.</p><p>Sure, I own a <a href="https://www.tomsguide.com/reviews/macbook-pro-m1">MacBook Pro M1</a> and I use a <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> for work. But I also use a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a>, and I've used Android phones for a few years now. Are the AirPods Max 2 perfect for someone like me? No, because I listen to music mostly on my phone, and the AirPods Max 2 would be wasted on me.</p><p>If I owned an iPhone, or should the day finally come when I decide to go full Apple, I'll be happily buying the AirPods Max 2. But until then, I'll stick to platform-agnostic cans like the <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Marshall Milton ANC</a>.</p><p>Still, coming from someone who loves Marshall, Bose and Sony, the AirPods Max 2 are <em>actually </em>great headphones. You have to try them to believe it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjPbQW"></div>                            </div>                            <script src="https://kwizly.com/embed/XjPbQW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">Apple AirPods Max 2 review: ‘Everything from its predecessor dialed up to 11’</a></li><li><a href="https://www.tomsguide.com/audio/headphones/i-hate-that-the-airpods-max-2-are-the-best-headphones-ive-ever-used">I hate that the AirPods Max 2 are the best headphones I've ever used</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li></ul><div data-widget-type="review" data-model-name="Apple AirPods Max 2"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Forget Sony’s new $649 Collexion headphones — if you care about audio, these are the premium cans you should buy instead ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In case you missed it, the other week <a href="https://www.tomsguide.com/audio/headphones/sony-just-launched-the-new-1000x-the-collexion-headphones-heres-everything-you-need-to-know-about-this-premium-audio-upgrade">Sony dropped its $649 1000X THE COLLEXION headphones</a>. But don’t worry, I’ll spare you the shouty caps and just refer to them as “1000X The Collexion” or simply “1000X” from now on. </p><p>An upgrade to the still fairly recent <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH1000-XM6</a>, the 1000X have stolen the XM6’s accolade of being Sony’s flagship over-ears. And naturally, that demands a premium in price. The 1000X will set you back $649. So, some dollars indeed.</p><p>Sony sent us a few pairs to try out, and I’ve gotta say, they’re fairly impressive. As it happens, though, when the <a href="https://www.tomsguide.com/audio/headphones/i-tested-sonys-usd650-fashion-headphones-the-wh-1000x-the-collexion-are-more-than-just-pretty">1000X</a> landed on my desk, I had at hand my daily drivers — which I think are the Sony headphones’ closest competitors: the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a>.</p><p>Naturally, then, I did a little back-to-back test to see which came out on top. Here’s what happened.</p><h2 id="but-first-a-note-on-price">But first, a note on price</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mqZZVYkynnjYjHTHMxaAj" name="EmptyName 1.JPG" alt="Bowers & Wilkins Px8 S2 in blue" src="https://cdn.mos.cms.futurecdn.net/mqZZVYkynnjYjHTHMxaAj.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Bowers & Wilkins Px8 S2 in blue. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Now, some important context before we start: there’s a $150 delta between these two sets of cans, with the <a href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow">Px8 S2 costing $799 at Amazon</a>. The Px8 S2 don’t drop by much in sales events either, although you can grab a set used (Like New) from Amazon for $686. The <a href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow">Sony 1000X The Collexion come in $150 cheaper at $649</a>.</p><p>My point here is to see whether — if you can afford to drop big bucks into headphones to begin with — it’s worth stretching that extra bit further to the pricier cans (spoiler alert… I think it is). For the target demographic, I'd say it's reasonable to assume an extra $150 shouldn't be a huge issue.</p><div class="product"><a data-dimension112="02ba1ed5-0ae6-48f6-8b93-0851ebd4b5e0" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="o8sH4w7bcbuUXtPwckc9yn" name="Bowers & Wilkins Px8 S2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o8sH4w7bcbuUXtPwckc9yn.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>We awarded the Px8 S2 our Editor's Choice award and 4.5 stars in our review. These cans are pricey, but do virtually everything right — Hi-Fi sound, strong battery life, excellent ANC and luxurious build quality.<a class="view-deal button" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow" data-dimension112="02ba1ed5-0ae6-48f6-8b93-0851ebd4b5e0" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799">View Deal</a></p></div><div class="product"><a data-dimension112="f0de3245-79bb-46c2-b360-fa8274f7d58e" data-action="Deal Block" data-label="1000X THE COLLEXION" data-dimension48="1000X THE COLLEXION" data-dimension25="$649.99" href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MsaMjcX9k2kWR6V2YBTq9h" name="sony 1000x the collexion" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MsaMjcX9k2kWR6V2YBTq9h.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony 1000X THE COLLEXION are the brand's new flagship, delivering higher fidelity and cleaner sound than the WH-1000XM6, albeit at a higher price. They're cheaper than the Px8 S2, and still great cans if you can't stretch an extra $150.<a class="view-deal button" href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow" data-dimension112="f0de3245-79bb-46c2-b360-fa8274f7d58e" data-action="Deal Block" data-label="1000X THE COLLEXION" data-dimension48="1000X THE COLLEXION" data-dimension25="$649.99">View Deal</a></p></div><h2 id="sound-quality-a-close-run-thing">Sound quality: a close-run thing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2aDfyW37Szj5dCTPo8QzPF" name="Sony-WH-1000-The-Collexion-7" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/2aDfyW37Szj5dCTPo8QzPF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Sony 1000X The Collexion in white. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, both of these headphones sound fantastic. I went into my back-to-back sound tests thinking the Px8 S2 would wipe the floor with the Sonys, but it wasn’t a total wash out. The 1000X are marketed by Sony as offering a much more refined and spacious sound than the WH1000-XM6 — which are tuned more in line with what the mass market wants: bass.</p><p>That said, I still find the 1000X a little too warm in their tuning — for my tastes anyway. Now, I actually enjoyed this in songs where bass isn’t the overriding element to begin with — Metallica’s <em>Seek & Destroy</em>, for example, where the added power on Lars’ kick drum complements the drive and energy of the song. </p><p><em>Listen along to my testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em> using the widget below.</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><p>Elsewhere, I still found softer percussion, shimmering effects and vocals often felt a little buried by the 1000X bass, especially in low-heavy electronica like Burn Water’s super-subby, atmospheric <em>Ikigai</em>. At least via the Standard EQ preset. This wasn’t a huge problem — Sony’s app has a wide range of preset EQs and a custom EQ. I really liked the Clear EQ setting, which controlled the bass a little better, for my tastes at least. But I had to play around a fair bit with EQ on a regular basis (a lot of people like doing this, but I find it distracting).</p><p>By contrast, I haven’t really ever needed to play around with the Bowers & Wilkins EQ. These cans just sound so clean and neutral out of the box, with so much fidelity everywhere you listen. Bass is better controlled, with plenty of detail in the treble, giving really bassy songs like <em>Ikigai</em> much more clarity by allowing the soft, ethereal backing vocals and effects the space they need. There’s bags of mid-range definition, too, which added so much crunch to the distorted riffs on <em>Seek & Destroy</em>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XF7aGGdDAhyxK5M7ZEs3Pf" name="Bowers & Wilkins PX8 S2" alt="Bowers & Wilkins PX8 S2" src="https://cdn.mos.cms.futurecdn.net/XF7aGGdDAhyxK5M7ZEs3Pf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Bowers & Wilkins Px8 S2 in brown. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Of note is that the 1000X use 30mm dynamic drivers. Size isn’t everything, of course, but I noticed perceptible distortion on some of the louder sub booms in <em>Ikigai</em>. The Px8 S2 suffered no distortion in the same areas, likely thanks to the larger 40mm drivers.</p><div><blockquote><p>"The 1000X have a 360 upmix mode. I was excited to try this out, but unfortunately found it borderline unlistenable."</p></blockquote></div><p>Both headphones are rather spacious for closed backs, but the Px8 S2 definitely have the edge, sounding noticeably cleaner, brighter and more open than the more intimate-feeling 1000X. Chris Stapleton’s <em>Death Row</em> was pleasingly dynamic on the Bowers & Wilkins, the bluesy guitar licks and Chris’ reverby vocals getting a little closer to the acoustic-esque experience of listening to the track through my <a href="https://www.audeze.com/products/lcd-5s" target="_blank" rel="nofollow">Audeze LCD5-S</a> open backs (although, obviously, the LCD5-S are in a different league, space-wise).</p><p>To supposedly help with that, the 1000X have a 360 upmix mode. I was excited to try this out, but unfortunately found it borderline unlistenable. I mean, it sorta works: Mk.Gee’s über spatial <em>Dream Police</em> was a perfect candidate, and the extra reverb and echoing made for a live-recording-esque kinda effect. But the sound was incredibly compressed, with a bucket load of audible noise.</p><p>An especially noticeable difference between the two is the Px8 S2’s greater detail at low volumes. We discussed this in our Px8 S2 review, so it was on my radar, but I hadn’t grasped the full extent until listening to them in earnest. Even at around 30% volume, the B&Ws retain an incredibly impressive amount of low-end texture and high/mid clarity. By contrast, I had to keep the 1000X at around 70% for a similar sound. Better for your ears, better for battery life, and better for the long term health of the drivers I guess. </p><h2 id="flawless-anc-on-both">Flawless ANC on both</h2><p>Both the 1000X and Px8 S2 have fantastic ANC. In fact, it’s very hard to draw a verdict here. They both do a better job than my $1,200 <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>. Using the 1000X in the office, they cut virtually everything, including road noise from the open window next to my desk. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NxJHavAUSUAirJC7FJVNj" name="EmptyName 2.JPG" alt="Bowers & Wilkins Px8 S2 in blue" src="https://cdn.mos.cms.futurecdn.net/NxJHavAUSUAirJC7FJVNj.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All I can say is that the Px8 S2 ANC is probably the best I’ve tested. Perhaps the strongest test was on the flight home from my honeymoon a couple of weeks ago. The seat in front hosted a screaming toddler, flanked by two dismayed parents, open-mouthed between kicks to the face. On the opposing aisle sat the similarly-unparented and only-slightly-older brother, listening to some mindlessly cheerful kids TV at full blast through his iPad speakers. In the midst of the chaos, a flight attendant fought desperately through the ruckus to ensure seatbelts were on — somehow, if the parents’ entitled faces were anything to go by, this was all <em>her</em> fault.</p><p>Tiny arms flailed. Dried fruit snacks flew. Someone probably lost an incisor. A flight attendant questioned her life choices by flying Ryanair. Many passengers did the same. Nightmare fuel, usually. But not with the Px8 S2.</p><p>Back in the sixth circle of hell — or the row behind the chaos — my wife looked aghast at me laughing maniacally. ‘<em>How can you laugh through this?’</em>  was the subtext. It was the poetry of watching all that happen in mime only, soundtracked instead by the screaming cacophony of Songs For The Deaf’s opener. <em><strong>“You can’t even hear it!”</strong></em></p><p>No matter how loud the hellspawn in front decided to be, nor how long through the flight it decided to be so, I was alright. The Px8 S2’s ANC would drown out everything. And it did. </p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/album/0060694934352?zone=GB-en"></iframe><h2 id="everyday-comforts">Everyday comforts</h2><p>A lot has been said online about the supreme comfort of the 1000X, and I agree… for the most part. They feel like a premium set of cans, and if I’d bought them, I wouldn’t feel shortchanged in the build quality department. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KQuwNDpMpKqiXtbbBkB3Qf.jpg" alt="Bowers & Wilkins PX8 S2" /><figcaption>Neither pair of headphones fold, and both come with a rigid carry case.<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pdw8ak4ZDABxE6JqwA294Y.jpg" alt="Sony WH-1000X The Collexion" /><figcaption>Neither pair of headphones fold, and both come with a rigid carry case.<small role="credit">Future</small></figcaption></figure></figure><p>Again, though, the Bowers & Wilkins have the edge. They go beyond premium to feel luxurious. After around an hour of wearing the Sonys, my ears started to feel a little toasty. The Px8 S2 use a more breathable material, as I wore them for most of a seven-hour train journey through Norway with no issues whatsoever.</p><p>Both sets of cans are a pain in the butt to carry around, though, as they don’t fold and use bulky carry cases instead. The Sony’s case is markedly thinner at least, so that’s the set I’d pick if portability were my biggest concern. Which it isn’t. </p><p>Battery life is another win for the Px8 S2, which offer up to 30 hours. After my seven-hour Norwegian train journey, they’d dropped to 83%, which tallies to our full battery test when we reviewed them. Battery life on the 1000X is just 24 hours. Admittedly, this is only an issue if you’re travelling away from power for any elongated period of time — not really a thing nowadays with the ubiquity of portable power banks. </p><h2 id="frustrating-connectivity">Frustrating connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5qQPjACo9Hn4vHeQ7hedik" name="Sony-WH-1000-The-Collexion-6" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/5qQPjACo9Hn4vHeQ7hedik.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I touched on apps a little earlier when talking about EQ, but there’s more to be said on this. Sony’s app is great, don’t get me wrong, but it’s fundamental to the operation of the headphones, and that really grates on me. You seemingly can’t even connect to the 1000X without the companion app, which feels extremely restrictive — especially for a product you’ve paid $649 for. </p><p>When you do try to connect, the Sony companion app acts like a typical Sony companion app: janky as all hell. It took me 16 minutes to get the headphones to connect. 16 minutes. To hook up over Bluetooth.</p><p>I love that with the Px8 S2, the app is essentially optional. You don’t need to download it in order to get the headphones working, and the driver tuning and default EQ are so good out the box that I rarely, if ever, need to open the app for tweaks.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j2QtVm4uU83H4UDg37M3Qf" name="Bowers & Wilkins PX8 S2" alt="Bowers & Wilkins PX8 S2" src="https://cdn.mos.cms.futurecdn.net/j2QtVm4uU83H4UDg37M3Qf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Bowers & Wilkins Px8 S2 come with a USB-C cable which can be used for wired playback. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Px8 S2 also have USB-C and 3.5mm connectivity, as opposed to only 3.5mm on the Sonys. That means, if you want to play wired from your phone with the 1000X, you’re stuck using the <em>technically</em> subpar phone DAC. Will it make a noticeable difference? Probably not. But I like knowing that I’m bypassing my smartphone DAC altogether and using the Px8 S2’s internal conversion over USB-C, getting the best I can out of the cans when using my phone.</p><p>Still, if you’re concerned, you could always invest in a portable DAC/amp, like the <a href="https://www.amazon.com/FiiO-JadeAudio-Portable-Adapter-Compatible/dp/B0CJ6RKV6X">FiiO KA13</a> ($65). Or my go-to portable DAC, the <a href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH">iFi hipdac 3</a> ($199).</p><h2 id="the-final-word">The final word</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="giWHcvgNtcTZWxVq3ms83E" name="Sony 1000X vs BW Px8 S2" alt="A split image showing the Sony 1000X The Collexion on the left and the Bowers & Wilkins Px8 S2 on the right" src="https://cdn.mos.cms.futurecdn.net/giWHcvgNtcTZWxVq3ms83E.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div class="product"><a data-dimension112="62976dd5-3528-419f-a1a6-75b25ffec43c" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="o8sH4w7bcbuUXtPwckc9yn" name="Bowers & Wilkins Px8 S2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o8sH4w7bcbuUXtPwckc9yn.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>We awarded the Px8 S2 our Editor's Choice award and 4.5 stars in our review. These cans are pricey, but do virtually everything right — Hi-Fi sound, strong battery life, excellent ANC and luxurious build quality.<a class="view-deal button" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow" data-dimension112="62976dd5-3528-419f-a1a6-75b25ffec43c" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799">View Deal</a></p></div><p>So which would I buy out of the two? If you hadn’t already guessed, it’s the Bowers & Wilkins Px8 S2. Look, the Sony 1000X <u><em><strong>THE COLLEXION</strong></em></u><em> </em>are decent headphones. But when you start pricing cans in the ultra-premium range, you’re gonna have to start mixing it with the big boys. And the 1000X can’t quite mix it with the chief.</p><p>If you don’t have the extra $150, I doubt you’ll be disappointed by the 1000X. They look great, sound great, and feel great on your head. It’s just that the Px8 S2 do, well, just about everything better.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OarxKX"></div>                            </div>                            <script src="https://kwizly.com/embed/OarxKX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-vs-sony-1000x-the-collexion">Apple AirPods Max 2 vs Sony 1000X The Collexion</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/soundcore-liberty-5-pro-max-review">I tested Soundcore’s newest premium flagship earbuds — and they’re coming for the AirPods Pro 3’s crown</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/im-ditching-my-over-ear-headphones-for-these-sony-in-ear-buds-to-beat-the-heat-this-summer-and-they-offer-bose-like-sound-for-a-lot-less">I’m ditching my over-ear headphones for these Sony earbuds to beat the heat this summer — and they offer Bose-like sound for a lot less</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/forget-sonys-new-usd649-headphones-if-you-care-about-audio-these-are-the-premium-cans-you-should-buy-instead</link>
                                                                            <description>
                            <![CDATA[ I tested the Sony 1000X The Collexion versus the Bowers & Wilkins Px8 S2. Here's what happened. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QMxbrT2hCr8hEu8q6zYUDK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/giWHcvgNtcTZWxVq3ms83E-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 29 May 2026 05:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/giWHcvgNtcTZWxVq3ms83E-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A split image showing the Sony 1000X The Collexion on the left and the Bowers &amp; Wilkins Px8 S2 on the right]]></media:description>                                                            <media:text><![CDATA[A split image showing the Sony 1000X The Collexion on the left and the Bowers &amp; Wilkins Px8 S2 on the right]]></media:text>
                                <media:title type="plain"><![CDATA[A split image showing the Sony 1000X The Collexion on the left and the Bowers &amp; Wilkins Px8 S2 on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/giWHcvgNtcTZWxVq3ms83E-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In case you missed it, the other week <a href="https://www.tomsguide.com/audio/headphones/sony-just-launched-the-new-1000x-the-collexion-headphones-heres-everything-you-need-to-know-about-this-premium-audio-upgrade">Sony dropped its $649 1000X THE COLLEXION headphones</a>. But don’t worry, I’ll spare you the shouty caps and just refer to them as “1000X The Collexion” or simply “1000X” from now on. </p><p>An upgrade to the still fairly recent <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH1000-XM6</a>, the 1000X have stolen the XM6’s accolade of being Sony’s flagship over-ears. And naturally, that demands a premium in price. The 1000X will set you back $649. So, some dollars indeed.</p><p>Sony sent us a few pairs to try out, and I’ve gotta say, they’re fairly impressive. As it happens, though, when the <a href="https://www.tomsguide.com/audio/headphones/i-tested-sonys-usd650-fashion-headphones-the-wh-1000x-the-collexion-are-more-than-just-pretty">1000X</a> landed on my desk, I had at hand my daily drivers — which I think are the Sony headphones’ closest competitors: the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a>.</p><p>Naturally, then, I did a little back-to-back test to see which came out on top. Here’s what happened.</p><h2 id="but-first-a-note-on-price">But first, a note on price</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mqZZVYkynnjYjHTHMxaAj" name="EmptyName 1.JPG" alt="Bowers & Wilkins Px8 S2 in blue" src="https://cdn.mos.cms.futurecdn.net/mqZZVYkynnjYjHTHMxaAj.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Bowers & Wilkins Px8 S2 in blue. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Now, some important context before we start: there’s a $150 delta between these two sets of cans, with the <a href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow">Px8 S2 costing $799 at Amazon</a>. The Px8 S2 don’t drop by much in sales events either, although you can grab a set used (Like New) from Amazon for $686. The <a href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow">Sony 1000X The Collexion come in $150 cheaper at $649</a>.</p><p>My point here is to see whether — if you can afford to drop big bucks into headphones to begin with — it’s worth stretching that extra bit further to the pricier cans (spoiler alert… I think it is). For the target demographic, I'd say it's reasonable to assume an extra $150 shouldn't be a huge issue.</p><div class="product"><a data-dimension112="02ba1ed5-0ae6-48f6-8b93-0851ebd4b5e0" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="o8sH4w7bcbuUXtPwckc9yn" name="Bowers & Wilkins Px8 S2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o8sH4w7bcbuUXtPwckc9yn.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>We awarded the Px8 S2 our Editor's Choice award and 4.5 stars in our review. These cans are pricey, but do virtually everything right — Hi-Fi sound, strong battery life, excellent ANC and luxurious build quality.<a class="view-deal button" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow" data-dimension112="02ba1ed5-0ae6-48f6-8b93-0851ebd4b5e0" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799">View Deal</a></p></div><div class="product"><a data-dimension112="f0de3245-79bb-46c2-b360-fa8274f7d58e" data-action="Deal Block" data-label="1000X THE COLLEXION" data-dimension48="1000X THE COLLEXION" data-dimension25="$649.99" href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MsaMjcX9k2kWR6V2YBTq9h" name="sony 1000x the collexion" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MsaMjcX9k2kWR6V2YBTq9h.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony 1000X THE COLLEXION are the brand's new flagship, delivering higher fidelity and cleaner sound than the WH-1000XM6, albeit at a higher price. They're cheaper than the Px8 S2, and still great cans if you can't stretch an extra $150.<a class="view-deal button" href="https://www.amazon.com/Sony-COLLEXION-Cancelling-Headphones-Microphones/dp/B0GW9MBZJ9/" target="_blank" rel="nofollow" data-dimension112="f0de3245-79bb-46c2-b360-fa8274f7d58e" data-action="Deal Block" data-label="1000X THE COLLEXION" data-dimension48="1000X THE COLLEXION" data-dimension25="$649.99">View Deal</a></p></div><h2 id="sound-quality-a-close-run-thing">Sound quality: a close-run thing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2aDfyW37Szj5dCTPo8QzPF" name="Sony-WH-1000-The-Collexion-7" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/2aDfyW37Szj5dCTPo8QzPF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Sony 1000X The Collexion in white. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, both of these headphones sound fantastic. I went into my back-to-back sound tests thinking the Px8 S2 would wipe the floor with the Sonys, but it wasn’t a total wash out. The 1000X are marketed by Sony as offering a much more refined and spacious sound than the WH1000-XM6 — which are tuned more in line with what the mass market wants: bass.</p><p>That said, I still find the 1000X a little too warm in their tuning — for my tastes anyway. Now, I actually enjoyed this in songs where bass isn’t the overriding element to begin with — Metallica’s <em>Seek & Destroy</em>, for example, where the added power on Lars’ kick drum complements the drive and energy of the song. </p><p><em>Listen along to my testing playlist on </em><a href="https://www.tomsguide.com/audio/qobuz-review"><em>Qobuz</em></a><em> using the widget below.</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><p>Elsewhere, I still found softer percussion, shimmering effects and vocals often felt a little buried by the 1000X bass, especially in low-heavy electronica like Burn Water’s super-subby, atmospheric <em>Ikigai</em>. At least via the Standard EQ preset. This wasn’t a huge problem — Sony’s app has a wide range of preset EQs and a custom EQ. I really liked the Clear EQ setting, which controlled the bass a little better, for my tastes at least. But I had to play around a fair bit with EQ on a regular basis (a lot of people like doing this, but I find it distracting).</p><p>By contrast, I haven’t really ever needed to play around with the Bowers & Wilkins EQ. These cans just sound so clean and neutral out of the box, with so much fidelity everywhere you listen. Bass is better controlled, with plenty of detail in the treble, giving really bassy songs like <em>Ikigai</em> much more clarity by allowing the soft, ethereal backing vocals and effects the space they need. There’s bags of mid-range definition, too, which added so much crunch to the distorted riffs on <em>Seek & Destroy</em>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XF7aGGdDAhyxK5M7ZEs3Pf" name="Bowers & Wilkins PX8 S2" alt="Bowers & Wilkins PX8 S2" src="https://cdn.mos.cms.futurecdn.net/XF7aGGdDAhyxK5M7ZEs3Pf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Bowers & Wilkins Px8 S2 in brown. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Of note is that the 1000X use 30mm dynamic drivers. Size isn’t everything, of course, but I noticed perceptible distortion on some of the louder sub booms in <em>Ikigai</em>. The Px8 S2 suffered no distortion in the same areas, likely thanks to the larger 40mm drivers.</p><div><blockquote><p>"The 1000X have a 360 upmix mode. I was excited to try this out, but unfortunately found it borderline unlistenable."</p></blockquote></div><p>Both headphones are rather spacious for closed backs, but the Px8 S2 definitely have the edge, sounding noticeably cleaner, brighter and more open than the more intimate-feeling 1000X. Chris Stapleton’s <em>Death Row</em> was pleasingly dynamic on the Bowers & Wilkins, the bluesy guitar licks and Chris’ reverby vocals getting a little closer to the acoustic-esque experience of listening to the track through my <a href="https://www.audeze.com/products/lcd-5s" target="_blank" rel="nofollow">Audeze LCD5-S</a> open backs (although, obviously, the LCD5-S are in a different league, space-wise).</p><p>To supposedly help with that, the 1000X have a 360 upmix mode. I was excited to try this out, but unfortunately found it borderline unlistenable. I mean, it sorta works: Mk.Gee’s über spatial <em>Dream Police</em> was a perfect candidate, and the extra reverb and echoing made for a live-recording-esque kinda effect. But the sound was incredibly compressed, with a bucket load of audible noise.</p><p>An especially noticeable difference between the two is the Px8 S2’s greater detail at low volumes. We discussed this in our Px8 S2 review, so it was on my radar, but I hadn’t grasped the full extent until listening to them in earnest. Even at around 30% volume, the B&Ws retain an incredibly impressive amount of low-end texture and high/mid clarity. By contrast, I had to keep the 1000X at around 70% for a similar sound. Better for your ears, better for battery life, and better for the long term health of the drivers I guess. </p><h2 id="flawless-anc-on-both">Flawless ANC on both</h2><p>Both the 1000X and Px8 S2 have fantastic ANC. In fact, it’s very hard to draw a verdict here. They both do a better job than my $1,200 <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>. Using the 1000X in the office, they cut virtually everything, including road noise from the open window next to my desk. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NxJHavAUSUAirJC7FJVNj" name="EmptyName 2.JPG" alt="Bowers & Wilkins Px8 S2 in blue" src="https://cdn.mos.cms.futurecdn.net/NxJHavAUSUAirJC7FJVNj.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All I can say is that the Px8 S2 ANC is probably the best I’ve tested. Perhaps the strongest test was on the flight home from my honeymoon a couple of weeks ago. The seat in front hosted a screaming toddler, flanked by two dismayed parents, open-mouthed between kicks to the face. On the opposing aisle sat the similarly-unparented and only-slightly-older brother, listening to some mindlessly cheerful kids TV at full blast through his iPad speakers. In the midst of the chaos, a flight attendant fought desperately through the ruckus to ensure seatbelts were on — somehow, if the parents’ entitled faces were anything to go by, this was all <em>her</em> fault.</p><p>Tiny arms flailed. Dried fruit snacks flew. Someone probably lost an incisor. A flight attendant questioned her life choices by flying Ryanair. Many passengers did the same. Nightmare fuel, usually. But not with the Px8 S2.</p><p>Back in the sixth circle of hell — or the row behind the chaos — my wife looked aghast at me laughing maniacally. ‘<em>How can you laugh through this?’</em>  was the subtext. It was the poetry of watching all that happen in mime only, soundtracked instead by the screaming cacophony of Songs For The Deaf’s opener. <em><strong>“You can’t even hear it!”</strong></em></p><p>No matter how loud the hellspawn in front decided to be, nor how long through the flight it decided to be so, I was alright. The Px8 S2’s ANC would drown out everything. And it did. </p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/album/0060694934352?zone=GB-en"></iframe><h2 id="everyday-comforts">Everyday comforts</h2><p>A lot has been said online about the supreme comfort of the 1000X, and I agree… for the most part. They feel like a premium set of cans, and if I’d bought them, I wouldn’t feel shortchanged in the build quality department. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KQuwNDpMpKqiXtbbBkB3Qf.jpg" alt="Bowers & Wilkins PX8 S2" /><figcaption>Neither pair of headphones fold, and both come with a rigid carry case.<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pdw8ak4ZDABxE6JqwA294Y.jpg" alt="Sony WH-1000X The Collexion" /><figcaption>Neither pair of headphones fold, and both come with a rigid carry case.<small role="credit">Future</small></figcaption></figure></figure><p>Again, though, the Bowers & Wilkins have the edge. They go beyond premium to feel luxurious. After around an hour of wearing the Sonys, my ears started to feel a little toasty. The Px8 S2 use a more breathable material, as I wore them for most of a seven-hour train journey through Norway with no issues whatsoever.</p><p>Both sets of cans are a pain in the butt to carry around, though, as they don’t fold and use bulky carry cases instead. The Sony’s case is markedly thinner at least, so that’s the set I’d pick if portability were my biggest concern. Which it isn’t. </p><p>Battery life is another win for the Px8 S2, which offer up to 30 hours. After my seven-hour Norwegian train journey, they’d dropped to 83%, which tallies to our full battery test when we reviewed them. Battery life on the 1000X is just 24 hours. Admittedly, this is only an issue if you’re travelling away from power for any elongated period of time — not really a thing nowadays with the ubiquity of portable power banks. </p><h2 id="frustrating-connectivity">Frustrating connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5qQPjACo9Hn4vHeQ7hedik" name="Sony-WH-1000-The-Collexion-6" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/5qQPjACo9Hn4vHeQ7hedik.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I touched on apps a little earlier when talking about EQ, but there’s more to be said on this. Sony’s app is great, don’t get me wrong, but it’s fundamental to the operation of the headphones, and that really grates on me. You seemingly can’t even connect to the 1000X without the companion app, which feels extremely restrictive — especially for a product you’ve paid $649 for. </p><p>When you do try to connect, the Sony companion app acts like a typical Sony companion app: janky as all hell. It took me 16 minutes to get the headphones to connect. 16 minutes. To hook up over Bluetooth.</p><p>I love that with the Px8 S2, the app is essentially optional. You don’t need to download it in order to get the headphones working, and the driver tuning and default EQ are so good out the box that I rarely, if ever, need to open the app for tweaks.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j2QtVm4uU83H4UDg37M3Qf" name="Bowers & Wilkins PX8 S2" alt="Bowers & Wilkins PX8 S2" src="https://cdn.mos.cms.futurecdn.net/j2QtVm4uU83H4UDg37M3Qf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Bowers & Wilkins Px8 S2 come with a USB-C cable which can be used for wired playback. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Px8 S2 also have USB-C and 3.5mm connectivity, as opposed to only 3.5mm on the Sonys. That means, if you want to play wired from your phone with the 1000X, you’re stuck using the <em>technically</em> subpar phone DAC. Will it make a noticeable difference? Probably not. But I like knowing that I’m bypassing my smartphone DAC altogether and using the Px8 S2’s internal conversion over USB-C, getting the best I can out of the cans when using my phone.</p><p>Still, if you’re concerned, you could always invest in a portable DAC/amp, like the <a href="https://www.amazon.com/FiiO-JadeAudio-Portable-Adapter-Compatible/dp/B0CJ6RKV6X">FiiO KA13</a> ($65). Or my go-to portable DAC, the <a href="https://www.amazon.com/iFi-hip-dac3-Headphone-Enhancement-PowerMatch/dp/B0CKFKNNJH">iFi hipdac 3</a> ($199).</p><h2 id="the-final-word">The final word</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="giWHcvgNtcTZWxVq3ms83E" name="Sony 1000X vs BW Px8 S2" alt="A split image showing the Sony 1000X The Collexion on the left and the Bowers & Wilkins Px8 S2 on the right" src="https://cdn.mos.cms.futurecdn.net/giWHcvgNtcTZWxVq3ms83E.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div class="product"><a data-dimension112="62976dd5-3528-419f-a1a6-75b25ffec43c" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="o8sH4w7bcbuUXtPwckc9yn" name="Bowers & Wilkins Px8 S2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o8sH4w7bcbuUXtPwckc9yn.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>We awarded the Px8 S2 our Editor's Choice award and 4.5 stars in our review. These cans are pricey, but do virtually everything right — Hi-Fi sound, strong battery life, excellent ANC and luxurious build quality.<a class="view-deal button" href="https://www.amazon.com/Bowers-Wilkins-Headphones-Cancelling-Transparency/dp/B0FH5QDTBQ/" target="_blank" rel="nofollow" data-dimension112="62976dd5-3528-419f-a1a6-75b25ffec43c" data-action="Deal Block" data-label="Px8 S2" data-dimension48="Px8 S2" data-dimension25="$799">View Deal</a></p></div><p>So which would I buy out of the two? If you hadn’t already guessed, it’s the Bowers & Wilkins Px8 S2. Look, the Sony 1000X <u><em><strong>THE COLLEXION</strong></em></u><em> </em>are decent headphones. But when you start pricing cans in the ultra-premium range, you’re gonna have to start mixing it with the big boys. And the 1000X can’t quite mix it with the chief.</p><p>If you don’t have the extra $150, I doubt you’ll be disappointed by the 1000X. They look great, sound great, and feel great on your head. It’s just that the Px8 S2 do, well, just about everything better.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OarxKX"></div>                            </div>                            <script src="https://kwizly.com/embed/OarxKX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-vs-sony-1000x-the-collexion">Apple AirPods Max 2 vs Sony 1000X The Collexion</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/soundcore-liberty-5-pro-max-review">I tested Soundcore’s newest premium flagship earbuds — and they’re coming for the AirPods Pro 3’s crown</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/im-ditching-my-over-ear-headphones-for-these-sony-in-ear-buds-to-beat-the-heat-this-summer-and-they-offer-bose-like-sound-for-a-lot-less">I’m ditching my over-ear headphones for these Sony earbuds to beat the heat this summer — and they offer Bose-like sound for a lot less</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Do you need to spend $449 on the Bose QuietComfort Ultra 2nd Gen when you can get the new Marshall Milton ANC for $229? I tested both and I’m very surprised ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's no secret that Bose is the unbeaten king of <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">noise-canceling headphones</a>. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra 2nd Gen</a> are incredible, boasting a plethora of outstanding features, including best-in-class ANC, supreme comfort levels, and great battery life. But it's also no secret that these headphones are <em>very </em>expensive, priced at <a href="https://www.amazon.com/Bose-QuietComfort-Bluetooth-Headphones-Cancelling/dp/B0FDKQ2FG6/" target="_blank" rel="nofollow">$449</a> / <a href="https://www.amazon.co.uk/Bose-QuietComfort-Bluetooth-Headphones-Cancelling/dp/B0FDKR293G/" target="_blank" rel="nofollow">£449</a>, and not everyone can afford them.</p><p>But just because you're on a budget doesn't mean you can't have nice things — and British manufacturer Marshall has just shaken up the ANC scene with its brand new <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Marshall Milton ANC</a> on-ear cans. I know what you'll say to that: a) they're on-ears and not over-ears like the QuietComfort Ultra, and b) how can any brand even conceivably think of dethroning Bose as the ANC king?</p><div class="product"><a data-dimension112="c32c1e3d-16f8-40ee-9129-c8b8b10d29ff" data-action="Deal Block" data-label="Milton ANC" data-dimension48="Milton ANC" data-dimension25="$229" href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3915px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="W7JiRjcJKxDsmnvxb5hcBR" name="Marshall-Milton-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/W7JiRjcJKxDsmnvxb5hcBR.jpg" mos="" align="middle" fullscreen="" width="3915" height="3915" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Marshall Milton ANC set a new gold standard for on-ear headphones. Featuring spacious and soft memory foam ear cushions, the Milton ANC are extremely comfortable for all-day wear. They look beautiful as they borrow design cues from the Marshall Monitor III, and they bridge the gap between the brand’s flagship over-ears and the Major V on-ears.<a class="view-deal button" href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow" data-dimension112="c32c1e3d-16f8-40ee-9129-c8b8b10d29ff" data-action="Deal Block" data-label="Milton ANC" data-dimension48="Milton ANC" data-dimension25="$229">View Deal</a></p></div><p>To that, I have a few retorts: a) they're on-ears but they're <em>great </em>on-ears, b) the Milton ANC weren't created to dethrone Bose, and a bonus c) they're <em>half the price </em>of the QuietComfort Ultra and for <a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a>, they're simply fantastic. I've been testing the Milton ANC for three weeks and I've been using the QuietComfort Ultra 2nd Gen for a week. If you can't afford Bose's offering, Marshall's offers bang for your buck. Here's why.</p><p>Hi, Nikita here! This isn't going to be a traditional face-off like the others you may have seen on Tom's Guide, such as my <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-vs-marshall-monitor-iii-winner">Marshall Milton ANC vs Monitor III.</a> It would be unfair to make direct comparisons between the Bose QuietComfort Ultra 2nd Gen and the Milton ANC as both vastly differ when it comes to price, so it would be crown just one a winner. Think of this article as more of buying advice instead.</p><h2 id="a-few-tricks-up-marshall-s-sleeve">A few tricks up Marshall's sleeve</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mb8EpD8Sj6Sy34JCqvZ8P8" name="Bose_03.JPG" alt="the bose quietcomfort ultra gen 2 headphones in black photographed on a blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/Mb8EpD8Sj6Sy34JCqvZ8P8.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Bose QuietComfort Ultra 2nd Gen are excellent, but one of the areas they struggle in is battery life. The OG Ultra offered just 24 hours of playback time, but their successor kicks it up a notch to 30 hours... but that's still not class-leading. Meanwhile, one of the things Marshall has historically nailed with its consumer-first headphones (like the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Monitor III</a>) is battery life — and the Milton ANC are no different.</p><p>Offering 50 hours of battery life with ANC on and 80 hours with ANC off, the Milton ANC blow the QuietComfort Ultra 2nd Gen out of the water. It's not even close, really. Sure, you get better ANC with the latter, but if it's more juice you're after, the Milton ANC are worth the trade-off.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PSS6RTgyfKqrL4N7NwbFsf" name="EmptyName 8.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PSS6RTgyfKqrL4N7NwbFsf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But it isn't a massive trade-off either, which brings me to the Milton ANC's key selling point: these are Marshall's first-ever on-ear cans to feature ANC, and they've knocked it out of the park. I've tested a few on-ear headphones now, and the Milton ANC offer the most effective noise cancellation of them all.</p><p>Sounds indoors, like the kettle boiling or the clickity clackity of <a href="https://www.tomsguide.com/best-picks/best-mechanical-keyboards">mechanical keyboards</a>, are muted to ensure you feel immersed in your music. Outdoors, the ANC is alright — the sound of cars zooming past makes it through but it isn't too jarring.</p><p>I won't lie: using the QuietComfort Ultra 2nd Gen outdoors blew me away as I couldn't hear anything, and they made me feel like I was in a room so quiet I could hear a pin drop. But I wouldn't hear that pin drop because the headphones would cancel out the noise. The Milton ANC can't compete with that, and they don't need to. For half the price of the QuietComfort Ultra 2nd Gen, you're still getting pretty solid ANC, and the best on-ears have to offer at the time of writing.</p><h2 id="take-control">Take control</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S4AtKKTKEMpjASJTwp4LQ8" name="Bose_01.JPG" alt="the bose quietcomfort ultra gen 2 headphones in black photographed on a blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/S4AtKKTKEMpjASJTwp4LQ8.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I've spent a fair bit of time using the Bose QuietComfort Ultra 2nd Gen. I've found them extremely comfortable, and the plush ear cushions make my ears feel like they're resting on clouds. The design, though unchanged from the OG headphones, is pretty enough to look at, but the thing that bothers me most? The controls.</p><p>This might be a hot take but I think we need to get rid of touch controls on all headphones. They work fine on earbuds — the ones I've tested, at least — but I've never been a fan of them on headphones. The QuietComfort Ultra 2nd Gen's touch slider to adjust the volume sticks out like a sore thumb, and I've found its placement frustrating and ability to register my commands finicky, at best.</p><p>Turns out, I'm not the only one here at Tom's Guide who has struggled with the touch controls on the QuietComfort Ultra 2nd Gen. Our Buying Guide Editor, Tammy, mentioned them in <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review#section-bose-quietcomfort-ultra-headphones-2nd-generation-review-controls">her review of the headphones</a>, and Senior Reviews Writer, Erin, easily <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-vs-bose-quietcomfort-ultra#section-airpods-max-2-vs-bose-quietcomfort-ultra-design">gave the win to the AirPods Max 2</a> when it came to the two headphones' controls.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RtDDPKWnsVeujiX4d7Nedf" name="EmptyName 4.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/RtDDPKWnsVeujiX4d7Nedf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, what's better than a strange mix of physical and touch controls that leaves users frustrated? Full physical controls, just like on the Marshall Milton ANC. There are two buttons that control everything on the Milton ANC: a joystick-like power button that can be used to adjust volume and change tracks, and a customizable 'M' button that can be personalized to enable Spatial Audio, change EQ, or enable/disable ANC.</p><p>And simplicity <em>works. </em>The controls are easy to understand and don't give you much to complain about. Not to mention, that brass power button looks drool-worthy. The Milton ANC's design, in general, looks classier and more premium than the QuietComfort Ultra 2nd Gen, but that's just my opinion.</p><h2 id="music-to-my-ears">Music to my ears</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywSYdLpMydbabofD2ALBuf" name="EmptyName 9.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ywSYdLpMydbabofD2ALBuf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What surprised me most about using the Bose QuietComfort Ultra 2nd Gen and the Marshall Milton ANC to listen to music back-to-back was how similar their tuning is. Both headphones offer deep, rich, bass-first sound profiles, which may not be everyone's cup of tea — and if they aren't, both headphones come with user-friendly apps to customize the EQ.</p><p>Personally, I love bass-first tuning because that's the aspect of the soundstage I enjoy the most, so both the Milton ANC and the QuietComfort Ultra 2nd Gen impressed me straight out of the box. 'Let It Happen' by Tame Impala sounds glorious through both pairs, but when it comes to spatial audio, I think the Milton ANC's Soundstage creates more of an immersive listening experience. The QuietComfort Ultra 2nd Gen's spatial audio is good but it does so at the cost of bass which sounds muted. The Milton ANC's, on the other hand, keeps the bass thumping while making the track sound wider.</p><p>'FA9LA' by Flipperachi sounds excellent through both headphones too, with great emphasis on the pounding bass without making the treble sound too shrill or piercing. Vocals? Crystal clear, with each word discernible and not bleeding into the next.</p><p>One of the biggest advantages of using the QuietComfort Ultra 2nd Gen is that because the ANC is mindblowing, it makes you feel truly immersed in your music. The ANC on the Milton ANC is good, like I said earlier, but doesn't come close, and that has an impact on your listening experience. Swings and roundabouts.</p><h2 id="looking-ahead">Looking ahead...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4EPKpctyHybciLiiVM9xLU" name="EmptyName 12.JPG" alt="Marshall Milton ANC and Bose QuietComfort Ultra Headphones 2nd Gen" src="https://cdn.mos.cms.futurecdn.net/4EPKpctyHybciLiiVM9xLU.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, should you buy the Marshall Milton ANC or the Bose QuietComfort Ultra 2nd Gen? I wish I could say that there's a straightforward "yes" or "no" to that question but there isn't. Question is, how much are you willing to spend? If you've got a budget of over $450, money is no object, or you want to get peerless ANC, the QuietComfort Ultra 2nd Gen are a no-brainer.</p><p>But if you can't loosen the purse strings to that extent, the Milton ANC are great value for money. They cost $229, so almost half the price of the QuietComfort Ultra 2nd Gen, but they don't compromise on features that matter most to 90% of users. Here at Tom's Guide, our job is to help you <a href="https://www.tomsguide.com/uk/savings-squad">upgrade your life for less</a>, and when it comes to getting premium features and audio at a non-premium price, you can't go wrong with the Milton ANC.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ONVbVO"></div>                            </div>                            <script src="https://kwizly.com/embed/ONVbVO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/not-all-on-ear-headphones-are-uncomfortable-ive-been-using-the-new-marshall-milton-anc-for-3-weeks-and-theyre-ridiculously-comfortable-and-offer-outstanding-sound-too">Not all on-ear headphones are uncomfortable: I’ve been using the new Marshall Milton ANC for 3 weeks and they’re ridiculously comfortable and offer outstanding sound too</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-vs-marshall-monitor-iii-winner">I’ve been testing the Marshall Milton ANC on-ears vs Marshall Monitor III over-ears — and it’s closer than you think</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Marshall Milton ANC,Bose QuietComfort Ultra Headphones (2nd Gen)"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/bose-quietcomfort-ultra-2nd-gen-marshall-milton-anc-which-should-you-buy</link>
                                                                            <description>
                            <![CDATA[ The Bose QuietComfort Ultra 2nd Gen are undoubtedly the king of ANC headphones, but do the cheaper Marshall Milton ANC come close for less money? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WepYQAkcZcGjaCsipgXQXW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EEaMNimgRGvGbLjNEMXtZj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 21 May 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/EEaMNimgRGvGbLjNEMXtZj-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Marshall Milton ANC and Bose QuietComfort Ultra 2nd Gen headphones]]></media:description>                                                            <media:text><![CDATA[Marshall Milton ANC and Bose QuietComfort Ultra 2nd Gen headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Marshall Milton ANC and Bose QuietComfort Ultra 2nd Gen headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EEaMNimgRGvGbLjNEMXtZj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's no secret that Bose is the unbeaten king of <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">noise-canceling headphones</a>. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra 2nd Gen</a> are incredible, boasting a plethora of outstanding features, including best-in-class ANC, supreme comfort levels, and great battery life. But it's also no secret that these headphones are <em>very </em>expensive, priced at <a href="https://www.amazon.com/Bose-QuietComfort-Bluetooth-Headphones-Cancelling/dp/B0FDKQ2FG6/" target="_blank" rel="nofollow">$449</a> / <a href="https://www.amazon.co.uk/Bose-QuietComfort-Bluetooth-Headphones-Cancelling/dp/B0FDKR293G/" target="_blank" rel="nofollow">£449</a>, and not everyone can afford them.</p><p>But just because you're on a budget doesn't mean you can't have nice things — and British manufacturer Marshall has just shaken up the ANC scene with its brand new <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Marshall Milton ANC</a> on-ear cans. I know what you'll say to that: a) they're on-ears and not over-ears like the QuietComfort Ultra, and b) how can any brand even conceivably think of dethroning Bose as the ANC king?</p><div class="product"><a data-dimension112="c32c1e3d-16f8-40ee-9129-c8b8b10d29ff" data-action="Deal Block" data-label="Milton ANC" data-dimension48="Milton ANC" data-dimension25="$229" href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3915px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="W7JiRjcJKxDsmnvxb5hcBR" name="Marshall-Milton-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/W7JiRjcJKxDsmnvxb5hcBR.jpg" mos="" align="middle" fullscreen="" width="3915" height="3915" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Marshall Milton ANC set a new gold standard for on-ear headphones. Featuring spacious and soft memory foam ear cushions, the Milton ANC are extremely comfortable for all-day wear. They look beautiful as they borrow design cues from the Marshall Monitor III, and they bridge the gap between the brand’s flagship over-ears and the Major V on-ears.<a class="view-deal button" href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow" data-dimension112="c32c1e3d-16f8-40ee-9129-c8b8b10d29ff" data-action="Deal Block" data-label="Milton ANC" data-dimension48="Milton ANC" data-dimension25="$229">View Deal</a></p></div><p>To that, I have a few retorts: a) they're on-ears but they're <em>great </em>on-ears, b) the Milton ANC weren't created to dethrone Bose, and a bonus c) they're <em>half the price </em>of the QuietComfort Ultra and for <a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a>, they're simply fantastic. I've been testing the Milton ANC for three weeks and I've been using the QuietComfort Ultra 2nd Gen for a week. If you can't afford Bose's offering, Marshall's offers bang for your buck. Here's why.</p><p>Hi, Nikita here! This isn't going to be a traditional face-off like the others you may have seen on Tom's Guide, such as my <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-vs-marshall-monitor-iii-winner">Marshall Milton ANC vs Monitor III.</a> It would be unfair to make direct comparisons between the Bose QuietComfort Ultra 2nd Gen and the Milton ANC as both vastly differ when it comes to price, so it would be crown just one a winner. Think of this article as more of buying advice instead.</p><h2 id="a-few-tricks-up-marshall-s-sleeve">A few tricks up Marshall's sleeve</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mb8EpD8Sj6Sy34JCqvZ8P8" name="Bose_03.JPG" alt="the bose quietcomfort ultra gen 2 headphones in black photographed on a blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/Mb8EpD8Sj6Sy34JCqvZ8P8.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Bose QuietComfort Ultra 2nd Gen are excellent, but one of the areas they struggle in is battery life. The OG Ultra offered just 24 hours of playback time, but their successor kicks it up a notch to 30 hours... but that's still not class-leading. Meanwhile, one of the things Marshall has historically nailed with its consumer-first headphones (like the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Monitor III</a>) is battery life — and the Milton ANC are no different.</p><p>Offering 50 hours of battery life with ANC on and 80 hours with ANC off, the Milton ANC blow the QuietComfort Ultra 2nd Gen out of the water. It's not even close, really. Sure, you get better ANC with the latter, but if it's more juice you're after, the Milton ANC are worth the trade-off.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PSS6RTgyfKqrL4N7NwbFsf" name="EmptyName 8.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PSS6RTgyfKqrL4N7NwbFsf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But it isn't a massive trade-off either, which brings me to the Milton ANC's key selling point: these are Marshall's first-ever on-ear cans to feature ANC, and they've knocked it out of the park. I've tested a few on-ear headphones now, and the Milton ANC offer the most effective noise cancellation of them all.</p><p>Sounds indoors, like the kettle boiling or the clickity clackity of <a href="https://www.tomsguide.com/best-picks/best-mechanical-keyboards">mechanical keyboards</a>, are muted to ensure you feel immersed in your music. Outdoors, the ANC is alright — the sound of cars zooming past makes it through but it isn't too jarring.</p><p>I won't lie: using the QuietComfort Ultra 2nd Gen outdoors blew me away as I couldn't hear anything, and they made me feel like I was in a room so quiet I could hear a pin drop. But I wouldn't hear that pin drop because the headphones would cancel out the noise. The Milton ANC can't compete with that, and they don't need to. For half the price of the QuietComfort Ultra 2nd Gen, you're still getting pretty solid ANC, and the best on-ears have to offer at the time of writing.</p><h2 id="take-control">Take control</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S4AtKKTKEMpjASJTwp4LQ8" name="Bose_01.JPG" alt="the bose quietcomfort ultra gen 2 headphones in black photographed on a blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/S4AtKKTKEMpjASJTwp4LQ8.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I've spent a fair bit of time using the Bose QuietComfort Ultra 2nd Gen. I've found them extremely comfortable, and the plush ear cushions make my ears feel like they're resting on clouds. The design, though unchanged from the OG headphones, is pretty enough to look at, but the thing that bothers me most? The controls.</p><p>This might be a hot take but I think we need to get rid of touch controls on all headphones. They work fine on earbuds — the ones I've tested, at least — but I've never been a fan of them on headphones. The QuietComfort Ultra 2nd Gen's touch slider to adjust the volume sticks out like a sore thumb, and I've found its placement frustrating and ability to register my commands finicky, at best.</p><p>Turns out, I'm not the only one here at Tom's Guide who has struggled with the touch controls on the QuietComfort Ultra 2nd Gen. Our Buying Guide Editor, Tammy, mentioned them in <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review#section-bose-quietcomfort-ultra-headphones-2nd-generation-review-controls">her review of the headphones</a>, and Senior Reviews Writer, Erin, easily <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-vs-bose-quietcomfort-ultra#section-airpods-max-2-vs-bose-quietcomfort-ultra-design">gave the win to the AirPods Max 2</a> when it came to the two headphones' controls.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RtDDPKWnsVeujiX4d7Nedf" name="EmptyName 4.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/RtDDPKWnsVeujiX4d7Nedf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, what's better than a strange mix of physical and touch controls that leaves users frustrated? Full physical controls, just like on the Marshall Milton ANC. There are two buttons that control everything on the Milton ANC: a joystick-like power button that can be used to adjust volume and change tracks, and a customizable 'M' button that can be personalized to enable Spatial Audio, change EQ, or enable/disable ANC.</p><p>And simplicity <em>works. </em>The controls are easy to understand and don't give you much to complain about. Not to mention, that brass power button looks drool-worthy. The Milton ANC's design, in general, looks classier and more premium than the QuietComfort Ultra 2nd Gen, but that's just my opinion.</p><h2 id="music-to-my-ears">Music to my ears</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywSYdLpMydbabofD2ALBuf" name="EmptyName 9.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ywSYdLpMydbabofD2ALBuf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What surprised me most about using the Bose QuietComfort Ultra 2nd Gen and the Marshall Milton ANC to listen to music back-to-back was how similar their tuning is. Both headphones offer deep, rich, bass-first sound profiles, which may not be everyone's cup of tea — and if they aren't, both headphones come with user-friendly apps to customize the EQ.</p><p>Personally, I love bass-first tuning because that's the aspect of the soundstage I enjoy the most, so both the Milton ANC and the QuietComfort Ultra 2nd Gen impressed me straight out of the box. 'Let It Happen' by Tame Impala sounds glorious through both pairs, but when it comes to spatial audio, I think the Milton ANC's Soundstage creates more of an immersive listening experience. The QuietComfort Ultra 2nd Gen's spatial audio is good but it does so at the cost of bass which sounds muted. The Milton ANC's, on the other hand, keeps the bass thumping while making the track sound wider.</p><p>'FA9LA' by Flipperachi sounds excellent through both headphones too, with great emphasis on the pounding bass without making the treble sound too shrill or piercing. Vocals? Crystal clear, with each word discernible and not bleeding into the next.</p><p>One of the biggest advantages of using the QuietComfort Ultra 2nd Gen is that because the ANC is mindblowing, it makes you feel truly immersed in your music. The ANC on the Milton ANC is good, like I said earlier, but doesn't come close, and that has an impact on your listening experience. Swings and roundabouts.</p><h2 id="looking-ahead">Looking ahead...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4EPKpctyHybciLiiVM9xLU" name="EmptyName 12.JPG" alt="Marshall Milton ANC and Bose QuietComfort Ultra Headphones 2nd Gen" src="https://cdn.mos.cms.futurecdn.net/4EPKpctyHybciLiiVM9xLU.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, should you buy the Marshall Milton ANC or the Bose QuietComfort Ultra 2nd Gen? I wish I could say that there's a straightforward "yes" or "no" to that question but there isn't. Question is, how much are you willing to spend? If you've got a budget of over $450, money is no object, or you want to get peerless ANC, the QuietComfort Ultra 2nd Gen are a no-brainer.</p><p>But if you can't loosen the purse strings to that extent, the Milton ANC are great value for money. They cost $229, so almost half the price of the QuietComfort Ultra 2nd Gen, but they don't compromise on features that matter most to 90% of users. Here at Tom's Guide, our job is to help you <a href="https://www.tomsguide.com/uk/savings-squad">upgrade your life for less</a>, and when it comes to getting premium features and audio at a non-premium price, you can't go wrong with the Milton ANC.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ONVbVO"></div>                            </div>                            <script src="https://kwizly.com/embed/ONVbVO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/not-all-on-ear-headphones-are-uncomfortable-ive-been-using-the-new-marshall-milton-anc-for-3-weeks-and-theyre-ridiculously-comfortable-and-offer-outstanding-sound-too">Not all on-ear headphones are uncomfortable: I’ve been using the new Marshall Milton ANC for 3 weeks and they’re ridiculously comfortable and offer outstanding sound too</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-vs-marshall-monitor-iii-winner">I’ve been testing the Marshall Milton ANC on-ears vs Marshall Monitor III over-ears — and it’s closer than you think</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Marshall Milton ANC,Bose QuietComfort Ultra Headphones (2nd Gen)"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve been testing the Marshall Milton ANC on-ears vs Marshall Monitor III over-ears — and it’s closer than you think ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Marshall has just added the new <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Milton ANC</a> to its lineup of audio gear and headphones, and these on-ear cans are nothing short of a triumph. As someone who prefers over-ear headphones, these feel like a game-changer, and they're the most comfortable on-ears I've used so far.</p><p>But before I started using the Milton ANC, I'd been using the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Monitor III</a> over-ears for over a year. This got me thinking, "Do I like the Milton ANC <em>better </em>than the Monitor III?" The answer, unfortunately, isn't a simple "yes" or "no." </p><p>To answer this question, I listened to music on both headphones back to back, and compared all their other features. They share some similarities, yes, but is one pair better than the other? And should you spend more nearly $120 more on the Monitor III? Let's find out together.</p>        <div class="featured_product_block featured_block_versus" data-id="1ccdd3f7-5ec7-4449-998a-1a8fbadb04bd">            <a href="https://www.marshall.com/gb/en/product/milton-anc" data-model-name="Milton ANC" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/W7JiRjcJKxDsmnvxb5hcBR.jpg" alt="Marshall Milton ANC on-ear headphones"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Marshall</div>                    <div class="featured__title">Milton ANC</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="1f21a3e6-c27b-4011-9634-30d7fb637f81">            <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" data-model-name="Monitor III" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xmTbqHyw3cvfuFwFbQYqQk.jpg" alt="Marshall Monitor III headphone product image"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Marshall</div>                    <div class="featured__title">Monitor III</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p></p>                </div>                            </div>        </div><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-specs"><span>Marshall Milton ANC vs Marshall Monitor III: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p>Specs</p></th><th  ><p>Marshall Milton ANC</p></th><th  ><p>Marshall Monitor III</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a></p></td><td  ><p><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">$349</a> / <a href="https://www.amazon.co.uk/Marshall-Cancelling-Bluetooth-Wireless-Headphones-Black/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">£299</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>32mm dynamic</p></td><td  ><p>32mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-40KHz</p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>32Ω</p></td><td  ><p>35Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC, AAC, LC3 and LDAC, USB-C wired</p></td><td  ><p>Bluetooth 5.3 with SBC and AAC, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes, up to 2 devices</p></td><td  ><p>Yes, up to 2 devices</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>80 hours (ANC off) | 50 hours (ANC on)</p></td><td  ><p>100 hours (ANC off) | 70 hours (ANC on)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.06 ounces</p></td><td  ><p>8.8 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td><td  ><p>Black, Cream, Brown</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-price"><span>Marshall Milton ANC vs Marshall Monitor III: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3uLXcEV2a3Xyi4RDNokf9g" name="EmptyName 13.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/3uLXcEV2a3Xyi4RDNokf9g.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One of the key differences between the Marshall Milton ANC and the Marshall Monitor III is the price. The Milton ANC sit between the flagship Monitor III and the Major V on-ear headphones, and they cost <a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a>. These are mid-range headphones that offer some premium features at a non-premium price.</p><p>The Monitor III, on the other hand, cost a lot more. They have a retail price of <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">$349</a> / <a href="https://www.amazon.co.uk/Marshall-Cancelling-Bluetooth-Wireless-Headphones-Black/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">£299</a> but given that they've been around since September 2024, you can frequently find them discounted for around $250 — especially during sales events. It remains to be seen what kind of discounts the Milton ANC will get once the headphones have lived a little.</p><p>Given their price, the Monitor III are priced similarly to (or even less than) other flagship active noise-canceling headphones from the likes of Bose and Sony. Also given their higher price point, they offer more features than the Milton ANC — but if you're on a budget, the Milton ANC are the way to go. If you can loosen the purse strings, the Monitor III are a no-brainer. This round is a tie.</p><p><strong>Winner: </strong><em>Tie</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-design"><span>Marshall Milton ANC vs Marshall Monitor III: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8uyQwqaqCD4N7wZq89m4yf" name="EmptyName.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/8uyQwqaqCD4N7wZq89m4yf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The next biggest difference between the Marshall Milton ANC and the Marshall Monitor III is the design. The Monitor III are over-ear headphones while the Milton ANC are on-ear cans. We'll talk about the Milton ANC first, as they're newer. They feature square earcups with soft memory foam cushions, and they sit on your ears rather than around them (as is the nature of on-ears).</p><p>If you're skeptical about how comfortable on-ears are, I'm here to tell you that as a fellow (and former) skeptic, I think the Milton ANC are <em>the </em>most comfortable on-ear headphones on the market. They don't clamp down on your ears too much, and the earcups themselves are quite spacious — so there's plenty of room for all ear sizes. The only issue is that people with cartilage piercings may find them uncomfortable. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6m9CkBnvA6xPcMRS2pwNA5" name="Marshall Monitor III ANC - Open on table" alt="Marshall Monitor III ANC - Open on Table" src="https://cdn.mos.cms.futurecdn.net/6m9CkBnvA6xPcMRS2pwNA5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That's where the Monitor III come in. These over-ear headphones are comfortable for all types of ears, and even for those who have several piercings. Because they sit around your ears, they don't press down on piercings. Ear cushions, again, are very comfortable, as is the suspended headband. They're heavier than the Milton ANC, though, as they weigh 8.8oz while the Milton ANC weigh 7.06oz. </p><p>Controls on both headphones are nearly identical as both feature a customizable 'M' button and a joystick-like power button for adjusting volume and playback. The buttons give lovely tactile feedback when pressed — kinda like on a guitar amp. Neither headphones' controls give you anything to complain about.</p><p>The Milton ANC borrow styling cues from the Monitor III too, which is why they're covered in black with brass accents. Given that the Monitor III did it first, and they're ever-so slightly more comfortable than the Milton ANC, the over-ears get the win in this round.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-features-connectivity"><span>Marshall Milton ANC vs Marshall Monitor III: Features & connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yCMw4dzzEDLn9TXzH24Qbf" name="EmptyName 2.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/yCMw4dzzEDLn9TXzH24Qbf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Even though the Marshall Monitor III are the British brand's flagship headphones, the Marshall Milton ANC pack the latest Bluetooth 6.0. They also feature support for LDAC and LC3, while the Monitor III utilize Bluetooth 5.3 with SBC and AAC. Multipoint connectivity is at play here, as both sets of cans can connect to two devices at once. Both headphones can be used wired too, thanks to USB-C ports on each.</p><p>In addition to this, the Milton ANC become Marshall's first headphones to carry Apple Find My support (along with Google Find Hub). This is a fantastic addition for Apple and Google Pixel owners alike as they can keep track of their headphones at all times.</p><p>One thing the Monitor III pack that the Milton ANC don't is wear detection — but honestly, I've never been a fan of wear detection on headphones as I've always found it to be finicky. I'd take Apple Find My and Google Find Hub over wear detection any day. To my surprise (and perhaps yours), the Milton ANC win the features & connectivity battle. </p><p><strong>Winner: </strong><em>Marshall Milton ANC</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-sound-quality"><span>Marshall Milton ANC vs Marshall Monitor III: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cnUpfc8VrCMA9LNyd7Rkof" name="EmptyName 10.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/cnUpfc8VrCMA9LNyd7Rkof.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What good are a pair of headphones if they aren't <em>brilliant </em>for music? Whether you get the Marshall Milton ANC or the Marshall Monitor III, you'll be getting powerful sound regardless — take the word of someone who's been listening to the same songs back to back on both pairs.</p><p>The first thing you need to know is that both sets of cans use the same 32mm dynamic drivers but cover different frequency response ranges. The Monitor III cover 20Hz-20KHz while the Milton ANC cover 20Hz-40KHz — so the entirety of the human hearing spectrum and then some.</p><p>Both headphones are tuned differently too. The Monitor III have a well-balanced sound while the Milton ANC are more bass-heavy straight out of the box, so it depends on what you like. I don't mind either of the headphones' default Marshall Sound EQ, but if you want to make adjustments to the equalizer, the companion app (Marshall Bluetooth) is very user-friendly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="6CYx4GdHZ5CveYKxJFRhA5" name="Marshall Monitor III ANC - Folded on table" alt="Marshall Monitor III ANC" src="https://cdn.mos.cms.futurecdn.net/6CYx4GdHZ5CveYKxJFRhA5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1153" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>To compare the headphones, I listened to the same three tracks first on the Milton ANC and then on the Monitor III. I used my <a href="https://play.qobuz.com/playlist/63885898" target="_blank" rel="nofollow">Milton ANC testing playlist on Qobuz</a>.</p><p>First up, 'Everybody Scream' by Florence + The Machine. Both pairs of headphones handled this witchy track exceptionally well. The Milton ANC put the bass first and it reverberated through the track, while the Monitor III offered a balanced sound profile. Vocals, through both, sounded beautiful, and the treble was never shrill or piercing. I'd say the Monitor III make the track sound more snappy and capture Florence's vibrato better, but the Milton ANC did a respectable job too.</p><p>I then listened to 'Elephant' by 070 Shake. Personally, I preferred the Milton ANC's sound profile for this track. Thanks to its bass-forward tuning, I felt immersed in the synthesized, wobbly bassline, and it felt like there was a better balance between the thumping bass and distorted vocals. The Monitor III, on the other hand, made the track sound more clinical which is better for those into detailed listening.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Gb6a3WtRBYuTiKXnaYNw3g" name="EmptyName 7.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/Gb6a3WtRBYuTiKXnaYNw3g.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The final song I played was 'Let It Happen' by Tame Impala, and I listened to it to test the Soundstage spatial audio. Soundstage debuted on the Monitor III back in September 2024, and now, Marshall has equipped the cheaper Milton ANC with it too. Soundstage, essentially, moves the sound into a virtual room so it feels like the track is swirling around your head, which is incredible for an immersive listening session.</p><div><blockquote><p>The Milton ANC offer excellent sound for the price, but the Monitor III are just a bit better and more well-rounded overall. </p></blockquote></div><p>On both the Milton ANC and the Monitor III, Soundstage works very well. I set the virtual room to 'large' via the app while using both headphones, and it made me feel like I was at a Tame Impala concert. The soaring synths had plenty of height through both headphones. The Milton ANC, again, emphasized the bass but not too much. What I like, though, is that the Monitor III made the song sound wider and more expansive, which makes sense given their price point.</p><p>Sound quality was a close call, but the Monitor III take it. The Milton ANC offer excellent sound for the price, but the Monitor III are just a bit better and more well-rounded overall. </p><p><strong>Winner:</strong> <em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-anc"><span>Marshall Milton ANC vs Marshall Monitor III: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bvpyZsneZNvXnz2Evrjk95" name="Marshall Monitor III ANC - Folded in hand" alt="Marshall Monitor III ANC - In hand" src="https://cdn.mos.cms.futurecdn.net/bvpyZsneZNvXnz2Evrjk95.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For ANC to be effective, there needs to be a good seal around your ears — or in your ears, if you prefer in-ear buds. It's for that reason that the Marshall Monitor III win this round. Don't get me wrong: the Marshall Milton ANC boast effective ANC, and I even slept through an entire flight without being disturbed. But because they're on-ears, breaks in ANC are to be expected and that's not their fault: it's the nature of on-ears.</p><p>By on-ear standards, the ANC is great. By general standards, the Monitor III offer better.</p><p>The Monitor III create a great seal around your ears and provide a decent level of passive noise cancelation too. Indoors, I can't hear anything, not even the sound of my very loud mechanical keyboard. Outdoors, I can hear cars going by but not to the point that they disturb my peace or break my immersion when I'm jamming to Green Day.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-call-quality"><span>Marshall Milton ANC vs Marshall Monitor III: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PSS6RTgyfKqrL4N7NwbFsf" name="EmptyName 8.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PSS6RTgyfKqrL4N7NwbFsf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately for the Marshall Milton ANC, this round goes to Marshall Monitor III straight off the bat. The Milton ANC's call quality can be described as middling at best as they made me sound scratchy and tinny on the phone. When I spoke with my colleagues on a Google Meet team call, they instantly noted, "You don't sound as good as your other headphones."</p><p>The other headphones in question? The Monitor III. I've been told by my partner and many other people I've spoken to on the phone and team calls that I sound warm and true-to-life through the Monitor III. It's disappointing that the Milton ANC don't make me sound as good but it is what it is.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-battery-life"><span>Marshall Milton ANC vs Marshall Monitor III: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZCXNrdqCsy8RpGDXWFiNE5" name="Marshall Monitor III ANC - Case Open" alt="Marshall Monitor III ANC" src="https://cdn.mos.cms.futurecdn.net/ZCXNrdqCsy8RpGDXWFiNE5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I'll be upfront here: it's an uphill battle for any pair of headphones to upstage the Marshall Monitor III when it comes to battery life. These headphones pack monster battery life as they can last up to 100 hours with ANC off or 70 hours with ANC on.</p><p>But this doesn't mean that the Marshall Milton ANC have poor battery life — on the contrary, they're long-lasting too. The Milton ANC can last up to 80 hours with ANC off or 50 hours with ANC on. That's quite a big drop compared to the Monitor III, yes, but remember that there's a substantial price difference between the two.</p><p>The Milton ANC have an ace up their sleeve though: they feature a consumer-replaceable battery which can be accessed by twisting off the left earcup. This isn't particularly groundbreaking, though, as all Marshall is doing is abiding by E.U. regulations — but at least you can replace the battery yourself now in case it goes kaput.</p><p>I'd say the Monitor III win this round by a narrow margin, but rest assured that even though you're spending lesser on the Milton ANC, you're still getting long playback time.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-verdict"><span>Marshall Milton ANC vs Marshall Monitor III: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6uAVakdrEdcxy4xqkqJoWf" name="EmptyName 1.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/6uAVakdrEdcxy4xqkqJoWf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When I first held the Marshall Milton ANC in my hands three weeks ago, I thought, "They're on-ears, how good can they <em>really </em>be?" Turns out, very, very good. They're excellent on-ear headphones and are ridiculously comfortable. I've never been happier to be proven wrong.</p><p>And truth be told, I'm surprised how close the competition was between the Monitor III and the Milton ANC. As you'll soon see in the ratings scorecard below, the Milton ANC come <em>very </em>close to the Monitor III — which is commendable given that they cost $120 less than the brand's flagship cans.</p><p>This face-off ends with the Monitor III earning 93/100 points, followed very closely by the Milton ANC earning 86/100 points. The Monitor III are the superior headphones, yes, but the Milton ANC are a home run for Marshall, too, and they've shaken up the on-ears realm in the best way possible.</p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-ratings-scorecard"><span>Marshall Milton ANC vs Marshall Monitor III: Ratings scorecard</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Marshall Milton ANC</strong></p></th><th  ><p><strong>Marshall Monitor III</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price (5)</strong></p></td><td  ><p>5</p></td><td  ><p>5</p></td></tr><tr><td class="firstcol " ><p><strong>Design & controls (15)</strong></p></td><td  ><p>13</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p><strong>Features (10)</strong></p></td><td  ><p>9</p></td><td  ><p>7</p></td></tr><tr><td class="firstcol " ><p><strong>Sound quality (25)</strong></p></td><td  ><p>22</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>ANC (20)</strong></p></td><td  ><p>16</p></td><td  ><p>18</p></td></tr><tr><td class="firstcol " ><p><strong>Call quality (10)</strong></p></td><td  ><p>7</p></td><td  ><p>9</p></td></tr><tr><td class="firstcol " ><p><strong>Battery (15)</strong></p></td><td  ><p>14</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p><strong>Total score (100)</strong></p></td><td  ><p>86</p></td><td  ><p>93</p></td></tr></tbody></table></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ey6mqW"></div>                            </div>                            <script src="https://kwizly.com/embed/ey6mqW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review#section-marshall-milton-anc-review-design">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/marshall-milton-anc-vs-marshall-monitor-iii-winner</link>
                                                                            <description>
                            <![CDATA[ For the last three weeks, I've been testing the new Marshall Milton ANC on-ears, and I pitted them against the Marshall Monitor III. Here's the winner. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YJuwzvjftomR22VBkEZBGV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cnUpfc8VrCMA9LNyd7Rkof-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 20 May 2026 13:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cnUpfc8VrCMA9LNyd7Rkof-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Marshall Milton ANC on-ear headphones]]></media:description>                                                            <media:text><![CDATA[Marshall Milton ANC on-ear headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Marshall Milton ANC on-ear headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cnUpfc8VrCMA9LNyd7Rkof-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Marshall has just added the new <a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review">Milton ANC</a> to its lineup of audio gear and headphones, and these on-ear cans are nothing short of a triumph. As someone who prefers over-ear headphones, these feel like a game-changer, and they're the most comfortable on-ears I've used so far.</p><p>But before I started using the Milton ANC, I'd been using the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Monitor III</a> over-ears for over a year. This got me thinking, "Do I like the Milton ANC <em>better </em>than the Monitor III?" The answer, unfortunately, isn't a simple "yes" or "no." </p><p>To answer this question, I listened to music on both headphones back to back, and compared all their other features. They share some similarities, yes, but is one pair better than the other? And should you spend more nearly $120 more on the Monitor III? Let's find out together.</p>        <div class="featured_product_block featured_block_versus" data-id="1ccdd3f7-5ec7-4449-998a-1a8fbadb04bd">            <a href="https://www.marshall.com/gb/en/product/milton-anc" data-model-name="Milton ANC" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/W7JiRjcJKxDsmnvxb5hcBR.jpg" alt="Marshall Milton ANC on-ear headphones"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Marshall</div>                    <div class="featured__title">Milton ANC</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="1f21a3e6-c27b-4011-9634-30d7fb637f81">            <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" data-model-name="Monitor III" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xmTbqHyw3cvfuFwFbQYqQk.jpg" alt="Marshall Monitor III headphone product image"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Marshall</div>                    <div class="featured__title">Monitor III</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p></p>                </div>                            </div>        </div><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-specs"><span>Marshall Milton ANC vs Marshall Monitor III: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p>Specs</p></th><th  ><p>Marshall Milton ANC</p></th><th  ><p>Marshall Monitor III</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a></p></td><td  ><p><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">$349</a> / <a href="https://www.amazon.co.uk/Marshall-Cancelling-Bluetooth-Wireless-Headphones-Black/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">£299</a></p></td></tr><tr><td class="firstcol " ><p><strong>Headphone style</strong></p></td><td  ><p>Closed back</p></td><td  ><p>Closed back</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>32mm dynamic</p></td><td  ><p>32mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-40KHz</p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>32Ω</p></td><td  ><p>35Ω</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC, AAC, LC3 and LDAC, USB-C wired</p></td><td  ><p>Bluetooth 5.3 with SBC and AAC, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes, up to 2 devices</p></td><td  ><p>Yes, up to 2 devices</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>No</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>80 hours (ANC off) | 50 hours (ANC on)</p></td><td  ><p>100 hours (ANC off) | 70 hours (ANC on)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.06 ounces</p></td><td  ><p>8.8 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td><td  ><p>Black, Cream, Brown</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-price"><span>Marshall Milton ANC vs Marshall Monitor III: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3uLXcEV2a3Xyi4RDNokf9g" name="EmptyName 13.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/3uLXcEV2a3Xyi4RDNokf9g.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One of the key differences between the Marshall Milton ANC and the Marshall Monitor III is the price. The Milton ANC sit between the flagship Monitor III and the Major V on-ear headphones, and they cost <a href="https://www.marshall.com/gb/en/product/milton-anc" target="_blank" rel="nofollow">$229 / £179</a>. These are mid-range headphones that offer some premium features at a non-premium price.</p><p>The Monitor III, on the other hand, cost a lot more. They have a retail price of <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">$349</a> / <a href="https://www.amazon.co.uk/Marshall-Cancelling-Bluetooth-Wireless-Headphones-Black/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">£299</a> but given that they've been around since September 2024, you can frequently find them discounted for around $250 — especially during sales events. It remains to be seen what kind of discounts the Milton ANC will get once the headphones have lived a little.</p><p>Given their price, the Monitor III are priced similarly to (or even less than) other flagship active noise-canceling headphones from the likes of Bose and Sony. Also given their higher price point, they offer more features than the Milton ANC — but if you're on a budget, the Milton ANC are the way to go. If you can loosen the purse strings, the Monitor III are a no-brainer. This round is a tie.</p><p><strong>Winner: </strong><em>Tie</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-design"><span>Marshall Milton ANC vs Marshall Monitor III: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8uyQwqaqCD4N7wZq89m4yf" name="EmptyName.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/8uyQwqaqCD4N7wZq89m4yf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The next biggest difference between the Marshall Milton ANC and the Marshall Monitor III is the design. The Monitor III are over-ear headphones while the Milton ANC are on-ear cans. We'll talk about the Milton ANC first, as they're newer. They feature square earcups with soft memory foam cushions, and they sit on your ears rather than around them (as is the nature of on-ears).</p><p>If you're skeptical about how comfortable on-ears are, I'm here to tell you that as a fellow (and former) skeptic, I think the Milton ANC are <em>the </em>most comfortable on-ear headphones on the market. They don't clamp down on your ears too much, and the earcups themselves are quite spacious — so there's plenty of room for all ear sizes. The only issue is that people with cartilage piercings may find them uncomfortable. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6m9CkBnvA6xPcMRS2pwNA5" name="Marshall Monitor III ANC - Open on table" alt="Marshall Monitor III ANC - Open on Table" src="https://cdn.mos.cms.futurecdn.net/6m9CkBnvA6xPcMRS2pwNA5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That's where the Monitor III come in. These over-ear headphones are comfortable for all types of ears, and even for those who have several piercings. Because they sit around your ears, they don't press down on piercings. Ear cushions, again, are very comfortable, as is the suspended headband. They're heavier than the Milton ANC, though, as they weigh 8.8oz while the Milton ANC weigh 7.06oz. </p><p>Controls on both headphones are nearly identical as both feature a customizable 'M' button and a joystick-like power button for adjusting volume and playback. The buttons give lovely tactile feedback when pressed — kinda like on a guitar amp. Neither headphones' controls give you anything to complain about.</p><p>The Milton ANC borrow styling cues from the Monitor III too, which is why they're covered in black with brass accents. Given that the Monitor III did it first, and they're ever-so slightly more comfortable than the Milton ANC, the over-ears get the win in this round.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-features-connectivity"><span>Marshall Milton ANC vs Marshall Monitor III: Features & connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yCMw4dzzEDLn9TXzH24Qbf" name="EmptyName 2.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/yCMw4dzzEDLn9TXzH24Qbf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Even though the Marshall Monitor III are the British brand's flagship headphones, the Marshall Milton ANC pack the latest Bluetooth 6.0. They also feature support for LDAC and LC3, while the Monitor III utilize Bluetooth 5.3 with SBC and AAC. Multipoint connectivity is at play here, as both sets of cans can connect to two devices at once. Both headphones can be used wired too, thanks to USB-C ports on each.</p><p>In addition to this, the Milton ANC become Marshall's first headphones to carry Apple Find My support (along with Google Find Hub). This is a fantastic addition for Apple and Google Pixel owners alike as they can keep track of their headphones at all times.</p><p>One thing the Monitor III pack that the Milton ANC don't is wear detection — but honestly, I've never been a fan of wear detection on headphones as I've always found it to be finicky. I'd take Apple Find My and Google Find Hub over wear detection any day. To my surprise (and perhaps yours), the Milton ANC win the features & connectivity battle. </p><p><strong>Winner: </strong><em>Marshall Milton ANC</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-sound-quality"><span>Marshall Milton ANC vs Marshall Monitor III: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cnUpfc8VrCMA9LNyd7Rkof" name="EmptyName 10.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/cnUpfc8VrCMA9LNyd7Rkof.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What good are a pair of headphones if they aren't <em>brilliant </em>for music? Whether you get the Marshall Milton ANC or the Marshall Monitor III, you'll be getting powerful sound regardless — take the word of someone who's been listening to the same songs back to back on both pairs.</p><p>The first thing you need to know is that both sets of cans use the same 32mm dynamic drivers but cover different frequency response ranges. The Monitor III cover 20Hz-20KHz while the Milton ANC cover 20Hz-40KHz — so the entirety of the human hearing spectrum and then some.</p><p>Both headphones are tuned differently too. The Monitor III have a well-balanced sound while the Milton ANC are more bass-heavy straight out of the box, so it depends on what you like. I don't mind either of the headphones' default Marshall Sound EQ, but if you want to make adjustments to the equalizer, the companion app (Marshall Bluetooth) is very user-friendly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="6CYx4GdHZ5CveYKxJFRhA5" name="Marshall Monitor III ANC - Folded on table" alt="Marshall Monitor III ANC" src="https://cdn.mos.cms.futurecdn.net/6CYx4GdHZ5CveYKxJFRhA5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1153" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>To compare the headphones, I listened to the same three tracks first on the Milton ANC and then on the Monitor III. I used my <a href="https://play.qobuz.com/playlist/63885898" target="_blank" rel="nofollow">Milton ANC testing playlist on Qobuz</a>.</p><p>First up, 'Everybody Scream' by Florence + The Machine. Both pairs of headphones handled this witchy track exceptionally well. The Milton ANC put the bass first and it reverberated through the track, while the Monitor III offered a balanced sound profile. Vocals, through both, sounded beautiful, and the treble was never shrill or piercing. I'd say the Monitor III make the track sound more snappy and capture Florence's vibrato better, but the Milton ANC did a respectable job too.</p><p>I then listened to 'Elephant' by 070 Shake. Personally, I preferred the Milton ANC's sound profile for this track. Thanks to its bass-forward tuning, I felt immersed in the synthesized, wobbly bassline, and it felt like there was a better balance between the thumping bass and distorted vocals. The Monitor III, on the other hand, made the track sound more clinical which is better for those into detailed listening.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Gb6a3WtRBYuTiKXnaYNw3g" name="EmptyName 7.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/Gb6a3WtRBYuTiKXnaYNw3g.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The final song I played was 'Let It Happen' by Tame Impala, and I listened to it to test the Soundstage spatial audio. Soundstage debuted on the Monitor III back in September 2024, and now, Marshall has equipped the cheaper Milton ANC with it too. Soundstage, essentially, moves the sound into a virtual room so it feels like the track is swirling around your head, which is incredible for an immersive listening session.</p><div><blockquote><p>The Milton ANC offer excellent sound for the price, but the Monitor III are just a bit better and more well-rounded overall. </p></blockquote></div><p>On both the Milton ANC and the Monitor III, Soundstage works very well. I set the virtual room to 'large' via the app while using both headphones, and it made me feel like I was at a Tame Impala concert. The soaring synths had plenty of height through both headphones. The Milton ANC, again, emphasized the bass but not too much. What I like, though, is that the Monitor III made the song sound wider and more expansive, which makes sense given their price point.</p><p>Sound quality was a close call, but the Monitor III take it. The Milton ANC offer excellent sound for the price, but the Monitor III are just a bit better and more well-rounded overall. </p><p><strong>Winner:</strong> <em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-anc"><span>Marshall Milton ANC vs Marshall Monitor III: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bvpyZsneZNvXnz2Evrjk95" name="Marshall Monitor III ANC - Folded in hand" alt="Marshall Monitor III ANC - In hand" src="https://cdn.mos.cms.futurecdn.net/bvpyZsneZNvXnz2Evrjk95.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For ANC to be effective, there needs to be a good seal around your ears — or in your ears, if you prefer in-ear buds. It's for that reason that the Marshall Monitor III win this round. Don't get me wrong: the Marshall Milton ANC boast effective ANC, and I even slept through an entire flight without being disturbed. But because they're on-ears, breaks in ANC are to be expected and that's not their fault: it's the nature of on-ears.</p><p>By on-ear standards, the ANC is great. By general standards, the Monitor III offer better.</p><p>The Monitor III create a great seal around your ears and provide a decent level of passive noise cancelation too. Indoors, I can't hear anything, not even the sound of my very loud mechanical keyboard. Outdoors, I can hear cars going by but not to the point that they disturb my peace or break my immersion when I'm jamming to Green Day.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-call-quality"><span>Marshall Milton ANC vs Marshall Monitor III: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PSS6RTgyfKqrL4N7NwbFsf" name="EmptyName 8.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PSS6RTgyfKqrL4N7NwbFsf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately for the Marshall Milton ANC, this round goes to Marshall Monitor III straight off the bat. The Milton ANC's call quality can be described as middling at best as they made me sound scratchy and tinny on the phone. When I spoke with my colleagues on a Google Meet team call, they instantly noted, "You don't sound as good as your other headphones."</p><p>The other headphones in question? The Monitor III. I've been told by my partner and many other people I've spoken to on the phone and team calls that I sound warm and true-to-life through the Monitor III. It's disappointing that the Milton ANC don't make me sound as good but it is what it is.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-battery-life"><span>Marshall Milton ANC vs Marshall Monitor III: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZCXNrdqCsy8RpGDXWFiNE5" name="Marshall Monitor III ANC - Case Open" alt="Marshall Monitor III ANC" src="https://cdn.mos.cms.futurecdn.net/ZCXNrdqCsy8RpGDXWFiNE5.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I'll be upfront here: it's an uphill battle for any pair of headphones to upstage the Marshall Monitor III when it comes to battery life. These headphones pack monster battery life as they can last up to 100 hours with ANC off or 70 hours with ANC on.</p><p>But this doesn't mean that the Marshall Milton ANC have poor battery life — on the contrary, they're long-lasting too. The Milton ANC can last up to 80 hours with ANC off or 50 hours with ANC on. That's quite a big drop compared to the Monitor III, yes, but remember that there's a substantial price difference between the two.</p><p>The Milton ANC have an ace up their sleeve though: they feature a consumer-replaceable battery which can be accessed by twisting off the left earcup. This isn't particularly groundbreaking, though, as all Marshall is doing is abiding by E.U. regulations — but at least you can replace the battery yourself now in case it goes kaput.</p><p>I'd say the Monitor III win this round by a narrow margin, but rest assured that even though you're spending lesser on the Milton ANC, you're still getting long playback time.</p><p><strong>Winner: </strong><em>Marshall Monitor III</em></p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-verdict"><span>Marshall Milton ANC vs Marshall Monitor III: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6uAVakdrEdcxy4xqkqJoWf" name="EmptyName 1.JPG" alt="Marshall Milton ANC on-ear headphones" src="https://cdn.mos.cms.futurecdn.net/6uAVakdrEdcxy4xqkqJoWf.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When I first held the Marshall Milton ANC in my hands three weeks ago, I thought, "They're on-ears, how good can they <em>really </em>be?" Turns out, very, very good. They're excellent on-ear headphones and are ridiculously comfortable. I've never been happier to be proven wrong.</p><p>And truth be told, I'm surprised how close the competition was between the Monitor III and the Milton ANC. As you'll soon see in the ratings scorecard below, the Milton ANC come <em>very </em>close to the Monitor III — which is commendable given that they cost $120 less than the brand's flagship cans.</p><p>This face-off ends with the Monitor III earning 93/100 points, followed very closely by the Milton ANC earning 86/100 points. The Monitor III are the superior headphones, yes, but the Milton ANC are a home run for Marshall, too, and they've shaken up the on-ears realm in the best way possible.</p><h2 class="article-body__section" id="section-marshall-milton-anc-vs-marshall-monitor-iii-ratings-scorecard"><span>Marshall Milton ANC vs Marshall Monitor III: Ratings scorecard</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Marshall Milton ANC</strong></p></th><th  ><p><strong>Marshall Monitor III</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price (5)</strong></p></td><td  ><p>5</p></td><td  ><p>5</p></td></tr><tr><td class="firstcol " ><p><strong>Design & controls (15)</strong></p></td><td  ><p>13</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p><strong>Features (10)</strong></p></td><td  ><p>9</p></td><td  ><p>7</p></td></tr><tr><td class="firstcol " ><p><strong>Sound quality (25)</strong></p></td><td  ><p>22</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>ANC (20)</strong></p></td><td  ><p>16</p></td><td  ><p>18</p></td></tr><tr><td class="firstcol " ><p><strong>Call quality (10)</strong></p></td><td  ><p>7</p></td><td  ><p>9</p></td></tr><tr><td class="firstcol " ><p><strong>Battery (15)</strong></p></td><td  ><p>14</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p><strong>Total score (100)</strong></p></td><td  ><p>86</p></td><td  ><p>93</p></td></tr></tbody></table></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ey6mqW"></div>                            </div>                            <script src="https://kwizly.com/embed/ey6mqW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/marshall-milton-anc-review#section-marshall-milton-anc-review-design">I've been testing the new Marshall Milton ANC for 3 weeks — they fix my biggest gripe with on-ear headphones, and are the new gold standard</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Sony’s $650 fashion headphones — the 1000X 'The Collexion' are more than just pretty ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There are premium headphones, and then there’s the Sony 1000X “The Collexion” (yes, spelled with an X.) Pronounced “Collection,” this $650 remix of the popular <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> is Sony’s 10-year anniversary victory lap for the XM series, aimed at style-conscious buyers who view tech as a seamless extension of their wardrobe. </p><p>But these aren’t just XM6s wearing a nicer coat. Sony upgraded the drivers with rigid carbon components that deliver a wider, richer soundstage with the kind of depth I actually wished the regular XM6 had from day one.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/r_AIwtropHg" allowfullscreen></iframe></div></div><p>The thing is, that might not be enough to convince people this glow-up is worth paying substantially more than the standard XM6 when it comes to buying the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best headphones</a>. The Collexion comes with some weird compromises, such as a shorter battery life and no changes to active noise cancellation performance. </p><p>Sony is making a pretty bold pitch here: luxury materials, fashion-forward design and elevated sound without tipping fully into the four-figure territory occupied by ultra-premium audiophile brands. We’re talking stainless steel, vegan leather, and a finish that feels more designer accessory than commuter headphones.</p><p>And if Apple could make <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max</a> a status symbol, who’s to say Sony can’t do the same? I spent time with Sony’s most fashion-forward headphones yet to find out in my full Sony 1000X The Collection review.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-specs"><span>Sony 1000X The Collexion: Specs</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Sony 1000X The Collexion</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$650 / £550</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>30mm unidirectional carbon driver</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0; 3,5mm; USB-C;</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>iOS/Android (with Sony Sound Connect app)</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>24 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black; Platinum</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-price-and-availability"><span>Sony 1000X The Collexion review: Price and availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pdw8ak4ZDABxE6JqwA294Y" name="Sony-WH-1000-The-Collexion-2-LIST2" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/pdw8ak4ZDABxE6JqwA294Y.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>$649/£550</strong></li><li><strong>Cost $200 more than WH-1000XM6</strong></li><li><strong>10-year anniversary of Sony’s XM products</strong></li></ul><p>The Sony 1000X The Collexion costs $649 / £550 and was released on May 19, 2026, to celebrate a decade of Sony's XM lineage. The headphones are available now at major retailers like Amazon, as well as directly through Sony’s website.</p><p>Price-wise, these cans land squarely between the Apple AirPods Max 2 ($549 / £499) and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 </a>($799 / £629) in a territory not occupied by many other headphone models currently. </p><p>And because these are explicitly positioned as a luxury tier above the flagship line rather than a direct replacement for the $449 WH-1000XM6, don't expect to see them heavily discounted during standard holiday sales events anytime soon. They are expensive by any traditional consumer metric, but they occupy a specific high-end ecosystem tailored for buyers willing to pay extra for some aesthetic clout.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-design"><span>Sony 1000X The Collexion review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CCPLm5v3Tzxf6kGZgkQWRg" name="Sony-WH-1000-The-Collexion-12 (1)" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/CCPLm5v3Tzxf6kGZgkQWRg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>It’s in the materials: </strong>Sony has stripped out the lightweight, utilitarian plastic of the standard XM6 in favor of a striking, premium metal-and-leather aesthetic.</li><li><strong>Case or clutch?: </strong>Rather than a cheap tech pouch, the included carrying case looks and feels like a minimalist designer handbag.</li><li><strong>Heft vs. comfort: </strong>The shift to luxury materials introduces an external wireframe structure that alters the headphones' overall weight, but a wider headband does provide superior comfort.</li></ul><p>While the Sony WH-1000XM6 built its reputation as a lightweight plastic tech product, The Collexion swaps plastic for solid stainless steel arms, buttons and inputs, plus supple vegan leather wrapping the earcups and headband. Sony even hid the “Left” and “Right” markings inside the earcups to keep the design seamless.</p><p>I tested the platinum finish, which accentuates the contrast of premium materials, though there’s also a sophisticated black option with shimmering color-matched metal. Either way, these felt genuinely luxurious to sport around New York City.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kgxmAATBMgwosMoz4rRorb" name="Sony-WH-1000-The-Collexion-3" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/kgxmAATBMgwosMoz4rRorb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>They don’t fold inward, but they do swivel flat into a redesigned carrying case that looks more like a minimalist designer bag than a typical tech pouch. It’s a bit chunky, but the reinforced shell makes carrying around $650 headphones feel a lot safer. (Between us, I loved toting it around.) </p><h3 class="article-body__section" id="section-sony-1000x-the-collexion-review-comfort"><span>Sony 1000X The Collexion review: Comfort</span></h3><p>On my head, The Collexion felt calibrated for comfort, with the weight balanced on a headband that’s 10% wider and 40% thicker than the standard XM6. Sony also shaved 5mm of thickness off the earcups compared to the XM6, while the earpads feel plush and padded. </p><p>But its ultra-premium materials introduce a literal physical weight: 11.3 ounces vs. 9 ounces for the plastic XM6. AirPods Max 2 tip the scales at 13.6 ounces, and since I’ve been using those lately, The Collexion actually felt like a bit of a welcome reprieve. </p><h3 class="article-body__section" id="section-sony-wh-1000x-the-collexion-review-controls"><span>Sony WH-1000X The Collexion review: Controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5qQPjACo9Hn4vHeQ7hedik" name="Sony-WH-1000-The-Collexion-6" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/5qQPjACo9Hn4vHeQ7hedik.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These headphones combine a highly responsive right-earcup touch panel with tactile physical buttons. Swiping for volume and track skipping works flawlessly. Best of all, The Collexion is equipped with a new dedicated hardware feature: a physical Spatial Upmixer button. On the standard XM6, toggling immersive 3D audio required app diving and was only available for Cinema Mode. Here, a simple physical press instantly toggles spatial audio for music, movies, or mobile gaming. </p><p>The headphones also feature snappy wear detection, instantly pausing your media the moment you lift an earcup to speak to someone and resuming it seamlessly when placed back on your head. You could always tap and hold on the right earcup to pause and initiate transparency mode, too.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-connectivity"><span>Sony 1000X The Collexion review: Connectivity</span></h2><p>In terms of connectivity, The Collexion is future-proofed with Bluetooth 6.0 (an upgrade over the standard XM6’s Bluetooth 5.3), multi-point connectivity, and a USB-C port for charging and a 3.5mm jack for wired listening. </p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-sound-quality"><span>Sony 1000X The Collexion review: Sound quality</span></h2><ul><li><strong>Unidirectional carbon driver:</strong> Sony introduced a brand-new, 30mm unidirectional carbon driver designed for wider frequency handling.</li><li><strong>Beefed-up circuitry:</strong> The internal circuit board features thicker copper foil layers for a cleaner audio signal.</li><li><strong>Top-tier processing and codecs:</strong> Powered by Sony’s new V3 processor, these headphones get DSEE Ultimate AI upscaling alongside LDAC, AAC, and SBC codec support.</li></ul><p>The Sony 1000X The Collexion delivers the exact sound quality upgrade I originally wished the standard XM6 would’ve introduced over the <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm5">WH-1000XM5</a>. At the heart of this upgrade is a brand-new, rigid 30mm unidirectional carbon driver, paired with a beefed-up internal circuit board sporting copper foil layers 1.5 times thicker than the XM6. </p><p>For software processing, it steps up to DSEE Ultimate, Sony's highest-grade AI audio engine, and supports high-resolution LDAC alongside standard AAC and SBC codecs. You also get a fully customizable EQ via the Sony Headphones Connect app if you want to tweak the sound.</p><p>Listening to ‘bury a friend’ by Billie Eilish the sub-bass sounded cleaner and more controlled than the XM6. The track’s pulsing low-end hits with serious depth and punch, but never overwhelms the rest of the mix or introduces distortion, even at higher volumes.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EnaTVdEYxfgdWRfzMyxNT5" name="Sony-WH-1000-The-Collexion-11" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/EnaTVdEYxfgdWRfzMyxNT5.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For mids and instrument separation, I switched to ‘Dreams’ by Fleetwood Mac. The vocals, bassline and percussion all felt beautifully distinct, with a warmth and clarity that gave the song room to breathe without sounding crowded.</p><p>Then I tested treble and soundstage with ‘Kyoto’ by Phoebe Bridgers. The brass, acoustic textures and layered vocals sounded crisp and airy without teetering on sharp.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-anc"><span>Sony 1000X The Collexion review: ANC</span></h2><ul><li><strong>Identical ANC:</strong> The active noise cancellation hardware and processing are completely identical to the standard XM6.</li><li><strong>Great, not legendary:</strong> It excels at cutting out lower-frequency environmental hums, it stops short of class-leading.</li></ul><p>The active noise cancellation on The Collexion is excellent, but it’s exactly the same ANC you get on the cheaper Sony WH-1000XM6. Sony used the same microphones and processing here, which makes the lack of an upgrade feel noticeable at $650.</p><p>In testing, the headphones did a great job muting low-frequency noise like a loud studio AC unit and the constant rumble of New York City traffic. But sharper sounds still cut through more than they do on the Bose QuietComfort Ultra, which still delivers the strongest isolation I’ve tested.</p><h2 class="article-body__section" id="section-sony-1000-the-collexion-review-call-quality"><span>Sony 1000 The Collexion review: Call quality</span></h2><ul><li><strong>Familiar mic system: </strong>The Collexion uses the exact same microphone hardware and noise processing found on the standard Sony WH-1000XM6.</li><li><strong>Excellent voice isolation: </strong>With 12 beamforming microphones, the headphones do a fantastic job separating your voice from surrounding noise.</li><li><strong>Clear real-world performance: </strong>Calls sounded rich, warm and consistently clean, even while walking through loud New York City streets.</li></ul><p>The call quality on The Collexion is excellent, even if it uses the exact same microphone system as the XM6. With 12 beamforming microphones and strong onboard noise processing, these headphones do a fantastic job isolating your voice from chaotic surroundings.</p><p>I spent days taking calls while walking through New York City, and everyone I spoke to commented on how clear and natural my voice sounded. Vocals came through rich and warm without the thin, crackly quality some wireless headsets produce around wind or traffic. As a certified yapper who also cares about my style, I thrived with The Collexion as a wearable accessory.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-battery-life"><span>Sony 1000X The Collexion review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2aDfyW37Szj5dCTPo8QzPF" name="Sony-WH-1000-The-Collexion-7" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/2aDfyW37Szj5dCTPo8QzPF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Noticeable downgrade: </strong>Battery life drops to 24 hours with ANC on, down from the 30 hours offered by the cheaper Sony WH-1000XM6.</li><li><strong>Fast charging helps: </strong>A quick 5-minute USB-C charge delivers around 1.5 hours of listening time.</li></ul><p>Battery life is easily one of the strangest compromises on The Collexion. Sony rates these headphones for 24 hours with ANC enabled, which is enough for a full workday or long-haul flight, but noticeably worse than the standard XM6 which lasts up to 30 hours. </p><p>In my testing, Sony’s numbers were accurate almost down to the hour. The headphones died right around 24 hours of use with ANC running continuously. Thankfully, the fast charging is excellent. Five minutes plugged in gave me roughly 90 minutes of playback, which made topping them off far less annoying day to day.</p><h3 class="article-body__section" id="section-sony-1000x-the-collexion-review-verdict"><span>Sony 1000X The Collexion review: Verdict</span></h3><p>The Sony 1000X 'The Collexion' is a niche, luxury statement piece that successfully bridges the gap between mainstream tech and high-end fashion. It delivers an incredibly premium experience with some weird compromises, but the style element is undeniable. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YRAfCA4JGrzcNbkv4dXjTL" name="Sony-WH-1000-The-Collexion-14 (2)" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/YRAfCA4JGrzcNbkv4dXjTL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you view headphones as a core part of your outfit, it is a luxury flex that happens to sound incredible. The designer handbag-style case is, in my opinion, a spectacular touch, and the upgraded rigid carbon drivers deliver the spacious, pristine soundstage I always wanted from the standard XM6.</p><p>On the downside, paying a $200 premium forces you into a frustrating battery life drop down to 24 hours and active noise cancellation that offers zero upgrade over the more sensibly-priced base model.</p><p>So maybe The Collexion isn't the practical choice for everyone, but hey, style rarely is.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/i-tested-sonys-usd650-fashion-headphones-the-wh-1000x-the-collexion-are-more-than-just-pretty</link>
                                                                            <description>
                            <![CDATA[ The Sony 1000X “The Collexion” takes everything people love about the Sony WH-1000XM6 and wraps it in a luxurious metal-and-leather redesign with richer, more spacious sound. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8BYNqsAzhtrSEcxjfpeth4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kcaAzw9zQYHJnoRKA7d5DS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 19 May 2026 16:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 26 May 2026 08:08:14 +0000</updated>
                                                                                                                                            <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Over-Ear Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Kate Kozuch ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xAVUdx6Qtp3SzugnnfNYsL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Kate Kozuch is a managing editor of social and video at Tom&#039;s Guide, where she&#039;s been with the team since 2019. She also reviews smartwatches, covers TVs, tests the latest audio products and dabbles in cooking appliances. Of course, that&#039;s not when she&#039;s working on building the &lt;a href=&quot;https://www.tomsguide.com/reference/smart-home-guide&quot;&gt;ultimate DIY smart home&lt;/a&gt;. She has conducted over 100 different product reviews across these categories, turning her findings into buying guides and face-offs. She also manages a number of gift guides on the site. Kate has a strong on-camera presence as well. She has appeared on Cheddar and Fox 5 NY to talk trending tech news. She is also regularly featured on the Tom&#039;s Guide YouTube channel, runs the &lt;a href=&quot;https://www.tiktok.com/@tomsguide?lang=en&quot;&gt;Tom&#039;s Guide TikTok account&lt;/a&gt; with over 350,000 followers, and features all the tech she&#039;s testing &lt;a href=&quot;https://www.instagram.com/katekozuch/&quot;&gt;on her Instagram&lt;/a&gt;. When she’s not filming tech videos, you can find her taking up a new sport, mastering the NYT Crossword or channeling her inner celebrity chef. Speaking of, be sure to ask her about the time Guy Fieri made her a margarita at CES, or when her video of Martha Stewart drinking a margarita went mega-viral. Clearly, Kate has a thing for culinary icons and margaritas.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kcaAzw9zQYHJnoRKA7d5DS-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sony WH-1000X The Collexion]]></media:description>                                                            <media:text><![CDATA[Sony WH-1000X The Collexion]]></media:text>
                                <media:title type="plain"><![CDATA[Sony WH-1000X The Collexion]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kcaAzw9zQYHJnoRKA7d5DS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There are premium headphones, and then there’s the Sony 1000X “The Collexion” (yes, spelled with an X.) Pronounced “Collection,” this $650 remix of the popular <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> is Sony’s 10-year anniversary victory lap for the XM series, aimed at style-conscious buyers who view tech as a seamless extension of their wardrobe. </p><p>But these aren’t just XM6s wearing a nicer coat. Sony upgraded the drivers with rigid carbon components that deliver a wider, richer soundstage with the kind of depth I actually wished the regular XM6 had from day one.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/r_AIwtropHg" allowfullscreen></iframe></div></div><p>The thing is, that might not be enough to convince people this glow-up is worth paying substantially more than the standard XM6 when it comes to buying the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best headphones</a>. The Collexion comes with some weird compromises, such as a shorter battery life and no changes to active noise cancellation performance. </p><p>Sony is making a pretty bold pitch here: luxury materials, fashion-forward design and elevated sound without tipping fully into the four-figure territory occupied by ultra-premium audiophile brands. We’re talking stainless steel, vegan leather, and a finish that feels more designer accessory than commuter headphones.</p><p>And if Apple could make <a href="https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review">AirPods Max</a> a status symbol, who’s to say Sony can’t do the same? I spent time with Sony’s most fashion-forward headphones yet to find out in my full Sony 1000X The Collection review.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-specs"><span>Sony 1000X The Collexion: Specs</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Sony 1000X The Collexion</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$650 / £550</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>30mm unidirectional carbon driver</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0; 3,5mm; USB-C;</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>iOS/Android (with Sony Sound Connect app)</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Wear detection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life</strong></p></td><td  ><p>24 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black; Platinum</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-price-and-availability"><span>Sony 1000X The Collexion review: Price and availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pdw8ak4ZDABxE6JqwA294Y" name="Sony-WH-1000-The-Collexion-2-LIST2" alt="Sony WH-1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/pdw8ak4ZDABxE6JqwA294Y.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>$649/£550</strong></li><li><strong>Cost $200 more than WH-1000XM6</strong></li><li><strong>10-year anniversary of Sony’s XM products</strong></li></ul><p>The Sony 1000X The Collexion costs $649 / £550 and was released on May 19, 2026, to celebrate a decade of Sony's XM lineage. The headphones are available now at major retailers like Amazon, as well as directly through Sony’s website.</p><p>Price-wise, these cans land squarely between the Apple AirPods Max 2 ($549 / £499) and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 </a>($799 / £629) in a territory not occupied by many other headphone models currently. </p><p>And because these are explicitly positioned as a luxury tier above the flagship line rather than a direct replacement for the $449 WH-1000XM6, don't expect to see them heavily discounted during standard holiday sales events anytime soon. They are expensive by any traditional consumer metric, but they occupy a specific high-end ecosystem tailored for buyers willing to pay extra for some aesthetic clout.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-design"><span>Sony 1000X The Collexion review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CCPLm5v3Tzxf6kGZgkQWRg" name="Sony-WH-1000-The-Collexion-12 (1)" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/CCPLm5v3Tzxf6kGZgkQWRg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>It’s in the materials: </strong>Sony has stripped out the lightweight, utilitarian plastic of the standard XM6 in favor of a striking, premium metal-and-leather aesthetic.</li><li><strong>Case or clutch?: </strong>Rather than a cheap tech pouch, the included carrying case looks and feels like a minimalist designer handbag.</li><li><strong>Heft vs. comfort: </strong>The shift to luxury materials introduces an external wireframe structure that alters the headphones' overall weight, but a wider headband does provide superior comfort.</li></ul><p>While the Sony WH-1000XM6 built its reputation as a lightweight plastic tech product, The Collexion swaps plastic for solid stainless steel arms, buttons and inputs, plus supple vegan leather wrapping the earcups and headband. Sony even hid the “Left” and “Right” markings inside the earcups to keep the design seamless.</p><p>I tested the platinum finish, which accentuates the contrast of premium materials, though there’s also a sophisticated black option with shimmering color-matched metal. Either way, these felt genuinely luxurious to sport around New York City.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kgxmAATBMgwosMoz4rRorb" name="Sony-WH-1000-The-Collexion-3" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/kgxmAATBMgwosMoz4rRorb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>They don’t fold inward, but they do swivel flat into a redesigned carrying case that looks more like a minimalist designer bag than a typical tech pouch. It’s a bit chunky, but the reinforced shell makes carrying around $650 headphones feel a lot safer. (Between us, I loved toting it around.) </p><h3 class="article-body__section" id="section-sony-1000x-the-collexion-review-comfort"><span>Sony 1000X The Collexion review: Comfort</span></h3><p>On my head, The Collexion felt calibrated for comfort, with the weight balanced on a headband that’s 10% wider and 40% thicker than the standard XM6. Sony also shaved 5mm of thickness off the earcups compared to the XM6, while the earpads feel plush and padded. </p><p>But its ultra-premium materials introduce a literal physical weight: 11.3 ounces vs. 9 ounces for the plastic XM6. AirPods Max 2 tip the scales at 13.6 ounces, and since I’ve been using those lately, The Collexion actually felt like a bit of a welcome reprieve. </p><h3 class="article-body__section" id="section-sony-wh-1000x-the-collexion-review-controls"><span>Sony WH-1000X The Collexion review: Controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5qQPjACo9Hn4vHeQ7hedik" name="Sony-WH-1000-The-Collexion-6" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/5qQPjACo9Hn4vHeQ7hedik.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These headphones combine a highly responsive right-earcup touch panel with tactile physical buttons. Swiping for volume and track skipping works flawlessly. Best of all, The Collexion is equipped with a new dedicated hardware feature: a physical Spatial Upmixer button. On the standard XM6, toggling immersive 3D audio required app diving and was only available for Cinema Mode. Here, a simple physical press instantly toggles spatial audio for music, movies, or mobile gaming. </p><p>The headphones also feature snappy wear detection, instantly pausing your media the moment you lift an earcup to speak to someone and resuming it seamlessly when placed back on your head. You could always tap and hold on the right earcup to pause and initiate transparency mode, too.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-connectivity"><span>Sony 1000X The Collexion review: Connectivity</span></h2><p>In terms of connectivity, The Collexion is future-proofed with Bluetooth 6.0 (an upgrade over the standard XM6’s Bluetooth 5.3), multi-point connectivity, and a USB-C port for charging and a 3.5mm jack for wired listening. </p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-sound-quality"><span>Sony 1000X The Collexion review: Sound quality</span></h2><ul><li><strong>Unidirectional carbon driver:</strong> Sony introduced a brand-new, 30mm unidirectional carbon driver designed for wider frequency handling.</li><li><strong>Beefed-up circuitry:</strong> The internal circuit board features thicker copper foil layers for a cleaner audio signal.</li><li><strong>Top-tier processing and codecs:</strong> Powered by Sony’s new V3 processor, these headphones get DSEE Ultimate AI upscaling alongside LDAC, AAC, and SBC codec support.</li></ul><p>The Sony 1000X The Collexion delivers the exact sound quality upgrade I originally wished the standard XM6 would’ve introduced over the <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm5">WH-1000XM5</a>. At the heart of this upgrade is a brand-new, rigid 30mm unidirectional carbon driver, paired with a beefed-up internal circuit board sporting copper foil layers 1.5 times thicker than the XM6. </p><p>For software processing, it steps up to DSEE Ultimate, Sony's highest-grade AI audio engine, and supports high-resolution LDAC alongside standard AAC and SBC codecs. You also get a fully customizable EQ via the Sony Headphones Connect app if you want to tweak the sound.</p><p>Listening to ‘bury a friend’ by Billie Eilish the sub-bass sounded cleaner and more controlled than the XM6. The track’s pulsing low-end hits with serious depth and punch, but never overwhelms the rest of the mix or introduces distortion, even at higher volumes.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EnaTVdEYxfgdWRfzMyxNT5" name="Sony-WH-1000-The-Collexion-11" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/EnaTVdEYxfgdWRfzMyxNT5.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For mids and instrument separation, I switched to ‘Dreams’ by Fleetwood Mac. The vocals, bassline and percussion all felt beautifully distinct, with a warmth and clarity that gave the song room to breathe without sounding crowded.</p><p>Then I tested treble and soundstage with ‘Kyoto’ by Phoebe Bridgers. The brass, acoustic textures and layered vocals sounded crisp and airy without teetering on sharp.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-anc"><span>Sony 1000X The Collexion review: ANC</span></h2><ul><li><strong>Identical ANC:</strong> The active noise cancellation hardware and processing are completely identical to the standard XM6.</li><li><strong>Great, not legendary:</strong> It excels at cutting out lower-frequency environmental hums, it stops short of class-leading.</li></ul><p>The active noise cancellation on The Collexion is excellent, but it’s exactly the same ANC you get on the cheaper Sony WH-1000XM6. Sony used the same microphones and processing here, which makes the lack of an upgrade feel noticeable at $650.</p><p>In testing, the headphones did a great job muting low-frequency noise like a loud studio AC unit and the constant rumble of New York City traffic. But sharper sounds still cut through more than they do on the Bose QuietComfort Ultra, which still delivers the strongest isolation I’ve tested.</p><h2 class="article-body__section" id="section-sony-1000-the-collexion-review-call-quality"><span>Sony 1000 The Collexion review: Call quality</span></h2><ul><li><strong>Familiar mic system: </strong>The Collexion uses the exact same microphone hardware and noise processing found on the standard Sony WH-1000XM6.</li><li><strong>Excellent voice isolation: </strong>With 12 beamforming microphones, the headphones do a fantastic job separating your voice from surrounding noise.</li><li><strong>Clear real-world performance: </strong>Calls sounded rich, warm and consistently clean, even while walking through loud New York City streets.</li></ul><p>The call quality on The Collexion is excellent, even if it uses the exact same microphone system as the XM6. With 12 beamforming microphones and strong onboard noise processing, these headphones do a fantastic job isolating your voice from chaotic surroundings.</p><p>I spent days taking calls while walking through New York City, and everyone I spoke to commented on how clear and natural my voice sounded. Vocals came through rich and warm without the thin, crackly quality some wireless headsets produce around wind or traffic. As a certified yapper who also cares about my style, I thrived with The Collexion as a wearable accessory.</p><h2 class="article-body__section" id="section-sony-1000x-the-collexion-review-battery-life"><span>Sony 1000X The Collexion review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2aDfyW37Szj5dCTPo8QzPF" name="Sony-WH-1000-The-Collexion-7" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/2aDfyW37Szj5dCTPo8QzPF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Noticeable downgrade: </strong>Battery life drops to 24 hours with ANC on, down from the 30 hours offered by the cheaper Sony WH-1000XM6.</li><li><strong>Fast charging helps: </strong>A quick 5-minute USB-C charge delivers around 1.5 hours of listening time.</li></ul><p>Battery life is easily one of the strangest compromises on The Collexion. Sony rates these headphones for 24 hours with ANC enabled, which is enough for a full workday or long-haul flight, but noticeably worse than the standard XM6 which lasts up to 30 hours. </p><p>In my testing, Sony’s numbers were accurate almost down to the hour. The headphones died right around 24 hours of use with ANC running continuously. Thankfully, the fast charging is excellent. Five minutes plugged in gave me roughly 90 minutes of playback, which made topping them off far less annoying day to day.</p><h3 class="article-body__section" id="section-sony-1000x-the-collexion-review-verdict"><span>Sony 1000X The Collexion review: Verdict</span></h3><p>The Sony 1000X 'The Collexion' is a niche, luxury statement piece that successfully bridges the gap between mainstream tech and high-end fashion. It delivers an incredibly premium experience with some weird compromises, but the style element is undeniable. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YRAfCA4JGrzcNbkv4dXjTL" name="Sony-WH-1000-The-Collexion-14 (2)" alt="Sony 1000X The Collexion" src="https://cdn.mos.cms.futurecdn.net/YRAfCA4JGrzcNbkv4dXjTL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you view headphones as a core part of your outfit, it is a luxury flex that happens to sound incredible. The designer handbag-style case is, in my opinion, a spectacular touch, and the upgraded rigid carbon drivers deliver the spacious, pristine soundstage I always wanted from the standard XM6.</p><p>On the downside, paying a $200 premium forces you into a frustrating battery life drop down to 24 hours and active noise cancellation that offers zero upgrade over the more sensibly-priced base model.</p><p>So maybe The Collexion isn't the practical choice for everyone, but hey, style rarely is.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've been using the Marshall Monitor III headphones for over a year and they just got a rare lowest-ever price discount ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I don't know about you, but I love it when the tech I love (or want) is discounted. As someone who reviews consumer tech for a living, it's my job to thoroughly test products and tell you whether they're worth your money, so trust me when I say the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> are well worth the premium — and there's no reason to not buy them when they get a killer discount.</p><p>That's just happened. I was randomly browsing Amazon when I spotted this deal. The <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">Marshall Monitor III are just $248 at Amazon</a> right now, knocking 34% off. That's a crazy discount, and I've never seen them drop this low before. You'll be saving over $100 if you bag this deal — and there are many, many reasons why you should.</p><div class="product"><a data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xmTbqHyw3cvfuFwFbQYqQk" name="Marshall Monitor III prod image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xmTbqHyw3cvfuFwFbQYqQk.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248">Monitor III: was $379 now $248</a></strong><br>A great internal upgrade to Marshall’s already impressive noise canceling, bringing a slate of new features to the table. They’re comfortable, sound great, and fold up smaller than any other pair of noise-canceling headphones that money can buy.<a class="view-deal button" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248">View Deal</a></p></div><p>I've been using the Monitor III extensively for over a year. Regardless of where I go, they're either around my neck or on my head. I use them on my commute to and from work, while traveling, working, even playing video games — so I can attest to the fact that they offer bang for your buck.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2891px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="WVcEV95zc4wh4KqKwFNqM" name="Headphones-op-ed-18" alt="Marshall Monitor III headphones" src="https://cdn.mos.cms.futurecdn.net/WVcEV95zc4wh4KqKwFNqM.jpg" mos="" align="middle" fullscreen="" width="2891" height="1626" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Firstly, they're ridiculously comfortable with plush ear cushions and a headband that doesn't exert pressure on the top of your head. I've worn them for up to 10 hours a day without any discomfort. They weigh just 8.8oz too, so I never feel weighed down by them. But their key selling point is the outstanding, well-balanced sound quality.</p><p>The Monitor III's 32mm dynamic drivers deliver thumping basslines without them sounding muddy or booming. Treble is vibrant but never overzealous, so hi-hats and high-pitched vocals never pierce through the rest of the soundstage. They're tuned exceptionally, as you'd expect from a pair of flagship headphones. And if you want to adjust the EQ, you can do so through the very user-friendly companion app.</p><p>I also love the Monitor III's Soundstage spatial audio, which moves the sound out into a virtual room, and makes it feel like the instruments and vocals are swirling around you. Any time I listen to, say, Tame Impala through these headphones with Soundstage toggled, I feel like I'm at a live gig. It's some of the best implementation of spatial audio I've seen in a pair of headphones.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="PPUjHgmWSX4u3z3DpMknjS" name="Headphones-op-ed-11" alt="Marshall Monitor III over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PPUjHgmWSX4u3z3DpMknjS.jpg" mos="" align="middle" fullscreen="" width="2797" height="1573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Alongside stellar sound quality and comfort, the Monitor III offer long battery life too. These headphones can last up to 100 hours with ANC disabled, which is great for anyone who forgets to charge their gadgets frequently. And needless to say, the Monitor III look extremely stylish, thanks to their black body and brass accents — I think they look better than most over-ears, including those from the likes of Sony and JBL!</p><p>The best time to buy the Monitor III was when they first came out and reviewed well. The second-best time to buy them is now, when <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">they're $131 off at Amazon</a>. This is a rare discount that doesn't come by very often so if I were you, I'd grab this deal with both hands and run!</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-anc-headphones-3-reasons-to-buy-3-and-3-reasons-to-skip">Marshall Monitor III ANC headphones — 3 reasons to buy 3 and 3 reasons to skip</a></li></ul><div data-widget-type="review" data-model-name="Marshall Monitor III ANC"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/ive-been-using-the-marshall-monitor-iii-headphones-for-over-a-year-and-they-just-got-a-rare-lowest-ever-price-discount</link>
                                                                            <description>
                            <![CDATA[ I’ve been using the Marshall Monitor III for over a year and for the first time, they’ve been discounted by over $100, so now's the time to bag them. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">w5rPTnqBXTXNFwMQr3bax4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AECcv5eRvecjacjWJ8mQDY-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 12 May 2026 14:21:46 +0000</pubDate>                                                                                                                                <updated>Tue, 12 May 2026 14:22:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AECcv5eRvecjacjWJ8mQDY-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Marshall Monitor III headphones]]></media:description>                                                            <media:text><![CDATA[Marshall Monitor III headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Marshall Monitor III headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AECcv5eRvecjacjWJ8mQDY-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I don't know about you, but I love it when the tech I love (or want) is discounted. As someone who reviews consumer tech for a living, it's my job to thoroughly test products and tell you whether they're worth your money, so trust me when I say the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> are well worth the premium — and there's no reason to not buy them when they get a killer discount.</p><p>That's just happened. I was randomly browsing Amazon when I spotted this deal. The <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">Marshall Monitor III are just $248 at Amazon</a> right now, knocking 34% off. That's a crazy discount, and I've never seen them drop this low before. You'll be saving over $100 if you bag this deal — and there are many, many reasons why you should.</p><div class="product"><a data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="xmTbqHyw3cvfuFwFbQYqQk" name="Marshall Monitor III prod image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xmTbqHyw3cvfuFwFbQYqQk.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248">Monitor III: was $379 now $248</a></strong><br>A great internal upgrade to Marshall’s already impressive noise canceling, bringing a slate of new features to the table. They’re comfortable, sound great, and fold up smaller than any other pair of noise-canceling headphones that money can buy.<a class="view-deal button" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="38c88c25-ca61-4379-bb80-70ce5f8b5209" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$248">View Deal</a></p></div><p>I've been using the Monitor III extensively for over a year. Regardless of where I go, they're either around my neck or on my head. I use them on my commute to and from work, while traveling, working, even playing video games — so I can attest to the fact that they offer bang for your buck.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2891px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="WVcEV95zc4wh4KqKwFNqM" name="Headphones-op-ed-18" alt="Marshall Monitor III headphones" src="https://cdn.mos.cms.futurecdn.net/WVcEV95zc4wh4KqKwFNqM.jpg" mos="" align="middle" fullscreen="" width="2891" height="1626" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Firstly, they're ridiculously comfortable with plush ear cushions and a headband that doesn't exert pressure on the top of your head. I've worn them for up to 10 hours a day without any discomfort. They weigh just 8.8oz too, so I never feel weighed down by them. But their key selling point is the outstanding, well-balanced sound quality.</p><p>The Monitor III's 32mm dynamic drivers deliver thumping basslines without them sounding muddy or booming. Treble is vibrant but never overzealous, so hi-hats and high-pitched vocals never pierce through the rest of the soundstage. They're tuned exceptionally, as you'd expect from a pair of flagship headphones. And if you want to adjust the EQ, you can do so through the very user-friendly companion app.</p><p>I also love the Monitor III's Soundstage spatial audio, which moves the sound out into a virtual room, and makes it feel like the instruments and vocals are swirling around you. Any time I listen to, say, Tame Impala through these headphones with Soundstage toggled, I feel like I'm at a live gig. It's some of the best implementation of spatial audio I've seen in a pair of headphones.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="PPUjHgmWSX4u3z3DpMknjS" name="Headphones-op-ed-11" alt="Marshall Monitor III over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PPUjHgmWSX4u3z3DpMknjS.jpg" mos="" align="middle" fullscreen="" width="2797" height="1573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Alongside stellar sound quality and comfort, the Monitor III offer long battery life too. These headphones can last up to 100 hours with ANC disabled, which is great for anyone who forgets to charge their gadgets frequently. And needless to say, the Monitor III look extremely stylish, thanks to their black body and brass accents — I think they look better than most over-ears, including those from the likes of Sony and JBL!</p><p>The best time to buy the Monitor III was when they first came out and reviewed well. The second-best time to buy them is now, when <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">they're $131 off at Amazon</a>. This is a rare discount that doesn't come by very often so if I were you, I'd grab this deal with both hands and run!</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-anc-headphones-3-reasons-to-buy-3-and-3-reasons-to-skip">Marshall Monitor III ANC headphones — 3 reasons to buy 3 and 3 reasons to skip</a></li></ul><div data-widget-type="review" data-model-name="Marshall Monitor III ANC"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple AirPods Max 2 review: ‘Everything from its predecessor dialed up to 11’  ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We’ve waited six years for the new Apple AirPods Max 2, but after testing them for myself over the last two weeks, I’m no longer mad about it. The AirPods Max 2 are some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> I’ve ever had the pleasure of using.</p><p>Everything has been turned up to 11 — the sound quality is industry-leading, the ANC has improved massively, and the call quality is now professional-meeting-suitable. They still offer a feeble 20-hour battery life and a somewhat burdensome 13.6-ounce weight, but these issues don't detract from how excellent the AirPods Max 2 are overall. </p><p>I’ve tested tons of the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a>, but none thus far have sounded <em>quite</em> this good. Sure, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> are detailed and clean, and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones 2</a> are bassy, but the AirPods Max 2 are the best of all worlds. Rich, bassy, detailed, expansive, <em>and </em>clean.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/-pGMlFVM43Y" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-apple-airpods-max-2-review-cheat-sheet"><span>Apple AirPods Max 2 review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>Apple’s newest flagship headphones, replacing the AirPods Max</li><li><strong>What does it cost?</strong> <a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549</a> / <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499</a> / <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999</a></li><li><strong>What do we like? </strong>They are the best-sounding Bluetooth headphones (at this price point) ever</li><li><strong>What don’t we like? </strong>Issues from the previous model have been ignored — still just 20 hours of battery life, still very heavy</li></ul><h2 class="article-body__section" id="section-apple-airpods-max-2-review-specs"><span>Apple AirPods Max 2 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549</a> / <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499</a> / <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>20 hours </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>13.6 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>6.6 x 3.3 x 7.4 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Starlight, Midnight, orange, purple, blue</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>iOS (features), Android (basic)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-airpods-max-2-review-price-availability"><span>Apple AirPods Max 2 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eUGRKFAzkTpoHrsy7S5oRF" name="AirpodsMax2_10.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/eUGRKFAzkTpoHrsy7S5oRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Apple AirPods Max 2 are <a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549 from Apple U.S</a>. In the U.K., they’re <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499 from Apple U.K.</a> In Australia, you’re looking at an <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999 price tag</a>. This is the same launch price as the previous model, in keeping with the precedent set by the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>, which matched the Pro 2. </p><p>As you might expect, the AirPods Max 2 are considerably pricier than their flagship rivals: The Sony WH-1000XM6 have a $459 MSRP and the Bose QuietComfort Ultra Gen 2 regularly retail for $449. This isn’t to say the AirPods Max 2 are the most expensive wireless headphones on the market — you could also spend nearly a grand on the $799 <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a>, or break the 4-figure ceiling with the $1,199 <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-design"><span>Apple AirPods Max 2 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SuHi77PnUWBh5LTUcebjPF" name="AirpodsMax2_15.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SuHi77PnUWBh5LTUcebjPF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Easy Digital Crown and ANC controls </strong></li><li><strong>Still heavy, but comfortable nonetheless</strong></li><li><strong>Fantastic smart features</strong></li></ul><p>If you’ve seen the original AirPods Max, you might be looking at the AirPods Max 2 and thinking, “<em>Hmm.</em> <em>These look awfully familiar. Are you sure you didn’t just mix up your AirPods Max OG and AirPods Max 2 in the photos</em>?” </p><p>I am quite sure. The AirPods Max and Max 2 are identical. You’ll see the same anodized aluminum ear cups; the same removable cushions; the same metal-and-mesh headband that tries its very best to alleviate skull pressure. At release, the headphones come in most of the same colors as the OGs — Midnight, Starlight, blue (pictured), orange, and purple. Unfortunately, it appears the green shade is no more. </p><p>This also means you have the same "bra" case seen on the AirPods Max OG. Some customers might be incredibly disappointed to see this make a return — it doesn't protect the headband or adjustment areas like other brands' carry cases. Although the case has a smaller footprint in your bag, you might not want to throw it carelessly into a particularly messy or chaotic backpack. </p><p>The controls are also the same: you’ve got a Digital Crown and ANC button on the right ear cup. You can adjust all these controls directly in your phone settings (if you have an iPhone). </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SusawEdjBMCisMriTJVuRF" name="AirpodsMax2_13.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SusawEdjBMCisMriTJVuRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad Apple hasn’t swapped the physical, tactile buttons in favor of the ‘touch area’ trend that seems to be sweeping through audio brands. The Bose QC Ultra Gen 2 and Sony WH-1000XM6 both suffer from this aberration, with ‘touch areas’ instead of buttons, so you need to stroke your headphones to change volume or skip tracks. These controls are especially egregious on the QC Ultra — I found myself trying to find the multi-purpose button, but accidentally turned the volume to max multiple times. </p><p>One of the primary complaints regarding the original AirPods Max was weight. The new AirPods Max 2 are the same weight, 13.6 ounces, making them almost <em>double</em> that of the Bose QC Ultra and Sony XM6 (8.8 ounces). Even so, the mesh headband does a <em>lot</em> of heavy lifting during wear. I didn’t often feel the need to remove or readjust the headphones.</p><p>While the Bose and Sony flagships are a lot lighter, they also look cheaper. Personally, I would much rather the uber-sleek, uber-premium AirPods Max 2.</p><h2 id="features">Features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RBHF3wAMhvBGZEgtTatLFF" name="AirpodsMax2_09.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/RBHF3wAMhvBGZEgtTatLFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you might expect from flagship cans, the AirPods Max 2 have are chock-full of features. The AirPods Max 2 are like AirPods Pro 3 in over-ear form: Apple has treated us to seamless Siri assistance, Camera Remote, Live Translation, Head Gestures, Conversation Awareness, and Personalized Volume. </p><p>I like that you can choose which features you want to activate. For example, I always turn off Conversation Awareness as it means I can’t (terribly) sing along to my favorite songs — my headphones turn on Transparency after assuming I’m talking to someone instead of warbling tunelessly to myself.</p><p>If you want to use Live Translation, however, you’ll need to pre-download the language packs. I tried this out with Korean, and it had about a 3-4 second delay, which is pretty much exactly how it works on the AirPods Pro 3. Perhaps good in a pinch, but wouldn’t be up to scratch for important meetings. </p><p>Unfortunately, like the previous model, there’s no IP rating, so I wouldn’t recommend taking these out in the rain. While disappointing, this isn’t a surprise for over-ears — neither the Sony XM6 nor the Bose QC Ultra have an IP rating. I’d recommend one of the <a href="https://www.tomsguide.com/us/best-wireless-earbuds,review-6160.html">best earbuds</a> for that, like the AirPods Pro 3, or the <a href="https://www.tomsguide.com/audio/headphones/nothing-headphone-a-review">Nothing Headphone (a)</a>, which are IP52.</p><p>As expected, the AirPods Max 2 integrate seamlessly with any Apple product. I only had to take my AirPods Max 2 out of the box, and my <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-16-pro-review">iPhone 16 Pro</a> instantly lit up with a ‘Connect’ request. I didn’t have to manually connect to my MacBook Pro or iPad — the headphones just knew. When switching between devices, the Max 2 followed my output source. </p><h2 id="connectivity-9">Connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YxRm6Az2tYdUsWnHyUGZFF" name="AirpodsMax2_16.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/YxRm6Az2tYdUsWnHyUGZFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Despite all these highs, I’ll end on a slightly disappointing note: the AirPods Max 2 run on Bluetooth 5.3. This Bluetooth version was released in 2021, so it’s frustrating to see Apple using it now. Samsung launched its new <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Galaxy Buds 4</a> series with Bluetooth 6.1. As you might expect, 6.1 provides a longer range (780-980 feet, respectively) and a more reliable connection. </p><p>I was able to get a decent distance from my phone — out of my apartment, up the stairs, onto the next floor — before the headphones disconnected, but I’d still like the best-of-the-best on Apple’s most premium offering, especially on what are intended to be the <a href="https://www.tomsguide.com/us/best-wireless-headphones,review-5565.html">best wireless headphones</a>. </p><p>They do, however, have native USB-C hi-res playback, which sounds utterly divine. Keep scrolling and you can read all about it. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-sound-quality"><span>Apple AirPods Max 2 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CUjL2e34E35nRtRVdyR9uE" name="AirpodsMax2_14.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/CUjL2e34E35nRtRVdyR9uE.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Rich, detailed, wide, clear, sonorous — all the adjectives </strong></li><li><strong>Terrific clarity across the entire frequency range</strong></li><li><strong>Most importantly, </strong><em><strong>fun</strong></em><strong> to listen to</strong></li></ul><p>I’ll give you some spoilers straight away: the AirPods Max 2 are my favorite headphones to date. The sound quality is sublime. They have an exceptionally wide soundscape with enviable instrument separation. I tested using Apple Music and Spotify, via USB-C wired playback and Bluetooth — in every genre I listened to, I could make out every instrument, every harmony, every beat. </p><p>The low-end is rich yet balanced, with propulsive, deep sub-bass and a detailed, clarified upper-bass. Mids are also handled deftly; the soundscape is effusive and complex, with no overpowering frequencies, even in heavy genres. This builds a fantastic foundation for the treble, which is clear and bright. Hi-hats and cymbals clattered over the top of gnarly, crunchy bass, and didn’t overpower even stylistically pushed-back vocals.</p><p>When I played ‘Micro Cuts’ by Muse, a cluttered, almost invasive, high-octane track, the Max 2 dealt with the subtle guitar elements and heady falsetto vocals without breaking a sweat. The bass and percussion rounded out the frenetic guitar section, keeping the layers separated yet complementary.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xYKLsD4AREeuoyLLBr6LQF" name="AirpodsMax2_12.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/xYKLsD4AREeuoyLLBr6LQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I switched to electronic and played ‘925’ by Sammy Virji. The U.K. Garage beat pounded through the Max 2, sharing the space with the vocals. The bassline cut through the track like a snake racing through the jungle, barely making an impression on the undergrowth but letting everyone know it’s there. I was so impressed.</p><p>I then listened to some bluegrass-inspired singer-songwriter tracks. I played ‘Cheers’ by Faye Webster, a southern-blues-meets-modern-pop combo. Webster’s soft vocals were placed at the front of ‘Cheers,’ with the dynamic bass and rolling, bluesy guitar enriching the background. </p><p>To test out its video sound, I watched ‘How To Train Your Dragon’ and ‘Twilight’ on Apple TV with Dolby Atmos. The AirPods Max 2 handled both dialogue, action, and soundtrack fantastically. The wide soundscape enabled me to hear off-screen events as if they were truly behind me.</p><p><em>I tested the AirPods Max 2 with a lot more than I had space to include here. You can listen along to this review with my AirPods Max 2 testing playlist:</em></p><iframe allow="autoplay *; encrypted-media *;" height="300" width="100%" id="" style="width:100%;max-width:1600px;overflow:hidden;background:transparent;" class="position-center" data-lazy-priority="low" data-lazy-src="https://embed.music.apple.com/gb/playlist/airpods-max-2/pl.u-mbDPTBpPGdk"></iframe><h2 class="article-body__section" id="section-apple-airpods-max-2-review-anc"><span>Apple AirPods Max 2 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4uNmY7JqyhibRAvrENSNQF" name="AirpodsMax2_11.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/4uNmY7JqyhibRAvrENSNQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>3 ANC modes: Transparency, Adaptive, and Noise Cancellation </strong></li><li><strong>Better than original AirPods </strong></li><li><strong>But still not Bose-beating or Sony-meeting </strong></li></ul><p>There are many, many things I love about the OG AirPods Max. The premium feel, the sound quality, the cushioned earcups, the controls, the mesh headband. But I <em>don’t</em> love the ANC. </p><p>I am pleased to report that the AirPods Max 2’s ANC is excellent. Sure, it’s not Bose-beating or Sony XM6-meeting, but it’s considerably better than Apple's OG over-ear headphones. Now, the AirPods Max 2 could be some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-cancelling headphones</a>. </p><p>The AirPods Max 2 still allow some high-frequency sounds in: When I was testing ANC in the city, I couldn’t hear buses or motorbikes, but I caught some laughter from passers-by. </p><p>In general, the ANC deals with lower frequencies much better than higher frequencies, but this is all you need for day-to-day usage. I’m impressed with the upgraded ANC on the AirPods Max 2. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-app"><span>Apple AirPods Max 2 review: App</span></h2><ul><li><strong>Native customization for iOS users </strong></li><li><strong>Nothing for Android, as expected </strong></li></ul><p>If you’re an iPhone user, you’ll be able to access tons of settings controls directly from your settings app. You can configure the Digital Crown and ANC button modes, including switching the orientation of the Digital Crown’s spin, activating Camera Remote, customizing Head Gestures, and more. Take a look at this screenshot so you can see for yourself. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nbqnrnBFBRwVwhAGvNvtxj" name="airpopds max features app" alt="three screenshots from the airpods max 2 settings tab in an iphone 16 pro running ios 26.4" src="https://cdn.mos.cms.futurecdn.net/nbqnrnBFBRwVwhAGvNvtxj.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple / Future)</span></figcaption></figure><p>Unfortunately, Android users get nothing. This is nothing new, but it’s still disappointing. You're basically stuck with default controls and none of the aforementioned features. </p><p>While unfortunate, this is the current state of play. Samsung’s newest audio products — the utterly fantastic <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Galaxy Buds 4 Pro</a> ($249) — did not offer an iOS companion app. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-call-quality"><span>Apple AirPods Max 2 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HQDyp8bMzkvNjfN7Wu6aKF" name="AirpodsMax2_08.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/HQDyp8bMzkvNjfN7Wu6aKF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Voice Isolation has come to the Max series</strong></li><li><strong>Fantastic environmental noise reduction </strong></li><li><strong>Sometimes emphasizes surrounding voices, though </strong></li></ul><p>To test call quality of the AirPods Max 2, I used them for personal calls and work meetings. When I called my boyfriend, he said that my voice was perfectly clear and was notably better than that of other headphones I’ve tested recently — AirPods Max Gen 1 and <a href="https://www.tomsguide.com/audio/headphones/nothing-headphone-a-review">Nothing Headphone (a)</a> ($199). </p><p>He couldn’t hear any of the environmental noise around me, not the loud buses or roaring motorbikes, but some passing voices made it through the ambient noise reduction filters. So, while the AirPods Max 2 isolated my voice from traffic noise well, some voices still managed to sneak through. </p><p>On work calls, my colleagues reported that my voice was clear, and I “sounded the same as AirPods Pro 2 or 3.” However, one colleague reported that I sounded a little clipped. </p><p>I think you could use the AirPods Max 2 on work calls, personal calls, and anything in between. I’d happily use them as my primary call headset from now on.</p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-battery"><span>Apple AirPods Max 2 review: Battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nFPs5Ghr52dnnH6VigML2F" name="AirpodsMax2_03.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/nFPs5Ghr52dnnH6VigML2F.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>20 hours</strong></li><li><strong>No, that’s not a typo </strong></li><li><strong>Just 20 hours</strong></li></ul><p>Unfortunately, the AirPods Max 2 have a meager battery life of just 20 hours. This is the same as the previous model, and, if you couldn’t tell, is my primary issue with the headphones. In 2026, there’s very little excuse for a 20-hour battery.</p><p>Other models in this price class — Sony WH-1000XM6, Bose QuietComfort Ultra, Bowers & Wilkins Px8 S2 — last for 30 hours. While still not great, especially considering the new Nothing Headphone (a) last for 135 hours (75 with ANC), 30 hours is considerably more impressive.</p><p>I tested the AirPods Max 2 for seven days and had to charge them twice. I listened for around 25 hours overall, mostly via Bluetooth. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-verdict"><span>Apple AirPods Max 2 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n68Fe55iVgfGoUDwyXCN8F" name="AirpodsMax2_06.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/n68Fe55iVgfGoUDwyXCN8F.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad we waited six years for the AirPods Max 2, because this is an upgrade done right. If you like how AirPods Pro or AirPods Max Gen 1 sound, you are in for a treat with the AirPods Max 2. Apple has taken everything from its predecessor and dialed it up to 11.</p><p>Additional features like Personalized Spatial Audio, Siri integration, Live Translation, and Head Gestures are useful, but if the sound was mediocre, smart functions wouldn’t be enough to make me recommend spending $549 on headphones. (I suggest waiting for the first discount if that price feels a bit too steep in this current economic climate.)</p><p>But because the sound quality is so excellent, I genuinely would recommend buying the new AirPods Max 2. Yes, the battery life is still as feeble as a Victorian chimney sweep and the cans are still almost twice the weight of Sony and Bose’s flagships, but the flawless, studio-quality sound more than makes up for it. For me, this is a near-perfect audio product.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/apple-airpods-max-2-review</link>
                                                                            <description>
                            <![CDATA[ Apple AirPods Max 2 take everything from the originals and multiply it by 100. The sound quality, features, and design are now industry-leading. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kTc5HJ7eR2pRn3QWemswVf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qByoRqBT5yHC3DPHjNGi2F-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 31 Mar 2026 13:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 10 Jun 2026 14:33:27 +0000</updated>
                                                                                                                                            <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ erin.bashford@futurenet.com (Erin Bashford) ]]></author>                    <dc:creator><![CDATA[ Erin Bashford ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rLvJvJVZx43hEzSsJy3BpL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Erin Bashford is a senior reviews writer at Tom’s Guide. She has a Master’s in Broadcast and Digital Journalism from the University of East Anglia and 7 years of experience reviewing music and events for various publications. She has edited publications such as Outline Magazine’s Guide to Norwich, and she has written for a number of music magazines and websites such as Clash Magazine, Outline Magazine and Dork Magazine. She has a strong interest in audio gear and the music world. &lt;/p&gt;&lt;p&gt;As an ex-barista, Erin is passionate about coffee tech. She also loves finding the best cooking hacks and kitchen appliances, including her beloved Instant Pot. &lt;/p&gt;&lt;p&gt;In her spare time, you can find her reading, practising yoga, hiking, writing fantasy novels, or stressing over NYT Games.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qByoRqBT5yHC3DPHjNGi2F-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:description>                                                            <media:text><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:text>
                                <media:title type="plain"><![CDATA[the apple airpods max 2 in blue photographed against a blue tom&#039;s guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qByoRqBT5yHC3DPHjNGi2F-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We’ve waited six years for the new Apple AirPods Max 2, but after testing them for myself over the last two weeks, I’m no longer mad about it. The AirPods Max 2 are some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> I’ve ever had the pleasure of using.</p><p>Everything has been turned up to 11 — the sound quality is industry-leading, the ANC has improved massively, and the call quality is now professional-meeting-suitable. They still offer a feeble 20-hour battery life and a somewhat burdensome 13.6-ounce weight, but these issues don't detract from how excellent the AirPods Max 2 are overall. </p><p>I’ve tested tons of the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a>, but none thus far have sounded <em>quite</em> this good. Sure, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> are detailed and clean, and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones 2</a> are bassy, but the AirPods Max 2 are the best of all worlds. Rich, bassy, detailed, expansive, <em>and </em>clean.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/-pGMlFVM43Y" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-apple-airpods-max-2-review-cheat-sheet"><span>Apple AirPods Max 2 review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>Apple’s newest flagship headphones, replacing the AirPods Max</li><li><strong>What does it cost?</strong> <a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549</a> / <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499</a> / <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999</a></li><li><strong>What do we like? </strong>They are the best-sounding Bluetooth headphones (at this price point) ever</li><li><strong>What don’t we like? </strong>Issues from the previous model have been ignored — still just 20 hours of battery life, still very heavy</li></ul><h2 class="article-body__section" id="section-apple-airpods-max-2-review-specs"><span>Apple AirPods Max 2 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549</a> / <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499</a> / <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No IP rating</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>20 hours </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>13.6 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>6.6 x 3.3 x 7.4 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Starlight, Midnight, orange, purple, blue</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>iOS (features), Android (basic)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-airpods-max-2-review-price-availability"><span>Apple AirPods Max 2 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eUGRKFAzkTpoHrsy7S5oRF" name="AirpodsMax2_10.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/eUGRKFAzkTpoHrsy7S5oRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Apple AirPods Max 2 are <a href="https://www.apple.com/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">$549 from Apple U.S</a>. In the U.K., they’re <a href="https://www.apple.com/uk/shop/buy-airpods/airpods-max-2" target="_blank" rel="nofollow">£499 from Apple U.K.</a> In Australia, you’re looking at an <a href="https://www.amazon.com.au/Apple-Headphones-Cancellation-Personalised-Translation/dp/B0GSS7WB58" target="_blank" rel="nofollow">AU$999 price tag</a>. This is the same launch price as the previous model, in keeping with the precedent set by the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>, which matched the Pro 2. </p><p>As you might expect, the AirPods Max 2 are considerably pricier than their flagship rivals: The Sony WH-1000XM6 have a $459 MSRP and the Bose QuietComfort Ultra Gen 2 regularly retail for $449. This isn’t to say the AirPods Max 2 are the most expensive wireless headphones on the market — you could also spend nearly a grand on the $799 <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-just-tested-these-impeccable-hi-res-headphones-and-they-blow-away-the-airpods-max">Bowers & Wilkins Px8 S2</a>, or break the 4-figure ceiling with the $1,199 <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a>. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-design"><span>Apple AirPods Max 2 review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SuHi77PnUWBh5LTUcebjPF" name="AirpodsMax2_15.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SuHi77PnUWBh5LTUcebjPF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Easy Digital Crown and ANC controls </strong></li><li><strong>Still heavy, but comfortable nonetheless</strong></li><li><strong>Fantastic smart features</strong></li></ul><p>If you’ve seen the original AirPods Max, you might be looking at the AirPods Max 2 and thinking, “<em>Hmm.</em> <em>These look awfully familiar. Are you sure you didn’t just mix up your AirPods Max OG and AirPods Max 2 in the photos</em>?” </p><p>I am quite sure. The AirPods Max and Max 2 are identical. You’ll see the same anodized aluminum ear cups; the same removable cushions; the same metal-and-mesh headband that tries its very best to alleviate skull pressure. At release, the headphones come in most of the same colors as the OGs — Midnight, Starlight, blue (pictured), orange, and purple. Unfortunately, it appears the green shade is no more. </p><p>This also means you have the same "bra" case seen on the AirPods Max OG. Some customers might be incredibly disappointed to see this make a return — it doesn't protect the headband or adjustment areas like other brands' carry cases. Although the case has a smaller footprint in your bag, you might not want to throw it carelessly into a particularly messy or chaotic backpack. </p><p>The controls are also the same: you’ve got a Digital Crown and ANC button on the right ear cup. You can adjust all these controls directly in your phone settings (if you have an iPhone). </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SusawEdjBMCisMriTJVuRF" name="AirpodsMax2_13.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/SusawEdjBMCisMriTJVuRF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad Apple hasn’t swapped the physical, tactile buttons in favor of the ‘touch area’ trend that seems to be sweeping through audio brands. The Bose QC Ultra Gen 2 and Sony WH-1000XM6 both suffer from this aberration, with ‘touch areas’ instead of buttons, so you need to stroke your headphones to change volume or skip tracks. These controls are especially egregious on the QC Ultra — I found myself trying to find the multi-purpose button, but accidentally turned the volume to max multiple times. </p><p>One of the primary complaints regarding the original AirPods Max was weight. The new AirPods Max 2 are the same weight, 13.6 ounces, making them almost <em>double</em> that of the Bose QC Ultra and Sony XM6 (8.8 ounces). Even so, the mesh headband does a <em>lot</em> of heavy lifting during wear. I didn’t often feel the need to remove or readjust the headphones.</p><p>While the Bose and Sony flagships are a lot lighter, they also look cheaper. Personally, I would much rather the uber-sleek, uber-premium AirPods Max 2.</p><h2 id="features">Features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RBHF3wAMhvBGZEgtTatLFF" name="AirpodsMax2_09.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/RBHF3wAMhvBGZEgtTatLFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you might expect from flagship cans, the AirPods Max 2 have are chock-full of features. The AirPods Max 2 are like AirPods Pro 3 in over-ear form: Apple has treated us to seamless Siri assistance, Camera Remote, Live Translation, Head Gestures, Conversation Awareness, and Personalized Volume. </p><p>I like that you can choose which features you want to activate. For example, I always turn off Conversation Awareness as it means I can’t (terribly) sing along to my favorite songs — my headphones turn on Transparency after assuming I’m talking to someone instead of warbling tunelessly to myself.</p><p>If you want to use Live Translation, however, you’ll need to pre-download the language packs. I tried this out with Korean, and it had about a 3-4 second delay, which is pretty much exactly how it works on the AirPods Pro 3. Perhaps good in a pinch, but wouldn’t be up to scratch for important meetings. </p><p>Unfortunately, like the previous model, there’s no IP rating, so I wouldn’t recommend taking these out in the rain. While disappointing, this isn’t a surprise for over-ears — neither the Sony XM6 nor the Bose QC Ultra have an IP rating. I’d recommend one of the <a href="https://www.tomsguide.com/us/best-wireless-earbuds,review-6160.html">best earbuds</a> for that, like the AirPods Pro 3, or the <a href="https://www.tomsguide.com/audio/headphones/nothing-headphone-a-review">Nothing Headphone (a)</a>, which are IP52.</p><p>As expected, the AirPods Max 2 integrate seamlessly with any Apple product. I only had to take my AirPods Max 2 out of the box, and my <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-16-pro-review">iPhone 16 Pro</a> instantly lit up with a ‘Connect’ request. I didn’t have to manually connect to my MacBook Pro or iPad — the headphones just knew. When switching between devices, the Max 2 followed my output source. </p><h2 id="connectivity-9">Connectivity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YxRm6Az2tYdUsWnHyUGZFF" name="AirpodsMax2_16.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/YxRm6Az2tYdUsWnHyUGZFF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Despite all these highs, I’ll end on a slightly disappointing note: the AirPods Max 2 run on Bluetooth 5.3. This Bluetooth version was released in 2021, so it’s frustrating to see Apple using it now. Samsung launched its new <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Galaxy Buds 4</a> series with Bluetooth 6.1. As you might expect, 6.1 provides a longer range (780-980 feet, respectively) and a more reliable connection. </p><p>I was able to get a decent distance from my phone — out of my apartment, up the stairs, onto the next floor — before the headphones disconnected, but I’d still like the best-of-the-best on Apple’s most premium offering, especially on what are intended to be the <a href="https://www.tomsguide.com/us/best-wireless-headphones,review-5565.html">best wireless headphones</a>. </p><p>They do, however, have native USB-C hi-res playback, which sounds utterly divine. Keep scrolling and you can read all about it. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-sound-quality"><span>Apple AirPods Max 2 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CUjL2e34E35nRtRVdyR9uE" name="AirpodsMax2_14.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/CUjL2e34E35nRtRVdyR9uE.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Rich, detailed, wide, clear, sonorous — all the adjectives </strong></li><li><strong>Terrific clarity across the entire frequency range</strong></li><li><strong>Most importantly, </strong><em><strong>fun</strong></em><strong> to listen to</strong></li></ul><p>I’ll give you some spoilers straight away: the AirPods Max 2 are my favorite headphones to date. The sound quality is sublime. They have an exceptionally wide soundscape with enviable instrument separation. I tested using Apple Music and Spotify, via USB-C wired playback and Bluetooth — in every genre I listened to, I could make out every instrument, every harmony, every beat. </p><p>The low-end is rich yet balanced, with propulsive, deep sub-bass and a detailed, clarified upper-bass. Mids are also handled deftly; the soundscape is effusive and complex, with no overpowering frequencies, even in heavy genres. This builds a fantastic foundation for the treble, which is clear and bright. Hi-hats and cymbals clattered over the top of gnarly, crunchy bass, and didn’t overpower even stylistically pushed-back vocals.</p><p>When I played ‘Micro Cuts’ by Muse, a cluttered, almost invasive, high-octane track, the Max 2 dealt with the subtle guitar elements and heady falsetto vocals without breaking a sweat. The bass and percussion rounded out the frenetic guitar section, keeping the layers separated yet complementary.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xYKLsD4AREeuoyLLBr6LQF" name="AirpodsMax2_12.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/xYKLsD4AREeuoyLLBr6LQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I switched to electronic and played ‘925’ by Sammy Virji. The U.K. Garage beat pounded through the Max 2, sharing the space with the vocals. The bassline cut through the track like a snake racing through the jungle, barely making an impression on the undergrowth but letting everyone know it’s there. I was so impressed.</p><p>I then listened to some bluegrass-inspired singer-songwriter tracks. I played ‘Cheers’ by Faye Webster, a southern-blues-meets-modern-pop combo. Webster’s soft vocals were placed at the front of ‘Cheers,’ with the dynamic bass and rolling, bluesy guitar enriching the background. </p><p>To test out its video sound, I watched ‘How To Train Your Dragon’ and ‘Twilight’ on Apple TV with Dolby Atmos. The AirPods Max 2 handled both dialogue, action, and soundtrack fantastically. The wide soundscape enabled me to hear off-screen events as if they were truly behind me.</p><p><em>I tested the AirPods Max 2 with a lot more than I had space to include here. You can listen along to this review with my AirPods Max 2 testing playlist:</em></p><iframe allow="autoplay *; encrypted-media *;" height="300" width="100%" id="" style="width:100%;max-width:1600px;overflow:hidden;background:transparent;" class="position-center" data-lazy-priority="low" data-lazy-src="https://embed.music.apple.com/gb/playlist/airpods-max-2/pl.u-mbDPTBpPGdk"></iframe><h2 class="article-body__section" id="section-apple-airpods-max-2-review-anc"><span>Apple AirPods Max 2 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4uNmY7JqyhibRAvrENSNQF" name="AirpodsMax2_11.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/4uNmY7JqyhibRAvrENSNQF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>3 ANC modes: Transparency, Adaptive, and Noise Cancellation </strong></li><li><strong>Better than original AirPods </strong></li><li><strong>But still not Bose-beating or Sony-meeting </strong></li></ul><p>There are many, many things I love about the OG AirPods Max. The premium feel, the sound quality, the cushioned earcups, the controls, the mesh headband. But I <em>don’t</em> love the ANC. </p><p>I am pleased to report that the AirPods Max 2’s ANC is excellent. Sure, it’s not Bose-beating or Sony XM6-meeting, but it’s considerably better than Apple's OG over-ear headphones. Now, the AirPods Max 2 could be some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-cancelling headphones</a>. </p><p>The AirPods Max 2 still allow some high-frequency sounds in: When I was testing ANC in the city, I couldn’t hear buses or motorbikes, but I caught some laughter from passers-by. </p><p>In general, the ANC deals with lower frequencies much better than higher frequencies, but this is all you need for day-to-day usage. I’m impressed with the upgraded ANC on the AirPods Max 2. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-app"><span>Apple AirPods Max 2 review: App</span></h2><ul><li><strong>Native customization for iOS users </strong></li><li><strong>Nothing for Android, as expected </strong></li></ul><p>If you’re an iPhone user, you’ll be able to access tons of settings controls directly from your settings app. You can configure the Digital Crown and ANC button modes, including switching the orientation of the Digital Crown’s spin, activating Camera Remote, customizing Head Gestures, and more. Take a look at this screenshot so you can see for yourself. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nbqnrnBFBRwVwhAGvNvtxj" name="airpopds max features app" alt="three screenshots from the airpods max 2 settings tab in an iphone 16 pro running ios 26.4" src="https://cdn.mos.cms.futurecdn.net/nbqnrnBFBRwVwhAGvNvtxj.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple / Future)</span></figcaption></figure><p>Unfortunately, Android users get nothing. This is nothing new, but it’s still disappointing. You're basically stuck with default controls and none of the aforementioned features. </p><p>While unfortunate, this is the current state of play. Samsung’s newest audio products — the utterly fantastic <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Galaxy Buds 4 Pro</a> ($249) — did not offer an iOS companion app. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-call-quality"><span>Apple AirPods Max 2 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HQDyp8bMzkvNjfN7Wu6aKF" name="AirpodsMax2_08.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/HQDyp8bMzkvNjfN7Wu6aKF.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Voice Isolation has come to the Max series</strong></li><li><strong>Fantastic environmental noise reduction </strong></li><li><strong>Sometimes emphasizes surrounding voices, though </strong></li></ul><p>To test call quality of the AirPods Max 2, I used them for personal calls and work meetings. When I called my boyfriend, he said that my voice was perfectly clear and was notably better than that of other headphones I’ve tested recently — AirPods Max Gen 1 and <a href="https://www.tomsguide.com/audio/headphones/nothing-headphone-a-review">Nothing Headphone (a)</a> ($199). </p><p>He couldn’t hear any of the environmental noise around me, not the loud buses or roaring motorbikes, but some passing voices made it through the ambient noise reduction filters. So, while the AirPods Max 2 isolated my voice from traffic noise well, some voices still managed to sneak through. </p><p>On work calls, my colleagues reported that my voice was clear, and I “sounded the same as AirPods Pro 2 or 3.” However, one colleague reported that I sounded a little clipped. </p><p>I think you could use the AirPods Max 2 on work calls, personal calls, and anything in between. I’d happily use them as my primary call headset from now on.</p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-battery"><span>Apple AirPods Max 2 review: Battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nFPs5Ghr52dnnH6VigML2F" name="AirpodsMax2_03.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/nFPs5Ghr52dnnH6VigML2F.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>20 hours</strong></li><li><strong>No, that’s not a typo </strong></li><li><strong>Just 20 hours</strong></li></ul><p>Unfortunately, the AirPods Max 2 have a meager battery life of just 20 hours. This is the same as the previous model, and, if you couldn’t tell, is my primary issue with the headphones. In 2026, there’s very little excuse for a 20-hour battery.</p><p>Other models in this price class — Sony WH-1000XM6, Bose QuietComfort Ultra, Bowers & Wilkins Px8 S2 — last for 30 hours. While still not great, especially considering the new Nothing Headphone (a) last for 135 hours (75 with ANC), 30 hours is considerably more impressive.</p><p>I tested the AirPods Max 2 for seven days and had to charge them twice. I listened for around 25 hours overall, mostly via Bluetooth. </p><h2 class="article-body__section" id="section-apple-airpods-max-2-review-verdict"><span>Apple AirPods Max 2 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n68Fe55iVgfGoUDwyXCN8F" name="AirpodsMax2_06.JPG" alt="the apple airpods max 2 in blue photographed against a blue tom's guide background, showing the mesh headband, anodized aluminum ear cups, carry case, and controls" src="https://cdn.mos.cms.futurecdn.net/n68Fe55iVgfGoUDwyXCN8F.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad we waited six years for the AirPods Max 2, because this is an upgrade done right. If you like how AirPods Pro or AirPods Max Gen 1 sound, you are in for a treat with the AirPods Max 2. Apple has taken everything from its predecessor and dialed it up to 11.</p><p>Additional features like Personalized Spatial Audio, Siri integration, Live Translation, and Head Gestures are useful, but if the sound was mediocre, smart functions wouldn’t be enough to make me recommend spending $549 on headphones. (I suggest waiting for the first discount if that price feels a bit too steep in this current economic climate.)</p><p>But because the sound quality is so excellent, I genuinely would recommend buying the new AirPods Max 2. Yes, the battery life is still as feeble as a Victorian chimney sweep and the cans are still almost twice the weight of Sony and Bose’s flagships, but the flawless, studio-quality sound more than makes up for it. For me, this is a near-perfect audio product.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Sonos' epic noise-cancelling headphones are the cans I'll take to my grave — and Amazon's Big Spring Sale just dropped them by $100 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Sonos has come back onto the scene with two new speakers for 2026, but I'm here to let you know the brand's epic headphones, the Sonos Ace, are currently on sale at thanks to <a href="https://www.tomsguide.com/live/news/amazon-big-spring-sale-up-to-40-percent-off-spring-apparel-walking-running-shoes-home-decor-tvs-and-appliances">Amazon's Big Spring Sale</a>.</p><p>Right now, you can get the <a href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow">Sonos Ace for just $299 thanks to a 25% discount</a> as part of the retailer's spring sale. That's $100 off these excellent premium cans.</p><div class="product"><a data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299" href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="ZBTXVptFpjEBLu8GHHpHkf" name="Sonos Ace.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZBTXVptFpjEBLu8GHHpHkf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sonos Ace are a spectacular noise-canceling option, packed with premium features. We loved them in our <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace" data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299">Sonos Ace review</a>, especially their excellent sound and intuitive control options. I enjoy their soundstage most of all though, and their Spatial Audio tuning is some of the best you'll find in a pair of headphones, period. This $100 discount brings them down to a great price.<a class="view-deal button" href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow" data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299">View Deal</a></p></div><div class="product"><a data-dimension112="77996bdf-40f2-4f68-92c4-dc8d377d9f43" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="£299" href="https://www.amazon.co.uk/dp/B0D37R7X6Z/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="ZBTXVptFpjEBLu8GHHpHkf" name="Sonos Ace.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZBTXVptFpjEBLu8GHHpHkf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The same deal on the Sonos Ace is available over in Great Britain where the headphones are discounted by 25% — bringing them down to a very accessible price.<a class="view-deal button" href="https://www.amazon.co.uk/dp/B0D37R7X6Z/" target="_blank" rel="nofollow" data-dimension112="77996bdf-40f2-4f68-92c4-dc8d377d9f43" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="£299">View Deal</a></p></div><ul><li><a href="https://www.amazon.com/deals" target="_blank" rel="nofollow"><strong>shop Amazon's entire Big Spring Sale</strong></a></li></ul><p>I've been using the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> as my go-to headphones since 2024 when these noise-cancelling cans were first launched, and I'm constantly impressed by them. They're comfortable and sound great — not to mention <a href="https://www.tomsguide.com/audio/over-ear-headphones/airpods-max-vs-sonos-ace-headphones-which-flagship-headphones-win">looking pretty slick in my humble opinion.</a></p><p>One of the main issues — as is usually the case with Sonos — is that the price was a little on the high side. Thankfully, now these headphones are a couple of years old we get deals like this knocking a sizable amount off the MSRP.</p><p>Battery life on these headphones is exceptionally solid at 30 hours, and the sound you get is rich and detailed. I always appreciate the wide soundstage whenever I slip these headphones on. And thanks to the soft-touch foam earcups and the fact the headphones only weigh 312 grams (11 ounces), it doesn't take long before you forget you're wearing them.</p><h2 id="the-killer-feature">The killer feature</h2><p>My absolute favorite part about the Sonos Ace is how they can switch seamlessly from a Bluetooth connection to a Wi-Fi link to your Sonos soundbar to <a href="https://www.tomsguide.com/audio/over-ear-headphones/the-sonos-ace-have-one-of-my-favorite-wireless-features-and-its-not-the-anc">play content from your TV</a>. The headphones deliver the full Dolby Atmos experience directly into your ears without disturbing anyone else nearby. This is an absolute godsend if you want to watch movies or play games late into the night without disturbing a partner, your neighbors or the kids sleeping in the room upstairs. </p><p>And because it's coming from the soundbar's input, you can use it with any streaming service or any games console hooked up to your TV.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YbZu4pkRPKqBMTQkdkHAQN" name="sonos ace insides.jpg" alt="Sonos Ace headphones insides" src="https://cdn.mos.cms.futurecdn.net/YbZu4pkRPKqBMTQkdkHAQN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, there's a real joy to using the physical controls on these headphones. There's a tactile "Content Key" on the right earcup letting you play/pause as well as volume up/volume down, while a secondary button gives noise control on/off, aware mode, and voice control options.</p><p>If there's one complaint I have with the Sonos Ace, it involves the protective case the headphones ship with. Getting them into it almost always involves awkwardly trying to slide the earcup stems inward to make the headphones compact enough to fit. But come on, if that's the only thing I can find to complain about then that should tell you all you need to know.</p><p>Long story short, this is an Amazon deal I definitely recommend you look into, and that goes double if you've already got other Sonos products in your home. Finally, check out <a href="https://www.tomsguide.com/live/news/amazon-big-spring-sale-up-to-40-percent-off-spring-apparel-walking-running-shoes-home-decor-tvs-and-appliances">our Amazon Big Spring Sale live hub</a> for the latest discounts we've spotted all this week.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/56Rq5tUYe-c" allowfullscreen></iframe></div></div><div data-widget-type="review" data-model-name="Sonos Ace"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/sonos-epic-noise-cancelling-headphones-are-the-cans-ill-take-to-my-grave-and-amazons-big-spring-sale-just-dropped-them-by-usd100</link>
                                                                            <description>
                            <![CDATA[ Sonos' incredible headphones have fallen to a much lower price at Amazon this week and they're some of the best headphones I've used. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fvQTFhgW6ZUPSSCo5qhdBZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pwRmDzqr2DNi7NNZ3p6srQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 26 Mar 2026 11:27:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ jeff.parsons@futurenet.com (Jeff Parsons) ]]></author>                    <dc:creator><![CDATA[ Jeff Parsons ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7z3UTGGrmSokMKxTWHmhjX.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jeff is U.K. Editor-in-Chief for Tom’s Guide looking after the day-to-day output of the site’s British contingent. &lt;/p&gt;&lt;p&gt;Rising early and heading straight for the coffee machine, Jeff loves nothing more than dialling into the zeitgeist of the day’s tech news. A journalist for over a decade, he&#039;s travelled around the world testing and reviewing any gadget he can get his hands on.&lt;/p&gt;&lt;p&gt;Before joining the team at Tom’s Guide, Jeff covered technology and science for two of the U.K.’s biggest national news sites: Metro.co.uk and the Daily Mirror. Memorable moments include getting lost in Vienna in an electric Audi, touring Lockheed Martin’s mile-long jet factory in Fort Worth and filming a Netflix documentary about Elon Musk in West London.&lt;/p&gt;&lt;p&gt;When not plugged into the current news agenda, editing or commissioning a series of articles or debating the merits of Apple vs Android, Jeff can usually be found out for a run trying to shave precious seconds off his PB. Or lifting weights in a vain attempt to offset the ageing process.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pwRmDzqr2DNi7NNZ3p6srQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sonos Ace headphones]]></media:description>                                                            <media:text><![CDATA[Sonos Ace headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Sonos Ace headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pwRmDzqr2DNi7NNZ3p6srQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Sonos has come back onto the scene with two new speakers for 2026, but I'm here to let you know the brand's epic headphones, the Sonos Ace, are currently on sale at thanks to <a href="https://www.tomsguide.com/live/news/amazon-big-spring-sale-up-to-40-percent-off-spring-apparel-walking-running-shoes-home-decor-tvs-and-appliances">Amazon's Big Spring Sale</a>.</p><p>Right now, you can get the <a href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow">Sonos Ace for just $299 thanks to a 25% discount</a> as part of the retailer's spring sale. That's $100 off these excellent premium cans.</p><div class="product"><a data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299" href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="ZBTXVptFpjEBLu8GHHpHkf" name="Sonos Ace.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZBTXVptFpjEBLu8GHHpHkf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sonos Ace are a spectacular noise-canceling option, packed with premium features. We loved them in our <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace" data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299">Sonos Ace review</a>, especially their excellent sound and intuitive control options. I enjoy their soundstage most of all though, and their Spatial Audio tuning is some of the best you'll find in a pair of headphones, period. This $100 discount brings them down to a great price.<a class="view-deal button" href="https://www.amazon.com/Sonos-Ace-Wireless-Headphones-Cancellation/dp/B0CYHGTMNH?th=1" target="_blank" rel="nofollow" data-dimension112="d908e3c5-89aa-465d-9cd4-f63a8b876d70" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$299">View Deal</a></p></div><div class="product"><a data-dimension112="77996bdf-40f2-4f68-92c4-dc8d377d9f43" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="£299" href="https://www.amazon.co.uk/dp/B0D37R7X6Z/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="ZBTXVptFpjEBLu8GHHpHkf" name="Sonos Ace.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZBTXVptFpjEBLu8GHHpHkf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The same deal on the Sonos Ace is available over in Great Britain where the headphones are discounted by 25% — bringing them down to a very accessible price.<a class="view-deal button" href="https://www.amazon.co.uk/dp/B0D37R7X6Z/" target="_blank" rel="nofollow" data-dimension112="77996bdf-40f2-4f68-92c4-dc8d377d9f43" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="£299">View Deal</a></p></div><ul><li><a href="https://www.amazon.com/deals" target="_blank" rel="nofollow"><strong>shop Amazon's entire Big Spring Sale</strong></a></li></ul><p>I've been using the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> as my go-to headphones since 2024 when these noise-cancelling cans were first launched, and I'm constantly impressed by them. They're comfortable and sound great — not to mention <a href="https://www.tomsguide.com/audio/over-ear-headphones/airpods-max-vs-sonos-ace-headphones-which-flagship-headphones-win">looking pretty slick in my humble opinion.</a></p><p>One of the main issues — as is usually the case with Sonos — is that the price was a little on the high side. Thankfully, now these headphones are a couple of years old we get deals like this knocking a sizable amount off the MSRP.</p><p>Battery life on these headphones is exceptionally solid at 30 hours, and the sound you get is rich and detailed. I always appreciate the wide soundstage whenever I slip these headphones on. And thanks to the soft-touch foam earcups and the fact the headphones only weigh 312 grams (11 ounces), it doesn't take long before you forget you're wearing them.</p><h2 id="the-killer-feature">The killer feature</h2><p>My absolute favorite part about the Sonos Ace is how they can switch seamlessly from a Bluetooth connection to a Wi-Fi link to your Sonos soundbar to <a href="https://www.tomsguide.com/audio/over-ear-headphones/the-sonos-ace-have-one-of-my-favorite-wireless-features-and-its-not-the-anc">play content from your TV</a>. The headphones deliver the full Dolby Atmos experience directly into your ears without disturbing anyone else nearby. This is an absolute godsend if you want to watch movies or play games late into the night without disturbing a partner, your neighbors or the kids sleeping in the room upstairs. </p><p>And because it's coming from the soundbar's input, you can use it with any streaming service or any games console hooked up to your TV.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YbZu4pkRPKqBMTQkdkHAQN" name="sonos ace insides.jpg" alt="Sonos Ace headphones insides" src="https://cdn.mos.cms.futurecdn.net/YbZu4pkRPKqBMTQkdkHAQN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, there's a real joy to using the physical controls on these headphones. There's a tactile "Content Key" on the right earcup letting you play/pause as well as volume up/volume down, while a secondary button gives noise control on/off, aware mode, and voice control options.</p><p>If there's one complaint I have with the Sonos Ace, it involves the protective case the headphones ship with. Getting them into it almost always involves awkwardly trying to slide the earcup stems inward to make the headphones compact enough to fit. But come on, if that's the only thing I can find to complain about then that should tell you all you need to know.</p><p>Long story short, this is an Amazon deal I definitely recommend you look into, and that goes double if you've already got other Sonos products in your home. Finally, check out <a href="https://www.tomsguide.com/live/news/amazon-big-spring-sale-up-to-40-percent-off-spring-apparel-walking-running-shoes-home-decor-tvs-and-appliances">our Amazon Big Spring Sale live hub</a> for the latest discounts we've spotted all this week.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/56Rq5tUYe-c" allowfullscreen></iframe></div></div><div data-widget-type="review" data-model-name="Sonos Ace"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I ditched my $400 headphones for this conferencing headset for a week — and I’m almost convinced that it’s better for music ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In the age of hybrid working, many of us have had to adjust to not seeing our colleagues as much, and having virtual calls and briefings — whether that's on Zoom, Google Meet, or a quick huddle on Slack. </p><p>Unsurprisingly, the <a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home">best headphones and headsets for working from home</a> have also shot up in popularity, and if you spend a lot of time on calls, you need a competent headset that you can wear all day long.</p><p>But how much are you willing to spend on a conferencing headset? How does $700 sound? It's a lot of dough, isn't it? I've been testing the <a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-85-conferencing-headset-review">Jabra Evolve3 85</a>, and although it's expensive, it sounds superb.</p><div class="product"><a data-dimension112="3c9fae92-10ec-4339-8ea8-897338147ca6" data-action="Deal Block" data-label="Evolve3 85" data-dimension48="Evolve3 85" data-dimension25="$720" href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1434px;"><p class="vanilla-image-block" style="padding-top:103.70%;"><img id="Ppvy47kbrLpiThzSMSZBoZ" name="Evolve3-85-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ppvy47kbrLpiThzSMSZBoZ.jpg" mos="" align="middle" fullscreen="" width="1434" height="1487" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Jabra Evolve3 85 is a phenomenal conferencing headset, designed for people who spend a lot of their work day on calls. It boasts exceptional call clarity. Not only do your coworkers sound loud and clear to you, so do you to them thanks to the powerful boomless mic. It’s comfortable for all-day long use, and it packs long battery life too.<a class="view-deal button" href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow" data-dimension112="3c9fae92-10ec-4339-8ea8-897338147ca6" data-action="Deal Block" data-label="Evolve3 85" data-dimension48="Evolve3 85" data-dimension25="$720">View Deal</a></p></div><h2 id="listening-comfortably-all-day-long">Listening comfortably all day long</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="feBtwgyVpLtfdwvfVuGa6e" name="Jabra_evolve3_75 10.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/feBtwgyVpLtfdwvfVuGa6e.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before I dive into the sound quality, I want to talk about one of the other things the Jabra Evolve3 85 excels at, and that's its design. </p><p>Just like with any other pair of headphones, I don't think you should spend any amount of money on a conferencing headset that you can't wear all day long. The good news is that the Evolve3 85 is extremely comfortable, so rest assured that you're getting bang for your buck here.</p><p>One thing I've always loved about my Marshall Monitor III headphones is the lightness, as they weigh just 8.8oz, and they feature a leatherette headband that helps relieve some pressure you'd otherwise feel on the top of your head. I'd say the Evolve3 85 headset is on par with my Monitor IIIs in terms of comfort. Jabra's offering weighs 7.76oz so it's very lightweight, and the breathable cushion padding on the headband feels excellent. The same padding has been used for the ear cushions too, and I love it. </p><p>Another thing I love is the cavities on the inside of the earcups, which are there to nestle your earlobes and ensure your ears don't get squished. It's so effective, and now I wish all headphones had these cavities. Having worn the headset for an eight-hour work day (I removed it just once), I can confidently say that it's the comfiest one out there.</p><h2 id="a-beautifully-balanced-sound-profile">A beautifully balanced sound profile</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="te73sMiQkiUvLZ7JQTuh7e" name="Jabra_evolve3_85 4.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/te73sMiQkiUvLZ7JQTuh7e.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Evolve3 85 headset is fitted with 32mm drivers that cover a frequency response range of 20Hz-20KHz (so the normal human hearing spectrum), and the headset makes music sound true-to-life and full of character, never once getting overwhelmed by multiple instruments even.</p><p>The treble is crisp and vibrant and never overzealous. Through the Evolve3 85, in songs like 'Carnival of Rust' by Poets of the Fall, the hi-hats never sounded too shrill, and worked well with other instruments to create a wonderful melody. Each note plucked on the acoustic guitar was discernible and never harsh to the point that it overpowered the vocals. Speaking of, the vocals in tracks like 'White Feather Hawk Tail Deer Hunter' by Lana Del Rey were nothing short of detailed. The 'tss' and 'sh' sounds — and there are many of them — sounded clean and didn't bleed into one another either.</p><p>Bass sounded just as good if not better through the Evolve3 85. Powerful but not booming, especially in songs like 'Money' by Pink Floyd and 'Little Dark Age' by MGMT. The sub-bass and mid-bass packed plenty of detail too, and I found the lower and mid-ranges better on the Evolve3 85 than on my Marshall Monitor IIIs — and that's saying a lot, as I adore the latter. The bass on the Evolve3 85 sounded warm with lots of low-end impact, and truth be told, I wasn't expect that from a headset designed for conferencing!</p><h2 id="the-elephant-in-the-room">The elephant in the room</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZXfxNZsnUWPUvvcsV6nnvd" name="Jabra_evolve3_85 3.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/ZXfxNZsnUWPUvvcsV6nnvd.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, the Jabra Evolve3 85 is clearly a phenomenal headset. But it's hard to ignore the elephant in the room that's desperately asking to be addressed, and that's the headset's price. The Evolve3 85 is a premium work headset that retails for <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a>. It's more expensive than my <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PlayStation 5 Slim</a> ($549), my <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> ($449), and even the brand new <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> ($599) and the <a href="https://www.tomsguide.com/phones/android-phones/nothing-phone-4a-pro-hands-on-review-this-could-beat-iphone-17e-at-its-own-game">Nothing Phone 4a Pro</a> ($499).</p><p>The Evolve3 85 is supremely comfortable, yes, and its audio quality for calls and music is nothing short of sublime, but is it worth over $700? Kind of, yeah. </p><div><blockquote><p>I know there are cheaper options out there ... but all of them have significant drawbacks. The Evolve3 85 headset doesn't have any such flaws.</p></blockquote></div><p>I know there are cheaper options out there, like the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Microsoft Surface Headphones 2</a> ($250), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/hp-poly-voyager-surround-80-uc-review">HP Poly Voyager Surround 80 UC</a> ($349), and the <a href="https://www.tomsguide.com/reviews/cleer-enduro-anc">Cleer Enduro ANC</a> (1$149), but all of them have significant drawbacks, such as unreliable battery lives, underbaked apps, finicky wear detection, and so on.</p><p>And the Evolve3 85 headset <em>doesn't </em>have any such flaws. It's expensive, but for the money, you're getting up to 120-hours of battery life, a sleek charging pad for you to charge the headset between calls, a lovely boomless mic, and peerless sound quality and vocal clarity. If I won the lottery, I wouldn't tell anyone, but there would be signs — and the Evolve3 85 around my neck would be one of them.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W21yoe"></div>                            </div>                            <script src="https://kwizly.com/embed/W21yoe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-85-conferencing-headset-review">‘The king of conferencing headsets’: I just tested the Jabra Evolve3 85 and I’ve never heard my colleagues this clearly before</a></li><li><a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home">Best headphones and headsets for working from home</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Jabra Evolve3 85,Marshall Monitor III ANC"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/i-ditched-my-usd400-headphones-for-this-conferencing-headset-for-a-week-and-im-almost-convinced-that-its-better-for-music</link>
                                                                            <description>
                            <![CDATA[ I've been testing the Jabra Evolve3 85 conferencing headset, and it sounds excellent when listening to music too, making it a great all-around performer for everyone. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GpRVEaYELVP9QoCXJX8LYM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7aLsWRLmY8UMgotwSHJ6Se-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 25 Mar 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7aLsWRLmY8UMgotwSHJ6Se-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Jabra Evolve3 85 conferencing headset]]></media:description>                                                            <media:text><![CDATA[Jabra Evolve3 85 conferencing headset]]></media:text>
                                <media:title type="plain"><![CDATA[Jabra Evolve3 85 conferencing headset]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7aLsWRLmY8UMgotwSHJ6Se-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In the age of hybrid working, many of us have had to adjust to not seeing our colleagues as much, and having virtual calls and briefings — whether that's on Zoom, Google Meet, or a quick huddle on Slack. </p><p>Unsurprisingly, the <a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home">best headphones and headsets for working from home</a> have also shot up in popularity, and if you spend a lot of time on calls, you need a competent headset that you can wear all day long.</p><p>But how much are you willing to spend on a conferencing headset? How does $700 sound? It's a lot of dough, isn't it? I've been testing the <a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-85-conferencing-headset-review">Jabra Evolve3 85</a>, and although it's expensive, it sounds superb.</p><div class="product"><a data-dimension112="3c9fae92-10ec-4339-8ea8-897338147ca6" data-action="Deal Block" data-label="Evolve3 85" data-dimension48="Evolve3 85" data-dimension25="$720" href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1434px;"><p class="vanilla-image-block" style="padding-top:103.70%;"><img id="Ppvy47kbrLpiThzSMSZBoZ" name="Evolve3-85-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ppvy47kbrLpiThzSMSZBoZ.jpg" mos="" align="middle" fullscreen="" width="1434" height="1487" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Jabra Evolve3 85 is a phenomenal conferencing headset, designed for people who spend a lot of their work day on calls. It boasts exceptional call clarity. Not only do your coworkers sound loud and clear to you, so do you to them thanks to the powerful boomless mic. It’s comfortable for all-day long use, and it packs long battery life too.<a class="view-deal button" href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow" data-dimension112="3c9fae92-10ec-4339-8ea8-897338147ca6" data-action="Deal Block" data-label="Evolve3 85" data-dimension48="Evolve3 85" data-dimension25="$720">View Deal</a></p></div><h2 id="listening-comfortably-all-day-long">Listening comfortably all day long</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="feBtwgyVpLtfdwvfVuGa6e" name="Jabra_evolve3_75 10.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/feBtwgyVpLtfdwvfVuGa6e.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before I dive into the sound quality, I want to talk about one of the other things the Jabra Evolve3 85 excels at, and that's its design. </p><p>Just like with any other pair of headphones, I don't think you should spend any amount of money on a conferencing headset that you can't wear all day long. The good news is that the Evolve3 85 is extremely comfortable, so rest assured that you're getting bang for your buck here.</p><p>One thing I've always loved about my Marshall Monitor III headphones is the lightness, as they weigh just 8.8oz, and they feature a leatherette headband that helps relieve some pressure you'd otherwise feel on the top of your head. I'd say the Evolve3 85 headset is on par with my Monitor IIIs in terms of comfort. Jabra's offering weighs 7.76oz so it's very lightweight, and the breathable cushion padding on the headband feels excellent. The same padding has been used for the ear cushions too, and I love it. </p><p>Another thing I love is the cavities on the inside of the earcups, which are there to nestle your earlobes and ensure your ears don't get squished. It's so effective, and now I wish all headphones had these cavities. Having worn the headset for an eight-hour work day (I removed it just once), I can confidently say that it's the comfiest one out there.</p><h2 id="a-beautifully-balanced-sound-profile">A beautifully balanced sound profile</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="te73sMiQkiUvLZ7JQTuh7e" name="Jabra_evolve3_85 4.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/te73sMiQkiUvLZ7JQTuh7e.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Evolve3 85 headset is fitted with 32mm drivers that cover a frequency response range of 20Hz-20KHz (so the normal human hearing spectrum), and the headset makes music sound true-to-life and full of character, never once getting overwhelmed by multiple instruments even.</p><p>The treble is crisp and vibrant and never overzealous. Through the Evolve3 85, in songs like 'Carnival of Rust' by Poets of the Fall, the hi-hats never sounded too shrill, and worked well with other instruments to create a wonderful melody. Each note plucked on the acoustic guitar was discernible and never harsh to the point that it overpowered the vocals. Speaking of, the vocals in tracks like 'White Feather Hawk Tail Deer Hunter' by Lana Del Rey were nothing short of detailed. The 'tss' and 'sh' sounds — and there are many of them — sounded clean and didn't bleed into one another either.</p><p>Bass sounded just as good if not better through the Evolve3 85. Powerful but not booming, especially in songs like 'Money' by Pink Floyd and 'Little Dark Age' by MGMT. The sub-bass and mid-bass packed plenty of detail too, and I found the lower and mid-ranges better on the Evolve3 85 than on my Marshall Monitor IIIs — and that's saying a lot, as I adore the latter. The bass on the Evolve3 85 sounded warm with lots of low-end impact, and truth be told, I wasn't expect that from a headset designed for conferencing!</p><h2 id="the-elephant-in-the-room">The elephant in the room</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZXfxNZsnUWPUvvcsV6nnvd" name="Jabra_evolve3_85 3.JPG" alt="Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/ZXfxNZsnUWPUvvcsV6nnvd.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, the Jabra Evolve3 85 is clearly a phenomenal headset. But it's hard to ignore the elephant in the room that's desperately asking to be addressed, and that's the headset's price. The Evolve3 85 is a premium work headset that retails for <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a>. It's more expensive than my <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PlayStation 5 Slim</a> ($549), my <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> ($449), and even the brand new <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> ($599) and the <a href="https://www.tomsguide.com/phones/android-phones/nothing-phone-4a-pro-hands-on-review-this-could-beat-iphone-17e-at-its-own-game">Nothing Phone 4a Pro</a> ($499).</p><p>The Evolve3 85 is supremely comfortable, yes, and its audio quality for calls and music is nothing short of sublime, but is it worth over $700? Kind of, yeah. </p><div><blockquote><p>I know there are cheaper options out there ... but all of them have significant drawbacks. The Evolve3 85 headset doesn't have any such flaws.</p></blockquote></div><p>I know there are cheaper options out there, like the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Microsoft Surface Headphones 2</a> ($250), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/hp-poly-voyager-surround-80-uc-review">HP Poly Voyager Surround 80 UC</a> ($349), and the <a href="https://www.tomsguide.com/reviews/cleer-enduro-anc">Cleer Enduro ANC</a> (1$149), but all of them have significant drawbacks, such as unreliable battery lives, underbaked apps, finicky wear detection, and so on.</p><p>And the Evolve3 85 headset <em>doesn't </em>have any such flaws. It's expensive, but for the money, you're getting up to 120-hours of battery life, a sleek charging pad for you to charge the headset between calls, a lovely boomless mic, and peerless sound quality and vocal clarity. If I won the lottery, I wouldn't tell anyone, but there would be signs — and the Evolve3 85 around my neck would be one of them.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W21yoe"></div>                            </div>                            <script src="https://kwizly.com/embed/W21yoe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/peripherals/jabra-evolve3-85-conferencing-headset-review">‘The king of conferencing headsets’: I just tested the Jabra Evolve3 85 and I’ve never heard my colleagues this clearly before</a></li><li><a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home">Best headphones and headsets for working from home</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Jabra Evolve3 85,Marshall Monitor III ANC"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘The king of conferencing headsets’: I just tested the Jabra Evolve3 85 and I’ve never heard my colleagues this clearly before ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you’re a hybrid worker or spend a lot of your work day on team calls, you need one of the <a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home#section-best-headsets-and-headphones-for-working-from-home-specs-compared">best headsets and headphones for working from home</a> — and the Jabra Evolve3 85 is just that. This is the perfect headset if you want to sound professional in online meetings as it boasts excellent vocal clarity. Its boomless mic with AI noise cancellation makes you sound loud and clear on the other end, while a range of productivity features keep you locked in.</p><p>The cherry on top of the cake is the headset’s long battery life. If you enjoy listening to music while working or between tasks, then the Evolve3 85 is sure to impress you with its wide and dynamic soundstage… as long as you can stomach the price.</p><p>For the complete breakdown, read my full Jabra Evolve3 85 review.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-specs"><span>Jabra Evolve3 85 review: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Specs</strong></p></th><th  ><p><strong>Jabra Evolve3 85</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Platforms</strong></p></td><td  ><p>Windows, macOS, Android, iOS</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3, USB-C/USB-A dongle, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>Microsoft Teams, Zoom, Google Meet, Apple MFi, Apple Find My, Google Find Hub</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>Rechargeable</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (Calls)</strong></p></td><td  ><p>25 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (Music)</strong></p></td><td  ><p>120 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>32mm</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Paired devices max</strong></p></td><td  ><p>2</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone</strong></p></td><td  ><p>Boomless</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone frequency response</strong></p></td><td  ><p>10Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>7.64 x 5.91 x 3.27 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.76oz</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jabra-evolve3-85-review-cheat-sheet"><span>Jabra Evolve3 85 review: Cheat sheet</span></h2><ul><li><strong>What is it?</strong> Jabra’s flagship work-first headset with a boomless mic</li><li><strong>Who is it for? </strong>For hybrid workers and those who spend a lot of time on calls and online meetings — and music lovers</li><li><strong>How much does it cost?</strong> It ain’t cheap. The Jabra Evolve3 85 retails for <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a></li><li><strong>What do we like? </strong>So many things! The comfortable design, productivity features, clear mic, excellent vocal clarity, long battery life, and more</li><li><strong>What don’t we like? </strong>The premium price tag</li></ul><h2 class="article-body__section" id="section-jabra-evolve3-85-review-the-ups"><span>Jabra Evolve3 85 review: The ups</span></h2><p>From its exceptionally comfortable design and plethora of productivity features, to its outstanding vocal clarity and boomless mic, there’s a lot to love about the Jabra Evolve3 85.</p><h2 id="all-day-long-comfort">All-day long comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dY7t9pNTE5cDb4bogM9sBC" name="Jabra_evolve3_85 6.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/dY7t9pNTE5cDb4bogM9sBC.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Jabra Evolve3 85 is a work-first headset as Jabra claims it’s designed for the “modern worker.” If, like me, you spend a lot of time on team calls and meetings, and need a headset that will let you work comfortably all day long, this is it. Firstly, the Evolve3 85 is very lightweight, weighing just 7.76oz. It’s 35% slimmer and 23% lighter than the Evolve2 line, and lighter than other work-oriented headsets, like the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Microsoft Surface Headphones 2</a> (10.2oz, $250), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/hp-poly-voyager-surround-80-uc-review">HP Poly Voyager Surround 80 UC</a> (9.7oz, $349), and the <a href="https://www.tomsguide.com/reviews/cleer-enduro-anc">Cleer Enduro ANC</a> (10.6oz, $149).</p><p>Aiding the Evolve3 85’s comfort factor is the lovely breathable cushion padding on its headband. This relieves the pressure you’d otherwise feel on top of your head, enabling you to wear it for hours on end. This same padding has been used for the ear cushions, and they feel excellent to me. I also like the cavities on the inside of the earcups, which are there to nestle your ear lobes and ensure that your ears don’t get squished. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcjx6Btg5fLkvXXR2QuqKB" name="Jabra_evolve3_75 10.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/vcjx6Btg5fLkvXXR2QuqKB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If on-ear headphones are more your speed, you might prefer the Jabra Evolve3 75 ($463) instead — these are very well padded. However, in our testing, Tom’s Guide’s Senior reviews editor Pete Wolinski found them a little uncomfortable after five or six hours due to the on-ear design, with the earcups pushing his ear helixes into the side of his head.</p><p>Having worn the Evolve3 85 for eight straight hours, I can confirm that it’s <em>exceptionally </em>comfortable. My ears never felt hot, and my head didn’t feel like it was being weighed down either. I also appreciate that foldable design and included pouch that you can store the headset in when you’re traveling.</p><p>Build quality is sublime too, with matte finish on the headband and earcups, and I didn’t think the headset sounded hollow or underbaked when I tapped its different parts with my fingernails.</p><h2 id="a-plethora-of-productivity-features">A plethora of productivity features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ykhCDrYpGoCW2sq4uYzSzB" name="Jabra_evolve3_85 4.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/ykhCDrYpGoCW2sq4uYzSzB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There’s no dearth of productivity features on the Jabra Evolve3 85. You can buy the headset with either Microsoft Teams or Unified Communication optimization. If you get the former, a Microsoft Teams logo graces the right earcup, and it doubles as a button that lets you answer/reject incoming Teams calls. The Unified Communication model, on the other hand, offers plug-and-play functionality across multiple platforms, such as Google Meet and Zoom. The UC model is the better choice if, like me, you work across platforms and don’t want to be locked into just Teams.</p><p>Whenever you’re on a call, the integrated 360° Busylight located on the left earcup lights up in bright red to let those around you know that you’re busy and shouldn’t be disturbed. This is a great feature to have, especially if you’re on an important call and don’t want to be interrupted by anyone else. I do, however, wish you could turn this light on outside of calls, as I like to be left alone when I’m in the zone and writing away.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yiqnDDfRWwtqPWKFfTWaZB" name="Jabra_evolve3_85 5.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/yiqnDDfRWwtqPWKFfTWaZB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In addition to this, you also get AI integration, so you can prompt Gemini, ChatGPT or another assistant of your choice by simply using your voice and not having to use your hands. Jabra says that the Evolve3 85 “accurately captures over 9 out of 10 words in AI voice prompts.” While I personally don’t use AI assistants and chatbots, it’s good to know that this feature exists for users who love using AI. I tested it with Gemini on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> and it worked well. Gemini understood me clearly and promptly, and instantly made me a to-do list and set a reminder as I asked for.</p><p>For those who work across multiple devices, multipoint connectivity is at play so you can connect up to two devices at the same time using Bluetooth 5.3. The box also includes a USB-C dongle (or USB-A, depending on what you choose when you buy the headset) which increases the number of simultaneous connections from two to three. Google Fast Pair also means that you can connect the headset to your phone in mere seconds, as I did, and Apple Find My and Google Find Hub let you keep a track of where your headphones are.</p><p>There’s also wear detection which pauses playback if you lift an earcup or remove the headset entirely, and it worked like a charm in my testing. This is perhaps the best wear detection I’ve seen on a pair of over-ear headphones, as it’s something I’ve always disabled on the likes of the HP Poly Voyager Surround 80 UC and even my trusty <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> ($349) as I found the wear detection on them finicky, and it never worked as intended.</p><h2 id="exceptional-vocal-clarity">Exceptional vocal clarity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BEFT5We38rAD85b5zUeWBB" name="Jabra_evolve3_85 1.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/BEFT5We38rAD85b5zUeWBB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Any work headset needs one thing for certain to be considered excellent, and that’s exceptional vocal clarity. You should be able to hear your on-call colleagues or clients with so much clarity that they feel like they’re in the room with you — and the Jabra Evolve3 85 does just that. It’s fitted with 32mm drivers which cover a frequency response range of 20Hz-20KHz which is fairly standard for most headphones and even gaming headsets, as that’s the spectrum of human hearing.</p><p>Having attended five meetings with the Evolve3 85 nestling my ears, I can confidently say that this headset will please anyone who works from home or gives online presentations. These calls took place over Google Meet and Slack (huddles). I could hear my colleagues on the line loudly and clearly, and even when multiple people were speaking at once, I could still understand them. Voices and words never blended together.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CxUcD2bdTCCZKCgeAPNBwB" name="Jabra_evolve3_85 8.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/CxUcD2bdTCCZKCgeAPNBwB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I appreciated the Evolve3 85’s adaptive/dynamic noise cancellation here too, as it automatically adjusted itself when there was a loud noise in the background. It kept me focused on the call I was on. In my testing, this worked well both indoors and outdoors. Aside from Google Meet and Slack, I also spoke with my partner on the phone, and I could hear her well even while walking and making my way through crowds.</p><p>Voice clarity is further bolstered by active noise cancellation (ANC) which works superbly, isolating you to the point that you can’t hear anything else when you’re outdoors and you feel like you’re the only person in the world. I couldn’t hear people chatting in the office or the sound of my loud keyboard, or cars whizzing past me outdoors. I listened to a podcast and I could hear the host and guest speaking to each other and laughing clearly, like I was in the room with them.</p><h2 id="crisp-and-clear-microphone">Crisp and clear microphone</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="L2sERwHKBQXsxpMFApvi6C" name="Jabra_evolve3_85.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/L2sERwHKBQXsxpMFApvi6C.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There’s no point in spending any amount of money on a work-first headset if it doesn’t make you sound loud and clear on calls — after all, you want to impress your audience, right? The Jabra Evolve3 85 gives you nothing to complain about in that department, and it boasts one of the strongest mic performances I’ve seen so far.</p><p>The Evolve3 85 features a boomless mic (an array of six in total) so there’s no mic arm sitting in front of your mouth, and this helps its sleek, inconspicuous appearance. The mic covers a frequency response range of 10Hz-20KHz, so it covers the full spectrum of human hearing and ensures natural sound reproduction. The headset utilizes Jabra ClearVoice which uses AI-powered deep learning to isolate your voice from background noise, and it works extremely well.</p><p>The first thing I did to test the headset was call my partner when leaving work. She said I sounded perfect and crystal clear, and didn’t think my words were bleeding into one another either. She also couldn’t hear the birds chirping right overhead, or the sound of lots of people chatting and shuffling around in a busy parking lot — all she could hear was my voice. In fact, she said I sounded like I was in a quiet room indoors.</p><audio src="https://cdn.mos.cms.futurecdn.net/Y7qjU83kpsVagyqZ6hGfTZ/Jabra%20Evolve3%2085%20%E2%80%94%20Ambient%20noise.mp3"  controls="controls" preload="none"></audio><p><br>I had to hear it for myself, so I recorded myself speaking with the TV playing in the background. In the clip above, you can’t hear the characters from Schitt’s Creek speaking, and my voice is the only one that can be heard, which is amazing.</p><audio src="https://cdn.mos.cms.futurecdn.net/89dfZroUjJuWRPGCdG7Q9Z/Jabra%20Evolve3%2085%20%E2%80%94%20Plosives.mp3"  controls="controls" preload="none"></audio><p><br>I then recorded myself speaking a few sentences with popping sounds, such as words starting with ‘P,’ ‘B,’ ‘T,’ ‘D,’ ‘K’ and ‘G,’ known as plosives. As you can hear in the clip above (and laugh with me at my goof-up while saying one of the tongue twisters), the ‘P’ sounds don’t sound overly harsh or unpleasant.</p><audio src="https://cdn.mos.cms.futurecdn.net/qf6opGUUNEFogz7EnCsa5Z/Jabra%20Evolve3%2085%20%E2%80%94%20Sibilance.mp3"  controls="controls" preload="none"></audio><p><br>Next up, I tested the Evolve3 85’s ability to handle sibilance. These are your ‘s’ and ‘sh’ sounds which are prone to whistling (and can be unpleasant to listen to), so the best way to do this was by trying a famous tongue twister. As you can hear in the clip above, the mic handled the hissing sounds quite well, and again, the sounds don’t bleed into one another.</p><p>I also appreciate the Evolve3 85’s sidetone as it enables you to hear yourself speaking when you’re on a call, so you can check that you aren’t speaking too softly or loudly. This is a feature we see on most of the <a href="https://www.tomsguide.com/best-picks/best-gaming-headsets">best gaming headsets</a> and is very handy to have. The sidetone’s volume can be adjusted via the companion app (more on that shortly).</p><h2 id="dynamic-music-performance-too">Dynamic music performance, too</h2><p>Look, if I’m spending over $700 on a work-first headset — yes, that’s how much it costs — you’d best believe that I will be using it to listen to music in my downtime too. The Jabra Evolve3 85 is, in fact, excellent at making your favorite songs sound better than ever. I listened to a few tracks from my roster of testing songs on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a> with the Evolve3 85 plugged into my MacBook Air M2 via the included 3.5mm aux.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VBm9DmaDaY3YesuQtyvt3C" name="Jabra_evolve3_85 3.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/VBm9DmaDaY3YesuQtyvt3C.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I started things off by listening to ‘Carnival of Rust’ by Poets of the Fall, and each note plucked on the acoustic guitar sounded loud and clear but not so harsh that it overpowered the vocals at the beginning of the song. When the rock instruments kicked in during the first chorus, they created a wonderful melody that sounded thoroughly enjoyable through the Evolve3 85.</p><p>To test the Evolve3 85’s bass, I listened to ‘Little Dark Age’ by MGMT and once again, the bassline sounded clear and every note plucked on the bass was discernible but it also worked in harmony with the other instruments to create an immersive soundscape. The bass never sounded booming or overpowering.</p><p>Vocals sounded just as beautiful in tracks like ‘White Feather Hawk Tail Deer Hunter’ by Lana Del Rey. Lana’s sibilance, the ‘tss’ and ‘sh,’ in the first verse sounded detailed and clean, and I would expect nothing less from a headset that boasts vocal clarity for work calls. My colleagues tried the Evolve3 85 briefly as well, and all of them complimented the headset’s wide and dynamic soundstage.</p><p><em>Listen along to my review with the Jabra Evolve3 85 testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/60647355?zone=GB-en"></iframe><h2 id="long-battery-life">Long battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MVbAw35N3qz4YbTXpLejzB" name="Jabra_evolve3_85 7.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/MVbAw35N3qz4YbTXpLejzB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Jabra Evolve3 85 boasts long battery life, and according to Jabra, the headset can last up to 120 hours for music and 25 hours when used exclusively for calls. While I wasn’t able to drain the entire battery, I noticed that after approximately 16 hours of use, the battery percentage had dropped to 75%. Keep in mind that I had ANC on at all times, and used the headset for work calls as well as listening to music.</p><p>The Evolve3 85’s battery life is better than the competition’s. The Microsoft Surface Headphones 2 last for just 20 hours, while the HP Poly Voyager Surround 80 UC lasts for 21 hours and the Cleer Enduro ANC lasts for 60 hours between charges. Also, charging the Evolve3 85 for five minutes provides five hours of runtime. Oh, and they come with a sleek wireless charging pad too!</p><h2 id="user-friendly-companion-app">User-friendly companion app</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PntUdiF3XkmZxhraxvm2f7.jpg" alt="Jabra Evolve3 85 customization app screenshots" /><figcaption><small role="credit">Jabra / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FtRFSpmVjyFN5qP5CVHBf7.jpg" alt="Jabra Evolve3 85 customization app screenshots" /><figcaption><small role="credit">Jabra / Tom's Guide</small></figcaption></figure></figure><p>To customize the Jabra Evolve3 85, you’ll need to download the <a href="https://www.jabra.com/en-GB/software-and-services/jabra-plus" target="_blank" rel="nofollow">Jabra Plus </a>app on either iOS or Android. The app is extremely intuitive thanks to its user-friendly interface, and it gives you lots of control over the headset’s settings. Via the app, you can adjust the sidetone volume, enhance treble or bass in calls, swap between EQ presets and customize your own, toggle hearing protection as well as spatial audio in media.</p><p>You can also enable a setting which allows you to automatically answer calls if your headset is charging on the included pad and you remove it. I tested this out and it worked as intended, and it’s quite a handy feature to have as you can keep charging the headset between calls without plugging it in.</p><p>A desktop version of the app can also be downloaded on Windows machines and it gives you the same level of customization as the mobile version. On macOS, you’ll need to download Jabra Direct instead which, again, gives you the same personalization options.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-the-downs"><span>Jabra Evolve3 85 review: The downs</span></h2><p>There isn’t much wrong with the Jabra Evolve3 85, but note that it costs a premium which might not be everyone’s cup of tea.</p><h2 id="very-very-expensive">Very, very expensive</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dAj2ufDU4PTfixeVdCn9SB" name="Jabra_evolve3_85 2.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/dAj2ufDU4PTfixeVdCn9SB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m going to hold your hand when I say this: the Jabra Evolve3 85 costs an arm and a leg. It’s very expensive and will probably burn a hole in most people’s pockets — unless of course this is your work-sanctioned headset, and if that’s the case, never quit your job. The Evolve3 85 costs <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539 at Amazon</a>, making it one of the most expensive headsets I’ve tested. When I told everyone in the office just how expensive the Evolve3 85 was, everyone collectively gasped — and that doesn’t happen very often.</p><p>It’s nearly as expensive (or more than) as flagship headphones from heavy hitters in the audio world, like the <a href="https://www.tomsguide.com/reviews/bowers-and-wilkins-px8">Bowers & Wilkins Px8</a> ($699), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> ($449) and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Gen 2</a> ($449). Is the Evolve3 85 worth the premium? It depends. Can you afford it? Then sure. You get fantastic audio quality and detailed vocal clarity, along with a boomless mic that makes you sound amazing.</p><p>But regardless of the things it does exceptionally well, the Evolve3 85 won’t be for everyone, primarily because of the price. If you want cheaper, work-first headsets, there are plenty to choose from. Jabra’s own Evolve3 75 is a little cheaper at around $460, but it’s less comfortable. The $250 Microsoft Surface Headphones 2 is an excellent alternative but its battery life isn’t as long as the Evolve3 85’s, and its app feels underbaked. Or you could go for the $149 Cleer Enduro ANC which is much, much cheaper, but doesn’t feature the best mic.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-verdict"><span>Jabra Evolve3 85 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cUbu4DH5JpAkw4y8BVDcFB" name="Jabra_evolve3_75 9.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/cUbu4DH5JpAkw4y8BVDcFB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What does spending $700 on the Jabra Evolve3 85 get you? A boomless mic with AI noise cancellation that ensures the person on the other end of the phone (or laptop) can hear only you. Crystal clear vocals that make your colleagues sound just like they do in person. A wide soundstage for when you want to listen to your favorite tunes. Up to 120 hours of battery life and a sleek charging pad.</p><p>The Evolve3 85 is an exceptional headset, and one I didn’t expect to love as much as I do now. While its premium price tag is a little hard to stomach, it’s worth paying the price if you want refined and rich sound quality as well as monster battery life, all packed into a comfortable design. I’m almost tempted to make the Evolve3 85 my daily driver at work!</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/peripherals/jabra-evolve3-85-conferencing-headset-review</link>
                                                                            <description>
                            <![CDATA[ The Jabra Evolve3 85 boasts excellent call clarity, ANC, a wide soundstage for music, and a sublime boomless mic. It packs plenty of productivity features too. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4utDhgovSqJjw34BXppqA7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BEFT5We38rAD85b5zUeWBB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 24 Mar 2026 14:01:13 +0000</pubDate>                                                                                                                                <updated>Thu, 26 Mar 2026 10:31:43 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing Peripherals]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BEFT5We38rAD85b5zUeWBB-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black Jabra Evolve3 85 conferencing headset]]></media:description>                                                            <media:text><![CDATA[Black Jabra Evolve3 85 conferencing headset]]></media:text>
                                <media:title type="plain"><![CDATA[Black Jabra Evolve3 85 conferencing headset]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BEFT5We38rAD85b5zUeWBB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you’re a hybrid worker or spend a lot of your work day on team calls, you need one of the <a href="https://www.tomsguide.com/best-picks/best-headsets-and-headphones-for-working-from-home#section-best-headsets-and-headphones-for-working-from-home-specs-compared">best headsets and headphones for working from home</a> — and the Jabra Evolve3 85 is just that. This is the perfect headset if you want to sound professional in online meetings as it boasts excellent vocal clarity. Its boomless mic with AI noise cancellation makes you sound loud and clear on the other end, while a range of productivity features keep you locked in.</p><p>The cherry on top of the cake is the headset’s long battery life. If you enjoy listening to music while working or between tasks, then the Evolve3 85 is sure to impress you with its wide and dynamic soundstage… as long as you can stomach the price.</p><p>For the complete breakdown, read my full Jabra Evolve3 85 review.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-specs"><span>Jabra Evolve3 85 review: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Specs</strong></p></th><th  ><p><strong>Jabra Evolve3 85</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Platforms</strong></p></td><td  ><p>Windows, macOS, Android, iOS</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3, USB-C/USB-A dongle, USB-C wired</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>Microsoft Teams, Zoom, Google Meet, Apple MFi, Apple Find My, Google Find Hub</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>Rechargeable</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (Calls)</strong></p></td><td  ><p>25 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (Music)</strong></p></td><td  ><p>120 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>32mm</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Paired devices max</strong></p></td><td  ><p>2</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone</strong></p></td><td  ><p>Boomless</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone frequency response</strong></p></td><td  ><p>10Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>7.64 x 5.91 x 3.27 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.76oz</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jabra-evolve3-85-review-cheat-sheet"><span>Jabra Evolve3 85 review: Cheat sheet</span></h2><ul><li><strong>What is it?</strong> Jabra’s flagship work-first headset with a boomless mic</li><li><strong>Who is it for? </strong>For hybrid workers and those who spend a lot of time on calls and online meetings — and music lovers</li><li><strong>How much does it cost?</strong> It ain’t cheap. The Jabra Evolve3 85 retails for <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539</a></li><li><strong>What do we like? </strong>So many things! The comfortable design, productivity features, clear mic, excellent vocal clarity, long battery life, and more</li><li><strong>What don’t we like? </strong>The premium price tag</li></ul><h2 class="article-body__section" id="section-jabra-evolve3-85-review-the-ups"><span>Jabra Evolve3 85 review: The ups</span></h2><p>From its exceptionally comfortable design and plethora of productivity features, to its outstanding vocal clarity and boomless mic, there’s a lot to love about the Jabra Evolve3 85.</p><h2 id="all-day-long-comfort">All-day long comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dY7t9pNTE5cDb4bogM9sBC" name="Jabra_evolve3_85 6.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/dY7t9pNTE5cDb4bogM9sBC.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Jabra Evolve3 85 is a work-first headset as Jabra claims it’s designed for the “modern worker.” If, like me, you spend a lot of time on team calls and meetings, and need a headset that will let you work comfortably all day long, this is it. Firstly, the Evolve3 85 is very lightweight, weighing just 7.76oz. It’s 35% slimmer and 23% lighter than the Evolve2 line, and lighter than other work-oriented headsets, like the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Microsoft Surface Headphones 2</a> (10.2oz, $250), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/hp-poly-voyager-surround-80-uc-review">HP Poly Voyager Surround 80 UC</a> (9.7oz, $349), and the <a href="https://www.tomsguide.com/reviews/cleer-enduro-anc">Cleer Enduro ANC</a> (10.6oz, $149).</p><p>Aiding the Evolve3 85’s comfort factor is the lovely breathable cushion padding on its headband. This relieves the pressure you’d otherwise feel on top of your head, enabling you to wear it for hours on end. This same padding has been used for the ear cushions, and they feel excellent to me. I also like the cavities on the inside of the earcups, which are there to nestle your ear lobes and ensure that your ears don’t get squished. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcjx6Btg5fLkvXXR2QuqKB" name="Jabra_evolve3_75 10.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/vcjx6Btg5fLkvXXR2QuqKB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If on-ear headphones are more your speed, you might prefer the Jabra Evolve3 75 ($463) instead — these are very well padded. However, in our testing, Tom’s Guide’s Senior reviews editor Pete Wolinski found them a little uncomfortable after five or six hours due to the on-ear design, with the earcups pushing his ear helixes into the side of his head.</p><p>Having worn the Evolve3 85 for eight straight hours, I can confirm that it’s <em>exceptionally </em>comfortable. My ears never felt hot, and my head didn’t feel like it was being weighed down either. I also appreciate that foldable design and included pouch that you can store the headset in when you’re traveling.</p><p>Build quality is sublime too, with matte finish on the headband and earcups, and I didn’t think the headset sounded hollow or underbaked when I tapped its different parts with my fingernails.</p><h2 id="a-plethora-of-productivity-features">A plethora of productivity features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ykhCDrYpGoCW2sq4uYzSzB" name="Jabra_evolve3_85 4.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/ykhCDrYpGoCW2sq4uYzSzB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There’s no dearth of productivity features on the Jabra Evolve3 85. You can buy the headset with either Microsoft Teams or Unified Communication optimization. If you get the former, a Microsoft Teams logo graces the right earcup, and it doubles as a button that lets you answer/reject incoming Teams calls. The Unified Communication model, on the other hand, offers plug-and-play functionality across multiple platforms, such as Google Meet and Zoom. The UC model is the better choice if, like me, you work across platforms and don’t want to be locked into just Teams.</p><p>Whenever you’re on a call, the integrated 360° Busylight located on the left earcup lights up in bright red to let those around you know that you’re busy and shouldn’t be disturbed. This is a great feature to have, especially if you’re on an important call and don’t want to be interrupted by anyone else. I do, however, wish you could turn this light on outside of calls, as I like to be left alone when I’m in the zone and writing away.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yiqnDDfRWwtqPWKFfTWaZB" name="Jabra_evolve3_85 5.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/yiqnDDfRWwtqPWKFfTWaZB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In addition to this, you also get AI integration, so you can prompt Gemini, ChatGPT or another assistant of your choice by simply using your voice and not having to use your hands. Jabra says that the Evolve3 85 “accurately captures over 9 out of 10 words in AI voice prompts.” While I personally don’t use AI assistants and chatbots, it’s good to know that this feature exists for users who love using AI. I tested it with Gemini on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> and it worked well. Gemini understood me clearly and promptly, and instantly made me a to-do list and set a reminder as I asked for.</p><p>For those who work across multiple devices, multipoint connectivity is at play so you can connect up to two devices at the same time using Bluetooth 5.3. The box also includes a USB-C dongle (or USB-A, depending on what you choose when you buy the headset) which increases the number of simultaneous connections from two to three. Google Fast Pair also means that you can connect the headset to your phone in mere seconds, as I did, and Apple Find My and Google Find Hub let you keep a track of where your headphones are.</p><p>There’s also wear detection which pauses playback if you lift an earcup or remove the headset entirely, and it worked like a charm in my testing. This is perhaps the best wear detection I’ve seen on a pair of over-ear headphones, as it’s something I’ve always disabled on the likes of the HP Poly Voyager Surround 80 UC and even my trusty <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> ($349) as I found the wear detection on them finicky, and it never worked as intended.</p><h2 id="exceptional-vocal-clarity">Exceptional vocal clarity</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BEFT5We38rAD85b5zUeWBB" name="Jabra_evolve3_85 1.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/BEFT5We38rAD85b5zUeWBB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Any work headset needs one thing for certain to be considered excellent, and that’s exceptional vocal clarity. You should be able to hear your on-call colleagues or clients with so much clarity that they feel like they’re in the room with you — and the Jabra Evolve3 85 does just that. It’s fitted with 32mm drivers which cover a frequency response range of 20Hz-20KHz which is fairly standard for most headphones and even gaming headsets, as that’s the spectrum of human hearing.</p><p>Having attended five meetings with the Evolve3 85 nestling my ears, I can confidently say that this headset will please anyone who works from home or gives online presentations. These calls took place over Google Meet and Slack (huddles). I could hear my colleagues on the line loudly and clearly, and even when multiple people were speaking at once, I could still understand them. Voices and words never blended together.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CxUcD2bdTCCZKCgeAPNBwB" name="Jabra_evolve3_85 8.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/CxUcD2bdTCCZKCgeAPNBwB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I appreciated the Evolve3 85’s adaptive/dynamic noise cancellation here too, as it automatically adjusted itself when there was a loud noise in the background. It kept me focused on the call I was on. In my testing, this worked well both indoors and outdoors. Aside from Google Meet and Slack, I also spoke with my partner on the phone, and I could hear her well even while walking and making my way through crowds.</p><p>Voice clarity is further bolstered by active noise cancellation (ANC) which works superbly, isolating you to the point that you can’t hear anything else when you’re outdoors and you feel like you’re the only person in the world. I couldn’t hear people chatting in the office or the sound of my loud keyboard, or cars whizzing past me outdoors. I listened to a podcast and I could hear the host and guest speaking to each other and laughing clearly, like I was in the room with them.</p><h2 id="crisp-and-clear-microphone">Crisp and clear microphone</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="L2sERwHKBQXsxpMFApvi6C" name="Jabra_evolve3_85.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/L2sERwHKBQXsxpMFApvi6C.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There’s no point in spending any amount of money on a work-first headset if it doesn’t make you sound loud and clear on calls — after all, you want to impress your audience, right? The Jabra Evolve3 85 gives you nothing to complain about in that department, and it boasts one of the strongest mic performances I’ve seen so far.</p><p>The Evolve3 85 features a boomless mic (an array of six in total) so there’s no mic arm sitting in front of your mouth, and this helps its sleek, inconspicuous appearance. The mic covers a frequency response range of 10Hz-20KHz, so it covers the full spectrum of human hearing and ensures natural sound reproduction. The headset utilizes Jabra ClearVoice which uses AI-powered deep learning to isolate your voice from background noise, and it works extremely well.</p><p>The first thing I did to test the headset was call my partner when leaving work. She said I sounded perfect and crystal clear, and didn’t think my words were bleeding into one another either. She also couldn’t hear the birds chirping right overhead, or the sound of lots of people chatting and shuffling around in a busy parking lot — all she could hear was my voice. In fact, she said I sounded like I was in a quiet room indoors.</p><audio src="https://cdn.mos.cms.futurecdn.net/Y7qjU83kpsVagyqZ6hGfTZ/Jabra%20Evolve3%2085%20%E2%80%94%20Ambient%20noise.mp3"  controls="controls" preload="none"></audio><p><br>I had to hear it for myself, so I recorded myself speaking with the TV playing in the background. In the clip above, you can’t hear the characters from Schitt’s Creek speaking, and my voice is the only one that can be heard, which is amazing.</p><audio src="https://cdn.mos.cms.futurecdn.net/89dfZroUjJuWRPGCdG7Q9Z/Jabra%20Evolve3%2085%20%E2%80%94%20Plosives.mp3"  controls="controls" preload="none"></audio><p><br>I then recorded myself speaking a few sentences with popping sounds, such as words starting with ‘P,’ ‘B,’ ‘T,’ ‘D,’ ‘K’ and ‘G,’ known as plosives. As you can hear in the clip above (and laugh with me at my goof-up while saying one of the tongue twisters), the ‘P’ sounds don’t sound overly harsh or unpleasant.</p><audio src="https://cdn.mos.cms.futurecdn.net/qf6opGUUNEFogz7EnCsa5Z/Jabra%20Evolve3%2085%20%E2%80%94%20Sibilance.mp3"  controls="controls" preload="none"></audio><p><br>Next up, I tested the Evolve3 85’s ability to handle sibilance. These are your ‘s’ and ‘sh’ sounds which are prone to whistling (and can be unpleasant to listen to), so the best way to do this was by trying a famous tongue twister. As you can hear in the clip above, the mic handled the hissing sounds quite well, and again, the sounds don’t bleed into one another.</p><p>I also appreciate the Evolve3 85’s sidetone as it enables you to hear yourself speaking when you’re on a call, so you can check that you aren’t speaking too softly or loudly. This is a feature we see on most of the <a href="https://www.tomsguide.com/best-picks/best-gaming-headsets">best gaming headsets</a> and is very handy to have. The sidetone’s volume can be adjusted via the companion app (more on that shortly).</p><h2 id="dynamic-music-performance-too">Dynamic music performance, too</h2><p>Look, if I’m spending over $700 on a work-first headset — yes, that’s how much it costs — you’d best believe that I will be using it to listen to music in my downtime too. The Jabra Evolve3 85 is, in fact, excellent at making your favorite songs sound better than ever. I listened to a few tracks from my roster of testing songs on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a> with the Evolve3 85 plugged into my MacBook Air M2 via the included 3.5mm aux.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VBm9DmaDaY3YesuQtyvt3C" name="Jabra_evolve3_85 3.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/VBm9DmaDaY3YesuQtyvt3C.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I started things off by listening to ‘Carnival of Rust’ by Poets of the Fall, and each note plucked on the acoustic guitar sounded loud and clear but not so harsh that it overpowered the vocals at the beginning of the song. When the rock instruments kicked in during the first chorus, they created a wonderful melody that sounded thoroughly enjoyable through the Evolve3 85.</p><p>To test the Evolve3 85’s bass, I listened to ‘Little Dark Age’ by MGMT and once again, the bassline sounded clear and every note plucked on the bass was discernible but it also worked in harmony with the other instruments to create an immersive soundscape. The bass never sounded booming or overpowering.</p><p>Vocals sounded just as beautiful in tracks like ‘White Feather Hawk Tail Deer Hunter’ by Lana Del Rey. Lana’s sibilance, the ‘tss’ and ‘sh,’ in the first verse sounded detailed and clean, and I would expect nothing less from a headset that boasts vocal clarity for work calls. My colleagues tried the Evolve3 85 briefly as well, and all of them complimented the headset’s wide and dynamic soundstage.</p><p><em>Listen along to my review with the Jabra Evolve3 85 testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/60647355?zone=GB-en"></iframe><h2 id="long-battery-life">Long battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MVbAw35N3qz4YbTXpLejzB" name="Jabra_evolve3_85 7.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/MVbAw35N3qz4YbTXpLejzB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Jabra Evolve3 85 boasts long battery life, and according to Jabra, the headset can last up to 120 hours for music and 25 hours when used exclusively for calls. While I wasn’t able to drain the entire battery, I noticed that after approximately 16 hours of use, the battery percentage had dropped to 75%. Keep in mind that I had ANC on at all times, and used the headset for work calls as well as listening to music.</p><p>The Evolve3 85’s battery life is better than the competition’s. The Microsoft Surface Headphones 2 last for just 20 hours, while the HP Poly Voyager Surround 80 UC lasts for 21 hours and the Cleer Enduro ANC lasts for 60 hours between charges. Also, charging the Evolve3 85 for five minutes provides five hours of runtime. Oh, and they come with a sleek wireless charging pad too!</p><h2 id="user-friendly-companion-app">User-friendly companion app</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PntUdiF3XkmZxhraxvm2f7.jpg" alt="Jabra Evolve3 85 customization app screenshots" /><figcaption><small role="credit">Jabra / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FtRFSpmVjyFN5qP5CVHBf7.jpg" alt="Jabra Evolve3 85 customization app screenshots" /><figcaption><small role="credit">Jabra / Tom's Guide</small></figcaption></figure></figure><p>To customize the Jabra Evolve3 85, you’ll need to download the <a href="https://www.jabra.com/en-GB/software-and-services/jabra-plus" target="_blank" rel="nofollow">Jabra Plus </a>app on either iOS or Android. The app is extremely intuitive thanks to its user-friendly interface, and it gives you lots of control over the headset’s settings. Via the app, you can adjust the sidetone volume, enhance treble or bass in calls, swap between EQ presets and customize your own, toggle hearing protection as well as spatial audio in media.</p><p>You can also enable a setting which allows you to automatically answer calls if your headset is charging on the included pad and you remove it. I tested this out and it worked as intended, and it’s quite a handy feature to have as you can keep charging the headset between calls without plugging it in.</p><p>A desktop version of the app can also be downloaded on Windows machines and it gives you the same level of customization as the mobile version. On macOS, you’ll need to download Jabra Direct instead which, again, gives you the same personalization options.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-the-downs"><span>Jabra Evolve3 85 review: The downs</span></h2><p>There isn’t much wrong with the Jabra Evolve3 85, but note that it costs a premium which might not be everyone’s cup of tea.</p><h2 id="very-very-expensive">Very, very expensive</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dAj2ufDU4PTfixeVdCn9SB" name="Jabra_evolve3_85 2.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/dAj2ufDU4PTfixeVdCn9SB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m going to hold your hand when I say this: the Jabra Evolve3 85 costs an arm and a leg. It’s very expensive and will probably burn a hole in most people’s pockets — unless of course this is your work-sanctioned headset, and if that’s the case, never quit your job. The Evolve3 85 costs <a href="https://www.amazon.com/Jabra-Bluetooth-Microphone-Technology-Cancellation/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">$720</a> / <a href="https://www.amazon.co.uk/Jabra-Bluetooth-Microphone-Technology-Cancellation-Black/dp/B0FS4PLGQS/" target="_blank" rel="nofollow">£539 at Amazon</a>, making it one of the most expensive headsets I’ve tested. When I told everyone in the office just how expensive the Evolve3 85 was, everyone collectively gasped — and that doesn’t happen very often.</p><p>It’s nearly as expensive (or more than) as flagship headphones from heavy hitters in the audio world, like the <a href="https://www.tomsguide.com/reviews/bowers-and-wilkins-px8">Bowers & Wilkins Px8</a> ($699), the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> ($449) and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Gen 2</a> ($449). Is the Evolve3 85 worth the premium? It depends. Can you afford it? Then sure. You get fantastic audio quality and detailed vocal clarity, along with a boomless mic that makes you sound amazing.</p><p>But regardless of the things it does exceptionally well, the Evolve3 85 won’t be for everyone, primarily because of the price. If you want cheaper, work-first headsets, there are plenty to choose from. Jabra’s own Evolve3 75 is a little cheaper at around $460, but it’s less comfortable. The $250 Microsoft Surface Headphones 2 is an excellent alternative but its battery life isn’t as long as the Evolve3 85’s, and its app feels underbaked. Or you could go for the $149 Cleer Enduro ANC which is much, much cheaper, but doesn’t feature the best mic.</p><h2 class="article-body__section" id="section-jabra-evolve3-85-review-verdict"><span>Jabra Evolve3 85 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cUbu4DH5JpAkw4y8BVDcFB" name="Jabra_evolve3_75 9.JPG" alt="Black Jabra Evolve3 85 conferencing headset" src="https://cdn.mos.cms.futurecdn.net/cUbu4DH5JpAkw4y8BVDcFB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>What does spending $700 on the Jabra Evolve3 85 get you? A boomless mic with AI noise cancellation that ensures the person on the other end of the phone (or laptop) can hear only you. Crystal clear vocals that make your colleagues sound just like they do in person. A wide soundstage for when you want to listen to your favorite tunes. Up to 120 hours of battery life and a sleek charging pad.</p><p>The Evolve3 85 is an exceptional headset, and one I didn’t expect to love as much as I do now. While its premium price tag is a little hard to stomach, it’s worth paying the price if you want refined and rich sound quality as well as monster battery life, all packed into a comfortable design. I’m almost tempted to make the Evolve3 85 my daily driver at work!</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Nothing Headphone (a) review: Another sci-fi slam-dunk, but a few sound-related issues ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Nothing Headphone (a) are some of the most exciting new headphones on the market right now. I’m so sick of audio brands making boring — sorry, “discreet” — headphones that look like every other pair of over-ears. I respect a brand that goes above and beyond to make visually interesting tech, so I couldn’t wait to get my hands on the Headphone (a). </p><p>But is this enough to make them some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> you can get? Hmm, well, it depends. Yes, if you wouldn’t class yourself as an audiophile and you just want some funky cans to vibe out to. On the other hand, if you take music quality super seriously, then I’d recommend something else. </p><p>At the end of the day, $199/£149 is a solidly mid-range price, and is a heck of a lot cheaper than Bose and Apple’s competition. Want to find out more? Of course you do. Keep reading this Nothing Headphone (a) review. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-cheat-sheet"><span>Nothing Headphone (a) review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>Nothing’s newest flagship headphones</li><li><strong>What does it cost? </strong><a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149</a></li><li><strong>What do we like? </strong>They’re so cool</li><li><strong>What don’t we like? </strong>I wish the soundstage was a little wider</li></ul><h2 class="article-body__section" id="section-nothing-headphone-a-review-specs"><span>Nothing Headphone (a) review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes </p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP52</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>135 hours / 75 hours (ANC on) </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>10.9 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>7 x 3.1 7.6 inches</p><p><br></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>White, pink/white, yellow/white, black</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>iOS, Android </p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-nothing-headphone-a-review-price-availability"><span>Nothing Headphone (a) review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BfLbKqdEAoHbtuimvbdahK" name="Nothing Headphone (a)011.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/BfLbKqdEAoHbtuimvbdahK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Nothing Headphone (a) are <a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199 from Amazon U.S.</a> and <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149 from Amazon U.K.</a>. This is a pretty standard midrange price, but similar cans can set you back upwards of $300. </p><p>The <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-headphones">Bose QuietComfort Headphones</a> (not Ultra) are $359, the <a href="https://www.tomsguide.com/audio/headphones/soundcore-space-one-pro">Soundcore Space One Pro</a> are $199, and the 3-year-old <a href="https://www.tomsguide.com/opinion/i-test-headphones-and-these-dollar149-sony-noise-cancelers-are-really-all-you-need">Sony WH-CH720N</a> are $179. You can also get the detail-forward <a href="https://www.tomsguide.com/audio/over-ear-headphones/cambridge-audio-melomania-p100-se-review">Cambridge Melomania SE P100</a> for $299, which might be better for more traditional ‘Hi-Fi’ lovers. </p><p>I’m not overly enamored with the Headphone (a)’s Bluetooth sound quality, but if you’re looking for fashion-forward design without breaking the bank, these cans might be a better option over these alternatives. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-design-controls"><span>Nothing Headphone (a) review: Design & controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2XabHcSWvs5WfhyprXFSiK" name="Nothing Headphone (a)018.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/2XabHcSWvs5WfhyprXFSiK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Stylish, fashion-forward design, although divisive </strong></li><li><strong>Easy-to-use, intuitive, and unique on-cup controls </strong></li><li><strong>Quite clampy </strong></li></ul><p>There’s no doubt about it: the Headphone (a) are a Nothing product, and you’d be able to tell from one minute glance. Nothing has really mastered its unique design, combining eye-grabbing, sci-fi aesthetics, with intuitive and user-friendly controls. </p><p>The Headphone (a) come in four colors: black, white, pink/white, and pink/yellow. I tested the white, but if I were buying for myself, I would probably get the pink. It’s like if a 22nd-Century robot and Marie Antoinette had a weird, shouldn’t-work-but-does baby. </p><p>That being said, if you’re of the futuristic-aesthetic opinion, you’d be so impressed with the Headphone (a). However, if you’re more of a traditionalist and you want the classic black, discreet earcups vibe, these probably aren’t the cans for you. </p><p>Personally, I love how the Headphone (a) look, and I wish more audio brands were confident enough to play around with design. I want to see how far these manufacturers can push it. Maybe not as far as Dyson pushed it, though — I<a href="https://www.tomsguide.com/reviews/dyson-zone"> don’t think I need a face mask with my headphones, thank you very much</a>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RDhFoJzoHZu2Y5UFUXRahK" name="Nothing Headphone (a)008.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/RDhFoJzoHZu2Y5UFUXRahK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls are just as boundary-breaking, too. Instead of your standard buttons on the cups or — god forbid — touch ‘areas’ (that always mean a gust of wind pauses my music), the Nothing Headphone (a) utilize two funky little controls: a roller and a paddle. Yes, think back to when you went to soft play areas as a kid. Remember those abacus-like toys installed on random climbing walls? The roller is basically like the adult version of that. </p><p>If you couldn’t tell from its name, the roller controls your volume by rolling. You get to roll up or down to adjust volume, or hold it down to cycle through the (two) ANC settings. How fun is that? </p><p>You also get a paddle, which is for skipping tracks and answering calls. I found both of these buttons really fun <em>and </em>functional — you don’t have to memorize which identical-feeling button corresponds to which control. Both the buttons are instantly distinguishable. I’m a huge fan of this, and hope other audio brands are paying attention. </p><p>I will say that the overall <em>fit</em> isn’t ideal. I found the headphones a touch clampy, like a Cyberman in Doctor Who. They’re not aggressively uncomfortable, but if you’ve got a particularly sensitive head, you might be better off with the lighter Soundcore Space One Pro. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-features-connectivity"><span>Nothing Headphone (a) review: Features & connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zaJFttfvoMmsYrKhFuKvhK" name="Nothing Headphone (a)022.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/zaJFttfvoMmsYrKhFuKvhK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Built-in ChatGPT and Nothing Space, but these features are useless to me </strong></li><li><strong>Bluetooth 5.4 </strong></li><li><strong>Multipoint </strong></li></ul><p>The Nothing Headphone (a) have a range of “smart” features — like ChatGPT integration and AI functionality with Nothing phones — but does anyone ever actually use this? I never feel the urge to ask ChatGPT for advice when I’m wearing my headphones. I just use my noggin. I never use the heart rate monitor on my <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>. My social anxiety is way too crippling for me to use Live Translator in real life. But, at the end of the day, these are all cool features to have should you desire them. It’s nice that they’re there, right? </p><p>If you’ve got a compatible phone or a Nothing phone, you get access to LDAC, a hi-res streaming codec. I tested this and found it produced a cleaner, clearer sound profile to the standard AAC. However, this is Android-only, so Apple users, move along, please. </p><p>Android users are kind of spoiled, here: you also get Google Fast Pair, which I tested with my Samsung Galaxy S25+ and found it worked seamlessly. This is great, should you switch between devices often. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BnpSH9EnnVur3zj9YA5vhK" name="Nothing Headphone (a)002.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/BnpSH9EnnVur3zj9YA5vhK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But one thing that <em>everyone</em> can make use of is the Nothing Headphone (a)’s sparkling IP52 rating. Most over-ear headphones (especially around $200) don’t really have an IP rating — the Soundcore Space One Pro, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition</a> — so I’m surprised to see it here. Heck, even the Bose QuietComfort Headphones and Sony WH-1000XM6 don’t have an IP rating. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a> are IP54-rated, but cost a huge $1,199. The Nothing Headphone (a) are actually the first over-ears I’ve ever tested with an IP rating. </p><p>The IP52 rating isn’t overly impressive compared to the ratings usually found on earbuds — like the <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Samsung Galaxy Buds 4 Pro</a>’s IP57 rating — but it means the headphones are protected against sweat and light drizzle, although not heavy downpours. </p><p>In terms of connectivity, the Headphone (a) have Bluetooth 5.4, which isn’t as up-to-date as the Bluetooth 6.1 we just saw on Samsung’s newest Galaxy Buds, but is at least an upgrade on Apple’s odd predilection for including Bluetooth 5.3 on flagship headphones in… *checks notes* 2026. </p><p>In reality, Bluetooth 5.4 means you get up to 800 feet of range. In reality, I was able to get down the stairs, the entire way across the office, and back upstairs on the other side of the building without the headphones disconnecting. This is really impressive. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-sound-quality"><span>Nothing Headphone (a) review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bbpoU45ERFd4wa5JtsLChK" name="Nothing Headphone (a)007.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/bbpoU45ERFd4wa5JtsLChK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Soundscape can feel cluttered</strong></li><li><strong>Great vocals and electronic genres are clear</strong></li><li><strong>Rock/metal fans might be left wanting </strong></li></ul><p>Of course, I will go into more detail about the sonic performance, but in a nutshell, the Headphone (a) sounds like how a diet of unseasoned mashed potato might taste. Good; will keep you alive, but it won’t exactly fill you with life-altering zeal and zest and zing and all those emotions that make life worth living. You might be a bit happier if your mash had a shedload of heavy cream and salt, but, again, your body wouldn’t exactly flourish. </p><p>This is how I feel about the Headphone (a). I don’t hate them, but I also don’t love them either. There’s something missing, some <em>je ne sais quois</em>, some indistinguishable essence. The bass performance is where most of the issues lie: there’s no complexity to the low-end. When I was testing these cans, I was craving <em>more</em>. Exactly like if I ate nothing but mashed potato. I’d always be craving something more. </p><p>I listened via Bluetooth on my <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-16-pro-review">iPhone 16 Pro</a>, LDAC on my <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s25-plus-review-no-mans-land">Samsung Galaxy S25+</a>, and wired. I’ll discuss all three of these playback styles here. </p><p>When I listened via the provided 3.5mm aux cable on my MacBook Air M2, I was more impressed than wireless. ‘Man Made of Meat’ by Viagra Boys was raucous and unapologetic, with a heavy bassline pounding the track forward like a runaway steam train careening down a railroad, but there was a lack of complexity in the guitar-led soundscape. The vocals sounded excellent, though, and the stereo guitar effects were clear in each ear. I wish the headphones could juggle the difference between bass guitar and a deep rhythm guitar more deftly. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6rEK2xY7DitCXfNN98bdgK" name="Nothing Headphone (a)021.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/6rEK2xY7DitCXfNN98bdgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With LDAC enabled on my Samsung Galaxy S25+, the sound quality was much better, although it still can’t compete with the Bose QC Headphones ($359) or the Soundcore Space One Pro ($199). ‘Play Me’ by Fcukers was a little muddled at the top of the treble, as if the sound was underwater. However, the synth-led bassline was clear and melodic, and the vocals were supremely clear. It’s just a shame that the percussion pinched. </p><p>After, I switched to my iPhone 16 Pro to test with the basic AAC codec. I listened to ‘Convention’ by Julia Jacklin, which is an acoustic singer-songwriter track. The guitar plucks, and soft, emotive female vocal sounded great through the Headphone (a), but the sibilance in Jacklin’s voice bordered on harsh every now and then. I think the Headphone (a) handles acoustic tracks better than heavy rock or electronic songs, because the lack of bass means there’s less to get confused with, but then the treble gets overwhelmed, resulting in hissing.</p><p>If you’re upgrading from sub-$100 headphones and this is your first pair of “treat yo self” cans, I think you’ll get on with the Headphone (a) just fine. The style and features are super impressive for cans of this price. </p><p>However, if you’re used to things like Bose QC, AirPods Max, and <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, you might want to consider spending more for some premium flagship cans. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-anc"><span>Nothing Headphone (a) review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Sw8fngoZ6Eaut7Cu43JBgK" name="Nothing Headphone (a)010.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/Sw8fngoZ6Eaut7Cu43JBgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Two ANC modes: on, off, transparency </strong></li><li><strong>Middling ANC, not impressive nor useless</strong></li></ul><p>The ANC on the Nothing Headphone (a) is both nothing to write home about and also nothing to get up in arms about. I was able to hear myself typing and general office noises like chairs being pushed back and muffled conversations, but I was in enough of my own bubble not to really pay this any mind.</p><p>When I wore these headphones in the city, I could hear a decent amount of car noise, but general chatter was mostly silenced. I suppose this is good for not getting hit by cars in a busy city, but these headphones certainly don’t have the same industry-leading ANC you’d find on Bose cans. </p><p>If you’ll be using these headphones primarily for public transport or in loud environments, you might be better off with some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-cancelling headphones</a>, like the Bose QuietComfort Headphones or the Sony WH-1000XM6. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-app"><span>Nothing Headphone (a) review: App</span></h2><ul><li><strong>NothingX app </strong></li><li><strong>Tons of (rather confusing) EQ adjustments </strong></li><li><strong>Need to switch on dual device connection in the app </strong></li></ul><p>Unlike other headphones I’ve tested, if you want to activate multipoint, you have to toggle it on in the Nothing X app. Usually, you only have to connect to your earbuds/headphones on one device, then connect on the second one (usually after following a vaguely confusing course of button-mashing). Not with the Headphone (a). You have to physically activate multipoint in the app. </p><p>Once I did this, though, multipoint was great, as you’ll have read in my ‘Features & connectivity’ section above. </p><p>There are loads of other features in the Nothing X app: EQ adjustment, headphone locating, toggling between ANC modes, adjusting controls, and more. Here are some screenshots so you can see. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tnACjL8Q4ifX5KzRVV8xWi" name="nothing headphone a screenshotsd" alt="three screenshots from the nothing x app showing headphone (a) customization options" src="https://cdn.mos.cms.futurecdn.net/tnACjL8Q4ifX5KzRVV8xWi.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nothing / Future)</span></figcaption></figure><p>I really like the Nothing X app. Thankfully, it’s very easy to navigate and not overwhelming for those unfamiliar with Nothing’s ecosystem. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-call-quality"><span>Nothing Headphone (a) review: Call quality</span></h2><ul><li><strong>Decent call quality, but not amazing </strong></li><li><strong>Good at silencing ambient noise </strong></li><li><strong>2 mics </strong></li></ul><p>To test the call quality on the Nothing Headphone (a), I called my boyfriend. He’s been the callee on every pair of headphones/earbuds I’ve ever tested, so he’s a great test subject. </p><p>He said that while my voice was audible and intelligible, I was a little muffled, as if I were mumbling. My daily drivers  — <a href="https://www.tomsguide.com/reviews/airpods-pro-2-review">AirPods Pro 2</a> — made my voice much clearer. However, he said the traffic noise around me was completely silent, which is great if you call in busy areas. I’d say these cans are good enough for everyday, but I’d leave professional calls or important meetings to flagship options. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-battery"><span>Nothing Headphone (a) review: Battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LHBkRMSbcXuMXTA9VbKJgK" name="Nothing Headphone (a)009.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/LHBkRMSbcXuMXTA9VbKJgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>A mindblowing 135-hour battery life </strong></li><li><strong>Which goes down to 75 with ANC on </strong></li><li><strong>Still phenomenal!</strong></li></ul><p>The most attention-grabbing feature of all is, without a doubt, the awesome 135-hour battery life. I’ve seen or tested headphones close to this degree of battery life before — the unkillable <a href="https://www.tomsguide.com/audio/headphones/earfun-tune-pro-review">EarFun Tune Pro</a>, which last for 120 hours, or the Cambridge Audio Melomania P100 SE, which can go for 100 hours — but nothing matching the Headphone (a). This battery life is incomprehensible, incomparable. There are no other cans — that I know of, anyway — that can outlast the Headphone (a). </p><p>I used them for 24 hours and the battery went down to 85%. This is a crazy good battery life, and one of the main USPs of these headphones. Big thumbs up from me. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-verdict"><span>Nothing Headphone (a) review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LAVhRQ5nMv9MN6b6gJeAgK" name="Nothing Headphone (a)014.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/LAVhRQ5nMv9MN6b6gJeAgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you want super-stylish, fashion-forward, sci-fi headphones, you won’t be disappointed by the Nothing Headphone (a). They are seriously some of the coolest cans I’ve ever had the pleasure of putting on my head. While I was wearing them around the city, I felt like a model (well, that’s hyperbole, but you get the gist). </p><p>Although the sound quality leaves something to be desired, if you’ve got an LDAC-compatible Android or Nothing phone, you will probably be more impressed than if you’re an iPhone user. I wish the soundscape was a little wider and more detailed, but the vocals drive the tracks enough for this to be ignored if you value style more. </p><p>So while these might not be the perfect headphones for me, if you want to look cool and ultramodern and you’ve got an LDAC-compatible phone, they might be the best option for you. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/nothing-headphone-a-review</link>
                                                                            <description>
                            <![CDATA[ The Nothing Headphone (a) are some of the coolest headphones I’ve ever seen, but the narrow soundstage might put off serious audiophiles. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XBfA7C7KXs4BohUMwrvpnB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dje3eLeDSt7HXtZ4sGLnhK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 22 Mar 2026 12:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 01 May 2026 14:54:12 +0000</updated>
                                                                                                                                            <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ erin.bashford@futurenet.com (Erin Bashford) ]]></author>                    <dc:creator><![CDATA[ Erin Bashford ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rLvJvJVZx43hEzSsJy3BpL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Erin Bashford is a senior reviews writer at Tom’s Guide. She has a Master’s in Broadcast and Digital Journalism from the University of East Anglia and 7 years of experience reviewing music and events for various publications. She has edited publications such as Outline Magazine’s Guide to Norwich, and she has written for a number of music magazines and websites such as Clash Magazine, Outline Magazine and Dork Magazine. She has a strong interest in audio gear and the music world. &lt;/p&gt;&lt;p&gt;As an ex-barista, Erin is passionate about coffee tech. She also loves finding the best cooking hacks and kitchen appliances, including her beloved Instant Pot. &lt;/p&gt;&lt;p&gt;In her spare time, you can find her reading, practising yoga, hiking, writing fantasy novels, or stressing over NYT Games.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/dje3eLeDSt7HXtZ4sGLnhK-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the nothing headphone (a) photographed against the blue tom&#039;s guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack]]></media:description>                                                            <media:text><![CDATA[the nothing headphone (a) photographed against the blue tom&#039;s guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack]]></media:text>
                                <media:title type="plain"><![CDATA[the nothing headphone (a) photographed against the blue tom&#039;s guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dje3eLeDSt7HXtZ4sGLnhK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Nothing Headphone (a) are some of the most exciting new headphones on the market right now. I’m so sick of audio brands making boring — sorry, “discreet” — headphones that look like every other pair of over-ears. I respect a brand that goes above and beyond to make visually interesting tech, so I couldn’t wait to get my hands on the Headphone (a). </p><p>But is this enough to make them some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> you can get? Hmm, well, it depends. Yes, if you wouldn’t class yourself as an audiophile and you just want some funky cans to vibe out to. On the other hand, if you take music quality super seriously, then I’d recommend something else. </p><p>At the end of the day, $199/£149 is a solidly mid-range price, and is a heck of a lot cheaper than Bose and Apple’s competition. Want to find out more? Of course you do. Keep reading this Nothing Headphone (a) review. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-cheat-sheet"><span>Nothing Headphone (a) review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>Nothing’s newest flagship headphones</li><li><strong>What does it cost? </strong><a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149</a></li><li><strong>What do we like? </strong>They’re so cool</li><li><strong>What don’t we like? </strong>I wish the soundstage was a little wider</li></ul><h2 class="article-body__section" id="section-nothing-headphone-a-review-specs"><span>Nothing Headphone (a) review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Yes </p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>IP52</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>135 hours / 75 hours (ANC on) </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>10.9 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>7 x 3.1 7.6 inches</p><p><br></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>White, pink/white, yellow/white, black</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>iOS, Android </p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-nothing-headphone-a-review-price-availability"><span>Nothing Headphone (a) review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BfLbKqdEAoHbtuimvbdahK" name="Nothing Headphone (a)011.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/BfLbKqdEAoHbtuimvbdahK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Nothing Headphone (a) are <a href="https://www.amazon.com/Nothing-Headphone-Cancelling-Headphones-Bluetooth/dp/B0G6L57FHV" target="_blank" rel="nofollow">$199 from Amazon U.S.</a> and <a href="https://www.amazon.co.uk/Nothing-Headphone-Wireless-Headphones-Cancelling/dp/B0G6L57FHV" target="_blank" rel="nofollow">£149 from Amazon U.K.</a>. This is a pretty standard midrange price, but similar cans can set you back upwards of $300. </p><p>The <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-headphones">Bose QuietComfort Headphones</a> (not Ultra) are $359, the <a href="https://www.tomsguide.com/audio/headphones/soundcore-space-one-pro">Soundcore Space One Pro</a> are $199, and the 3-year-old <a href="https://www.tomsguide.com/opinion/i-test-headphones-and-these-dollar149-sony-noise-cancelers-are-really-all-you-need">Sony WH-CH720N</a> are $179. You can also get the detail-forward <a href="https://www.tomsguide.com/audio/over-ear-headphones/cambridge-audio-melomania-p100-se-review">Cambridge Melomania SE P100</a> for $299, which might be better for more traditional ‘Hi-Fi’ lovers. </p><p>I’m not overly enamored with the Headphone (a)’s Bluetooth sound quality, but if you’re looking for fashion-forward design without breaking the bank, these cans might be a better option over these alternatives. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-design-controls"><span>Nothing Headphone (a) review: Design & controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2XabHcSWvs5WfhyprXFSiK" name="Nothing Headphone (a)018.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/2XabHcSWvs5WfhyprXFSiK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Stylish, fashion-forward design, although divisive </strong></li><li><strong>Easy-to-use, intuitive, and unique on-cup controls </strong></li><li><strong>Quite clampy </strong></li></ul><p>There’s no doubt about it: the Headphone (a) are a Nothing product, and you’d be able to tell from one minute glance. Nothing has really mastered its unique design, combining eye-grabbing, sci-fi aesthetics, with intuitive and user-friendly controls. </p><p>The Headphone (a) come in four colors: black, white, pink/white, and pink/yellow. I tested the white, but if I were buying for myself, I would probably get the pink. It’s like if a 22nd-Century robot and Marie Antoinette had a weird, shouldn’t-work-but-does baby. </p><p>That being said, if you’re of the futuristic-aesthetic opinion, you’d be so impressed with the Headphone (a). However, if you’re more of a traditionalist and you want the classic black, discreet earcups vibe, these probably aren’t the cans for you. </p><p>Personally, I love how the Headphone (a) look, and I wish more audio brands were confident enough to play around with design. I want to see how far these manufacturers can push it. Maybe not as far as Dyson pushed it, though — I<a href="https://www.tomsguide.com/reviews/dyson-zone"> don’t think I need a face mask with my headphones, thank you very much</a>. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RDhFoJzoHZu2Y5UFUXRahK" name="Nothing Headphone (a)008.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/RDhFoJzoHZu2Y5UFUXRahK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls are just as boundary-breaking, too. Instead of your standard buttons on the cups or — god forbid — touch ‘areas’ (that always mean a gust of wind pauses my music), the Nothing Headphone (a) utilize two funky little controls: a roller and a paddle. Yes, think back to when you went to soft play areas as a kid. Remember those abacus-like toys installed on random climbing walls? The roller is basically like the adult version of that. </p><p>If you couldn’t tell from its name, the roller controls your volume by rolling. You get to roll up or down to adjust volume, or hold it down to cycle through the (two) ANC settings. How fun is that? </p><p>You also get a paddle, which is for skipping tracks and answering calls. I found both of these buttons really fun <em>and </em>functional — you don’t have to memorize which identical-feeling button corresponds to which control. Both the buttons are instantly distinguishable. I’m a huge fan of this, and hope other audio brands are paying attention. </p><p>I will say that the overall <em>fit</em> isn’t ideal. I found the headphones a touch clampy, like a Cyberman in Doctor Who. They’re not aggressively uncomfortable, but if you’ve got a particularly sensitive head, you might be better off with the lighter Soundcore Space One Pro. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-features-connectivity"><span>Nothing Headphone (a) review: Features & connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zaJFttfvoMmsYrKhFuKvhK" name="Nothing Headphone (a)022.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/zaJFttfvoMmsYrKhFuKvhK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Built-in ChatGPT and Nothing Space, but these features are useless to me </strong></li><li><strong>Bluetooth 5.4 </strong></li><li><strong>Multipoint </strong></li></ul><p>The Nothing Headphone (a) have a range of “smart” features — like ChatGPT integration and AI functionality with Nothing phones — but does anyone ever actually use this? I never feel the urge to ask ChatGPT for advice when I’m wearing my headphones. I just use my noggin. I never use the heart rate monitor on my <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>. My social anxiety is way too crippling for me to use Live Translator in real life. But, at the end of the day, these are all cool features to have should you desire them. It’s nice that they’re there, right? </p><p>If you’ve got a compatible phone or a Nothing phone, you get access to LDAC, a hi-res streaming codec. I tested this and found it produced a cleaner, clearer sound profile to the standard AAC. However, this is Android-only, so Apple users, move along, please. </p><p>Android users are kind of spoiled, here: you also get Google Fast Pair, which I tested with my Samsung Galaxy S25+ and found it worked seamlessly. This is great, should you switch between devices often. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BnpSH9EnnVur3zj9YA5vhK" name="Nothing Headphone (a)002.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/BnpSH9EnnVur3zj9YA5vhK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>But one thing that <em>everyone</em> can make use of is the Nothing Headphone (a)’s sparkling IP52 rating. Most over-ear headphones (especially around $200) don’t really have an IP rating — the Soundcore Space One Pro, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition</a> — so I’m surprised to see it here. Heck, even the Bose QuietComfort Headphones and Sony WH-1000XM6 don’t have an IP rating. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones">Bang & Olufsen Beoplay H95</a> are IP54-rated, but cost a huge $1,199. The Nothing Headphone (a) are actually the first over-ears I’ve ever tested with an IP rating. </p><p>The IP52 rating isn’t overly impressive compared to the ratings usually found on earbuds — like the <a href="https://www.tomsguide.com/audio/earbuds/samsung-galaxy-buds-4-pro-review">Samsung Galaxy Buds 4 Pro</a>’s IP57 rating — but it means the headphones are protected against sweat and light drizzle, although not heavy downpours. </p><p>In terms of connectivity, the Headphone (a) have Bluetooth 5.4, which isn’t as up-to-date as the Bluetooth 6.1 we just saw on Samsung’s newest Galaxy Buds, but is at least an upgrade on Apple’s odd predilection for including Bluetooth 5.3 on flagship headphones in… *checks notes* 2026. </p><p>In reality, Bluetooth 5.4 means you get up to 800 feet of range. In reality, I was able to get down the stairs, the entire way across the office, and back upstairs on the other side of the building without the headphones disconnecting. This is really impressive. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-sound-quality"><span>Nothing Headphone (a) review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bbpoU45ERFd4wa5JtsLChK" name="Nothing Headphone (a)007.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/bbpoU45ERFd4wa5JtsLChK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Soundscape can feel cluttered</strong></li><li><strong>Great vocals and electronic genres are clear</strong></li><li><strong>Rock/metal fans might be left wanting </strong></li></ul><p>Of course, I will go into more detail about the sonic performance, but in a nutshell, the Headphone (a) sounds like how a diet of unseasoned mashed potato might taste. Good; will keep you alive, but it won’t exactly fill you with life-altering zeal and zest and zing and all those emotions that make life worth living. You might be a bit happier if your mash had a shedload of heavy cream and salt, but, again, your body wouldn’t exactly flourish. </p><p>This is how I feel about the Headphone (a). I don’t hate them, but I also don’t love them either. There’s something missing, some <em>je ne sais quois</em>, some indistinguishable essence. The bass performance is where most of the issues lie: there’s no complexity to the low-end. When I was testing these cans, I was craving <em>more</em>. Exactly like if I ate nothing but mashed potato. I’d always be craving something more. </p><p>I listened via Bluetooth on my <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-16-pro-review">iPhone 16 Pro</a>, LDAC on my <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s25-plus-review-no-mans-land">Samsung Galaxy S25+</a>, and wired. I’ll discuss all three of these playback styles here. </p><p>When I listened via the provided 3.5mm aux cable on my MacBook Air M2, I was more impressed than wireless. ‘Man Made of Meat’ by Viagra Boys was raucous and unapologetic, with a heavy bassline pounding the track forward like a runaway steam train careening down a railroad, but there was a lack of complexity in the guitar-led soundscape. The vocals sounded excellent, though, and the stereo guitar effects were clear in each ear. I wish the headphones could juggle the difference between bass guitar and a deep rhythm guitar more deftly. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6rEK2xY7DitCXfNN98bdgK" name="Nothing Headphone (a)021.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/6rEK2xY7DitCXfNN98bdgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With LDAC enabled on my Samsung Galaxy S25+, the sound quality was much better, although it still can’t compete with the Bose QC Headphones ($359) or the Soundcore Space One Pro ($199). ‘Play Me’ by Fcukers was a little muddled at the top of the treble, as if the sound was underwater. However, the synth-led bassline was clear and melodic, and the vocals were supremely clear. It’s just a shame that the percussion pinched. </p><p>After, I switched to my iPhone 16 Pro to test with the basic AAC codec. I listened to ‘Convention’ by Julia Jacklin, which is an acoustic singer-songwriter track. The guitar plucks, and soft, emotive female vocal sounded great through the Headphone (a), but the sibilance in Jacklin’s voice bordered on harsh every now and then. I think the Headphone (a) handles acoustic tracks better than heavy rock or electronic songs, because the lack of bass means there’s less to get confused with, but then the treble gets overwhelmed, resulting in hissing.</p><p>If you’re upgrading from sub-$100 headphones and this is your first pair of “treat yo self” cans, I think you’ll get on with the Headphone (a) just fine. The style and features are super impressive for cans of this price. </p><p>However, if you’re used to things like Bose QC, AirPods Max, and <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>, you might want to consider spending more for some premium flagship cans. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-anc"><span>Nothing Headphone (a) review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Sw8fngoZ6Eaut7Cu43JBgK" name="Nothing Headphone (a)010.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/Sw8fngoZ6Eaut7Cu43JBgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Two ANC modes: on, off, transparency </strong></li><li><strong>Middling ANC, not impressive nor useless</strong></li></ul><p>The ANC on the Nothing Headphone (a) is both nothing to write home about and also nothing to get up in arms about. I was able to hear myself typing and general office noises like chairs being pushed back and muffled conversations, but I was in enough of my own bubble not to really pay this any mind.</p><p>When I wore these headphones in the city, I could hear a decent amount of car noise, but general chatter was mostly silenced. I suppose this is good for not getting hit by cars in a busy city, but these headphones certainly don’t have the same industry-leading ANC you’d find on Bose cans. </p><p>If you’ll be using these headphones primarily for public transport or in loud environments, you might be better off with some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-cancelling headphones</a>, like the Bose QuietComfort Headphones or the Sony WH-1000XM6. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-app"><span>Nothing Headphone (a) review: App</span></h2><ul><li><strong>NothingX app </strong></li><li><strong>Tons of (rather confusing) EQ adjustments </strong></li><li><strong>Need to switch on dual device connection in the app </strong></li></ul><p>Unlike other headphones I’ve tested, if you want to activate multipoint, you have to toggle it on in the Nothing X app. Usually, you only have to connect to your earbuds/headphones on one device, then connect on the second one (usually after following a vaguely confusing course of button-mashing). Not with the Headphone (a). You have to physically activate multipoint in the app. </p><p>Once I did this, though, multipoint was great, as you’ll have read in my ‘Features & connectivity’ section above. </p><p>There are loads of other features in the Nothing X app: EQ adjustment, headphone locating, toggling between ANC modes, adjusting controls, and more. Here are some screenshots so you can see. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tnACjL8Q4ifX5KzRVV8xWi" name="nothing headphone a screenshotsd" alt="three screenshots from the nothing x app showing headphone (a) customization options" src="https://cdn.mos.cms.futurecdn.net/tnACjL8Q4ifX5KzRVV8xWi.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nothing / Future)</span></figcaption></figure><p>I really like the Nothing X app. Thankfully, it’s very easy to navigate and not overwhelming for those unfamiliar with Nothing’s ecosystem. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-call-quality"><span>Nothing Headphone (a) review: Call quality</span></h2><ul><li><strong>Decent call quality, but not amazing </strong></li><li><strong>Good at silencing ambient noise </strong></li><li><strong>2 mics </strong></li></ul><p>To test the call quality on the Nothing Headphone (a), I called my boyfriend. He’s been the callee on every pair of headphones/earbuds I’ve ever tested, so he’s a great test subject. </p><p>He said that while my voice was audible and intelligible, I was a little muffled, as if I were mumbling. My daily drivers  — <a href="https://www.tomsguide.com/reviews/airpods-pro-2-review">AirPods Pro 2</a> — made my voice much clearer. However, he said the traffic noise around me was completely silent, which is great if you call in busy areas. I’d say these cans are good enough for everyday, but I’d leave professional calls or important meetings to flagship options. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-battery"><span>Nothing Headphone (a) review: Battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LHBkRMSbcXuMXTA9VbKJgK" name="Nothing Headphone (a)009.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/LHBkRMSbcXuMXTA9VbKJgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>A mindblowing 135-hour battery life </strong></li><li><strong>Which goes down to 75 with ANC on </strong></li><li><strong>Still phenomenal!</strong></li></ul><p>The most attention-grabbing feature of all is, without a doubt, the awesome 135-hour battery life. I’ve seen or tested headphones close to this degree of battery life before — the unkillable <a href="https://www.tomsguide.com/audio/headphones/earfun-tune-pro-review">EarFun Tune Pro</a>, which last for 120 hours, or the Cambridge Audio Melomania P100 SE, which can go for 100 hours — but nothing matching the Headphone (a). This battery life is incomprehensible, incomparable. There are no other cans — that I know of, anyway — that can outlast the Headphone (a). </p><p>I used them for 24 hours and the battery went down to 85%. This is a crazy good battery life, and one of the main USPs of these headphones. Big thumbs up from me. </p><h2 class="article-body__section" id="section-nothing-headphone-a-review-verdict"><span>Nothing Headphone (a) review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LAVhRQ5nMv9MN6b6gJeAgK" name="Nothing Headphone (a)014.JPG" alt="the nothing headphone (a) photographed against the blue tom's guide background, showing the transparent and white ear cups with red accents, the padded headband, and the accessories including 3.5mm jack" src="https://cdn.mos.cms.futurecdn.net/LAVhRQ5nMv9MN6b6gJeAgK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you want super-stylish, fashion-forward, sci-fi headphones, you won’t be disappointed by the Nothing Headphone (a). They are seriously some of the coolest cans I’ve ever had the pleasure of putting on my head. While I was wearing them around the city, I felt like a model (well, that’s hyperbole, but you get the gist). </p><p>Although the sound quality leaves something to be desired, if you’ve got an LDAC-compatible Android or Nothing phone, you will probably be more impressed than if you’re an iPhone user. I wish the soundscape was a little wider and more detailed, but the vocals drive the tracks enough for this to be ignored if you value style more. </p><p>So while these might not be the perfect headphones for me, if you want to look cool and ultramodern and you’ve got an LDAC-compatible phone, they might be the best option for you. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Not Bose or Sony —I tested these sub-$200 headphones a year ago and I still highly recommend them ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Look! It's a pair of over-ear headphones. It's so good-looking. It sounds so great. It's... not JBL, Bose or Sony?!</p><p>Over a year ago, I reviewed the <a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition</a> over-ear headphones. I awarded them a 4-star rating and Tom's Guide's Recommended award. When I was done reviewing them and they were sitting on my apartment's coffee table, my partner asked me if she could try them. Try them she did, and loved them as much as I did too (I'll stop speaking like Yoda now).</p><p>The Epic Lux Lab Editions are some of the coolest-looking cans I've had the pleasure of reviewing — or testing, even. They don't look like just any other pair of headphones, and they're extremely comfortable too. What I love even more is the sound quality, which is powerful and refined, with punchy bass and clean treble. Long battery life and the highly effective ANC make these a winner, and even a year after having tested them, I still recommend them wholeheartedly. Here's why.</p><div class="product"><a data-dimension112="244d72c6-78ab-42ce-aa7d-9590384ecc62" data-action="Deal Block" data-label="Epic Lux Lab Edition" data-dimension48="Epic Lux Lab Edition" data-dimension25="$199" href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:943px;"><p class="vanilla-image-block" style="padding-top:159.07%;"><img id="naab9kQoe9jnyUz73sJU8J" name="Jlab-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/naab9kQoe9jnyUz73sJU8J.jpg" mos="" align="middle" fullscreen="" width="943" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The JLab Epic Lux Lab Edition headphones pack a punch with their 32mm dynamic drivers that produce a wide soundstage, and you get active noise cancelation and up to 90 hours of battery life. Most genres sound fantastic and their plush earcups and mesh headband ensure you can keep listening for long periods of time.<a class="view-deal button" href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow" data-dimension112="244d72c6-78ab-42ce-aa7d-9590384ecc62" data-action="Deal Block" data-label="Epic Lux Lab Edition" data-dimension48="Epic Lux Lab Edition" data-dimension25="$199">View Deal</a></p></div><h2 id="oh-so-classy">Oh-so-classy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="L87nTdqgUmBVpTzcu6TGUi" name="JLab_Epic_Lux_Lab_Edition_ 5.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/L87nTdqgUmBVpTzcu6TGUi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I remember the first time I unboxed the JLab Epic Lux Lab Edition headphones like it was only yesterday. They clearly left an impression on me and it isn't difficult to see why. These are extremely good-looking, classy headphones. JLab is traditionally a budget brand, but these are the brand's "premium" headphones, and they certainly look the part — and like they cost more than $150.</p><div><blockquote><p>When I asked my partner what she thought of the Epic Lux Lab Editions, she said, 'These are the most comfy headphones I've ever used.'</p></blockquote></div><p>If you want minimalist headphones that look classy, the Epic Lux Lab Editions are the way to go. They sport an all-black design with some silver accents and tasteful branding on the earcups and headband. While they can't fold for easy transport, they're fairly comfortable to wear around your neck as they weigh just 10.58 ounces.</p><p>The light weight also means that you can wear them for hours on end without feeling weighed down. After all, what's the point in spending <em>any </em>amount of money on cans if you can't use them all day long? The Epic Lux Lab Editions' headband is made of a soft mesh material while the ear cushions are made of "cloud foam" or plush faux leather. The ear cushions feel very snug and comfortable, and it feels like your ears are resting against clouds — so JLab was clearly on to something when it called the material "cloud foam."</p><p>Overall, the Epic Lux Lab Editions are supremely comfortable. While writing this article, I wore them and then swapped to my Marshall Monitor IIIs and then back to the JLabs, and I felt like both headphones were on-par with one another in terms of comfort, which is excellent. When I asked my partner what she thought of the Epic Lux Lab Editions, she said, "These are the most comfy headphones I've ever used," so there's that.</p><h2 id="block-out-the-noise">Block out the noise</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="94ZW4uNhn6k7YPiMtA43Wi" name="JLab_Epic_Lux_Lab_Edition_ 10.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/94ZW4uNhn6k7YPiMtA43Wi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Similar to how there's no point in buying headphones that aren't comfortable, it's also a waste of your money if those headphones don't sound excellent — and for the most part, the JLab Epic Lux Lab Editions sound excellent and balanced. They're fitted with 32mm dynamic drivers which provide a wide soundstage and cover a wide frequency response range (20Hz-40KHz), so you can hear the sub-bass and upper ranges well.</p><p>The Epic Lux Lab Editions are outstanding for detailed listening. Every single <em>ka-ching </em>in Pink Floyd's 'Money' sound crisp and packed full of detail, and directional audio means that you can hear the sound travel from one earcup to the other, creating an immersive soundscape.</p><p>As someone who loves discovering new sounds in songs I love, I thoroughly appreciated being able to hear the drumsticks hitting the set's frame throughout 'Minority' by Green Day. The bass is hella punchy while the treble is crisp and never overzealous. Plosives and sibilance sound very clean too, and words never bleed into one another in vocal tracks.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8vcvo254tMLGv5wNVAFDXi" name="JLab_Epic_Lux_Lab_Edition_ 2.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/8vcvo254tMLGv5wNVAFDXi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In addition to the lovely sound quality, the Epic Lux Lab Editions boast highly effective active noise cancellation (ANC) too. I highly recommend utilizing ANC when you're on your daily commute so that you can block out the world and simply focus on your Wordle or catching up on the news — or if you just want to focus when you're in the office without being disturbed.</p><p>While the ANC I think is awesome, my partner said, "Overall, the ANC is really good and I really like that I can feel immersed in the task I'm doing or the music I'm listening to, but when I'm listening to podcasts, external noise does manage to creep in when I'm walking through town, which can be a bit disruptive." ANC will be subjective depending on your ears, so keep that in mind.</p><h2 id="loooooong-battery-life">Loooooong battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CzhcvKbtCUuNC3VTK5wvVi" name="JLab_Epic_Lux_Lab_Edition_ 8.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/CzhcvKbtCUuNC3VTK5wvVi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On top of it all, the JLab Epic Lux Lab Editions boast long battery life too: 90 hours with ANC off, and 60 hours with ANC on. For the price, I think that's amazing. The headphones come with a really cool magnetic charging pad as well, if you want to charge them wirelessly, so you can have them on display and show them off if that's something you like doing.</p><p>I can't recommend the Epic Lux Lab Editions enough. I love them, my partner loves them, and I'm sure you'll love them too. They're priced at <a href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/JLab-Active-Noise-Cancelling-Headphones-Black/dp/B0DRDNJNTD/" target="_blank" rel="nofollow">£199</a>, and during sales events like Black Friday, you can find them for as little as $129 / £149! If Bose, Sony and JBL don't tickle your fancy, I have a feeling the Epic Lux Lab Editions will.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WVAb6e"></div>                            </div>                            <script src="https://kwizly.com/embed/WVAb6e.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition review: These $199 “luxury” headphones easily beat JBL and Beats</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">Best over-ear headphones in 2026</a></li></ul><div data-widget-type="review" data-model-name="JLab Epic Lux Lab Edition"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/not-bose-or-sony-i-tested-these-sub-usd200-headphones-a-year-ago-and-i-still-highly-recommend-them</link>
                                                                            <description>
                            <![CDATA[ A year ago, I tested the JLab Epic Lux Lab Edition over-ear headphones, and even today, I wholeheartedly recommend them for a number of reasons. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sM7VxbQTueQDvV7REJd7A4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kC6siR6S2Cwp2ScDKWL2Ti-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 19 Mar 2026 07:15:00 +0000</pubDate>                                                                                                                                <updated>Thu, 19 Mar 2026 09:54:55 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kC6siR6S2Cwp2ScDKWL2Ti-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black JLab Epic Lux Lab Edition over-ear headphones]]></media:description>                                                            <media:text><![CDATA[Black JLab Epic Lux Lab Edition over-ear headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Black JLab Epic Lux Lab Edition over-ear headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kC6siR6S2Cwp2ScDKWL2Ti-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Look! It's a pair of over-ear headphones. It's so good-looking. It sounds so great. It's... not JBL, Bose or Sony?!</p><p>Over a year ago, I reviewed the <a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition</a> over-ear headphones. I awarded them a 4-star rating and Tom's Guide's Recommended award. When I was done reviewing them and they were sitting on my apartment's coffee table, my partner asked me if she could try them. Try them she did, and loved them as much as I did too (I'll stop speaking like Yoda now).</p><p>The Epic Lux Lab Editions are some of the coolest-looking cans I've had the pleasure of reviewing — or testing, even. They don't look like just any other pair of headphones, and they're extremely comfortable too. What I love even more is the sound quality, which is powerful and refined, with punchy bass and clean treble. Long battery life and the highly effective ANC make these a winner, and even a year after having tested them, I still recommend them wholeheartedly. Here's why.</p><div class="product"><a data-dimension112="244d72c6-78ab-42ce-aa7d-9590384ecc62" data-action="Deal Block" data-label="Epic Lux Lab Edition" data-dimension48="Epic Lux Lab Edition" data-dimension25="$199" href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:943px;"><p class="vanilla-image-block" style="padding-top:159.07%;"><img id="naab9kQoe9jnyUz73sJU8J" name="Jlab-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/naab9kQoe9jnyUz73sJU8J.jpg" mos="" align="middle" fullscreen="" width="943" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The JLab Epic Lux Lab Edition headphones pack a punch with their 32mm dynamic drivers that produce a wide soundstage, and you get active noise cancelation and up to 90 hours of battery life. Most genres sound fantastic and their plush earcups and mesh headband ensure you can keep listening for long periods of time.<a class="view-deal button" href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow" data-dimension112="244d72c6-78ab-42ce-aa7d-9590384ecc62" data-action="Deal Block" data-label="Epic Lux Lab Edition" data-dimension48="Epic Lux Lab Edition" data-dimension25="$199">View Deal</a></p></div><h2 id="oh-so-classy">Oh-so-classy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="L87nTdqgUmBVpTzcu6TGUi" name="JLab_Epic_Lux_Lab_Edition_ 5.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/L87nTdqgUmBVpTzcu6TGUi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I remember the first time I unboxed the JLab Epic Lux Lab Edition headphones like it was only yesterday. They clearly left an impression on me and it isn't difficult to see why. These are extremely good-looking, classy headphones. JLab is traditionally a budget brand, but these are the brand's "premium" headphones, and they certainly look the part — and like they cost more than $150.</p><div><blockquote><p>When I asked my partner what she thought of the Epic Lux Lab Editions, she said, 'These are the most comfy headphones I've ever used.'</p></blockquote></div><p>If you want minimalist headphones that look classy, the Epic Lux Lab Editions are the way to go. They sport an all-black design with some silver accents and tasteful branding on the earcups and headband. While they can't fold for easy transport, they're fairly comfortable to wear around your neck as they weigh just 10.58 ounces.</p><p>The light weight also means that you can wear them for hours on end without feeling weighed down. After all, what's the point in spending <em>any </em>amount of money on cans if you can't use them all day long? The Epic Lux Lab Editions' headband is made of a soft mesh material while the ear cushions are made of "cloud foam" or plush faux leather. The ear cushions feel very snug and comfortable, and it feels like your ears are resting against clouds — so JLab was clearly on to something when it called the material "cloud foam."</p><p>Overall, the Epic Lux Lab Editions are supremely comfortable. While writing this article, I wore them and then swapped to my Marshall Monitor IIIs and then back to the JLabs, and I felt like both headphones were on-par with one another in terms of comfort, which is excellent. When I asked my partner what she thought of the Epic Lux Lab Editions, she said, "These are the most comfy headphones I've ever used," so there's that.</p><h2 id="block-out-the-noise">Block out the noise</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="94ZW4uNhn6k7YPiMtA43Wi" name="JLab_Epic_Lux_Lab_Edition_ 10.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/94ZW4uNhn6k7YPiMtA43Wi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Similar to how there's no point in buying headphones that aren't comfortable, it's also a waste of your money if those headphones don't sound excellent — and for the most part, the JLab Epic Lux Lab Editions sound excellent and balanced. They're fitted with 32mm dynamic drivers which provide a wide soundstage and cover a wide frequency response range (20Hz-40KHz), so you can hear the sub-bass and upper ranges well.</p><p>The Epic Lux Lab Editions are outstanding for detailed listening. Every single <em>ka-ching </em>in Pink Floyd's 'Money' sound crisp and packed full of detail, and directional audio means that you can hear the sound travel from one earcup to the other, creating an immersive soundscape.</p><p>As someone who loves discovering new sounds in songs I love, I thoroughly appreciated being able to hear the drumsticks hitting the set's frame throughout 'Minority' by Green Day. The bass is hella punchy while the treble is crisp and never overzealous. Plosives and sibilance sound very clean too, and words never bleed into one another in vocal tracks.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8vcvo254tMLGv5wNVAFDXi" name="JLab_Epic_Lux_Lab_Edition_ 2.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/8vcvo254tMLGv5wNVAFDXi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In addition to the lovely sound quality, the Epic Lux Lab Editions boast highly effective active noise cancellation (ANC) too. I highly recommend utilizing ANC when you're on your daily commute so that you can block out the world and simply focus on your Wordle or catching up on the news — or if you just want to focus when you're in the office without being disturbed.</p><p>While the ANC I think is awesome, my partner said, "Overall, the ANC is really good and I really like that I can feel immersed in the task I'm doing or the music I'm listening to, but when I'm listening to podcasts, external noise does manage to creep in when I'm walking through town, which can be a bit disruptive." ANC will be subjective depending on your ears, so keep that in mind.</p><h2 id="loooooong-battery-life">Loooooong battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CzhcvKbtCUuNC3VTK5wvVi" name="JLab_Epic_Lux_Lab_Edition_ 8.JPG" alt="Black JLab Epic Lux Lab Edition over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/CzhcvKbtCUuNC3VTK5wvVi.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On top of it all, the JLab Epic Lux Lab Editions boast long battery life too: 90 hours with ANC off, and 60 hours with ANC on. For the price, I think that's amazing. The headphones come with a really cool magnetic charging pad as well, if you want to charge them wirelessly, so you can have them on display and show them off if that's something you like doing.</p><p>I can't recommend the Epic Lux Lab Editions enough. I love them, my partner loves them, and I'm sure you'll love them too. They're priced at <a href="https://www.amazon.com/JLab-Epic-Wireless-Headphones-Graphite/dp/B0DRDNJNTD/" target="_blank" rel="nofollow">$199</a> / <a href="https://www.amazon.co.uk/JLab-Active-Noise-Cancelling-Headphones-Black/dp/B0DRDNJNTD/" target="_blank" rel="nofollow">£199</a>, and during sales events like Black Friday, you can find them for as little as $129 / £149! If Bose, Sony and JBL don't tickle your fancy, I have a feeling the Epic Lux Lab Editions will.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WVAb6e"></div>                            </div>                            <script src="https://kwizly.com/embed/WVAb6e.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/jlab-epic-lux-lab-edition-review">JLab Epic Lux Lab Edition review: These $199 “luxury” headphones easily beat JBL and Beats</a></li><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">Best over-ear headphones in 2026</a></li></ul><div data-widget-type="review" data-model-name="JLab Epic Lux Lab Edition"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple finally launches AirPods Max 2 — and the ANC improvements could be a game-changer ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's finally happened: Apple has revealed the AirPods Max 2. The company didn't hold an event or tease the announcement. Instead, a <a href="https://www.apple.com/newsroom/2026/03/apple-introduces-airpods-max-2-powered-by-h2/" target="_blank">post suddenly appeared on Apple's website</a> announcing the new model, which features the powerful H2 chip and vastly improved noise cancellation. </p><p>The company says the new AirPods Max 2 features better ANC, improved sound quality, and other intelligent features while maintaining the over-the-ear design for which Apple's most expensive headphones are known. And they're still expensive, coming with the same $549 price tag as the previous model.</p><h2 id="airpods-max-2-what-s-new">AirPods Max 2 — what's new?</h2><p>According to Apple, the H2 chip and new computational audio algorithms have allowed the cans to reach 1.5x more effective noise cancellation than the previous generation. For anyone who wants to keep the outside out while listening to high-quality music and podcasts, this could be a game-changer.</p><p>Beyond noise cancellation, Apple claims the headphones feature improved microphones that make the <a href="https://www.tomsguide.com/reference/how-to-use-airpods-pro/7">Transparency</a> sound even more natural. I've never liked the Transparency feature on AirPods, so I'd be curious to try the new and improved version to see how it is. </p><p>While most users will probably prefer Bluetooth, Apple also supports 24-bit, <a href="https://www.tomsguide.com/audio/airpods-max-is-getting-a-big-update-with-lossless-audio-and-ultra-low-latency-heres-how-it-works">48 kHz lossless audio</a> when connected via the included USB-C cable. For those willing to trade the convenience of wireless for sound quality, this could be a massive upgrade.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1960px;"><p class="vanilla-image-block" style="padding-top:66.73%;"><img id="snrTCZLdY4nhG6aqSg36W3" name="1773667713.jpg" alt="AirPods Max 2" src="https://cdn.mos.cms.futurecdn.net/snrTCZLdY4nhG6aqSg36W3.jpg" mos="" align="middle" fullscreen="" width="1960" height="1308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>And for the wireless crowd, AirPods Max 2 offers lower-latency wireless audio, making playing in <a href="https://www.tomsguide.com/phones/iphones/ios-18-game-mode-what-is-it-and-how-does-it-work">Game Mode</a> on iOS, macOS, and iPadOS games feel even more responsive and immersive.</p><p><a href="https://www.tomsguide.com/audio/i-dont-like-spatial-audio-heres-what-it-needs-to-do-to-wow-me">Spatial Audio</a> is also seeing improvements. The company promises improved instrument localization, more accurate and consistent bass response, and more natural-sounding mids and highs.</p><p>The microphones are also better, with Apple saying they include "studio-quality audio recording," which "allows interviewers, podcasters, singers, and other creators to record their content with higher-quality audio and more natural vocal texture." </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X1AaoX"></div>                            </div>                            <script src="https://kwizly.com/embed/X1AaoX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/5-signs-you-need-to-upgrade-your-headphones">5 signs you need to upgrade your wireless headphones</a></li><li><a href="https://www.tomsguide.com/feature/I-just-tested-skullcandy-aviator-900-anc-and-theyre-awesome-in-many-ways">I just tested Skullcandy’s high-end headphones and they’re awesome in so many ways</a></li><li><a href="https://www.tomsguide.com/opinion/5-ways-the-samsung-galaxy-buds-4-can-revive-the-series-and-beat-the-airpods">5 ways the Samsung Galaxy Buds 4 can revive the series and beat the AirPods</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/apple-finally-launches-airpods-max-2-and-the-anc-improvements-could-be-a-game-changer</link>
                                                                            <description>
                            <![CDATA[ It's been six long years since Apple launched a new pair of AirPods Max, but they're finally here. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bynVx6LXEhNGuXA577cph6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qqUU4mDyq5tQh3nZxsxwsF-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 16 Mar 2026 13:35:15 +0000</pubDate>                                                                                                                                <updated>Mon, 16 Mar 2026 13:38:55 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ dave.leclair@futurenet.com (Dave LeClair) ]]></author>                    <dc:creator><![CDATA[ Dave LeClair ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/fyx7qYdxPMTNBhdnMfNmaB.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave LeClair is the Senior News Editor for Tom&#039;s Guide, keeping his finger on the pulse of all things technology. He loves taking the complicated happenings in the tech world and explaining why they matter. Whether Apple is announcing the next big thing in the mobile space or a small startup advancing generative AI, Dave will apply his experience to help you figure out what&#039;s happening and why it&#039;s relevant to your life.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Before Tom&#039;s Guide, Dave worked for publications like PCMag, Pocket-lint, MUO, How-To Geek, Digital Trends, and others. He started writing about technology professionally for MUO in 2011 and hasn&#039;t looked back since. In addition to news, you can find reviews, how-to pieces, shopping guides, and many other types of content with Dave&#039;s name attached.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qqUU4mDyq5tQh3nZxsxwsF-1280-80.jpg">
                                                            <media:credit><![CDATA[Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[AirPods Max 2 colors]]></media:description>                                                            <media:text><![CDATA[AirPods Max 2 colors]]></media:text>
                                <media:title type="plain"><![CDATA[AirPods Max 2 colors]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qqUU4mDyq5tQh3nZxsxwsF-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's finally happened: Apple has revealed the AirPods Max 2. The company didn't hold an event or tease the announcement. Instead, a <a href="https://www.apple.com/newsroom/2026/03/apple-introduces-airpods-max-2-powered-by-h2/" target="_blank">post suddenly appeared on Apple's website</a> announcing the new model, which features the powerful H2 chip and vastly improved noise cancellation. </p><p>The company says the new AirPods Max 2 features better ANC, improved sound quality, and other intelligent features while maintaining the over-the-ear design for which Apple's most expensive headphones are known. And they're still expensive, coming with the same $549 price tag as the previous model.</p><h2 id="airpods-max-2-what-s-new">AirPods Max 2 — what's new?</h2><p>According to Apple, the H2 chip and new computational audio algorithms have allowed the cans to reach 1.5x more effective noise cancellation than the previous generation. For anyone who wants to keep the outside out while listening to high-quality music and podcasts, this could be a game-changer.</p><p>Beyond noise cancellation, Apple claims the headphones feature improved microphones that make the <a href="https://www.tomsguide.com/reference/how-to-use-airpods-pro/7">Transparency</a> sound even more natural. I've never liked the Transparency feature on AirPods, so I'd be curious to try the new and improved version to see how it is. </p><p>While most users will probably prefer Bluetooth, Apple also supports 24-bit, <a href="https://www.tomsguide.com/audio/airpods-max-is-getting-a-big-update-with-lossless-audio-and-ultra-low-latency-heres-how-it-works">48 kHz lossless audio</a> when connected via the included USB-C cable. For those willing to trade the convenience of wireless for sound quality, this could be a massive upgrade.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1960px;"><p class="vanilla-image-block" style="padding-top:66.73%;"><img id="snrTCZLdY4nhG6aqSg36W3" name="1773667713.jpg" alt="AirPods Max 2" src="https://cdn.mos.cms.futurecdn.net/snrTCZLdY4nhG6aqSg36W3.jpg" mos="" align="middle" fullscreen="" width="1960" height="1308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>And for the wireless crowd, AirPods Max 2 offers lower-latency wireless audio, making playing in <a href="https://www.tomsguide.com/phones/iphones/ios-18-game-mode-what-is-it-and-how-does-it-work">Game Mode</a> on iOS, macOS, and iPadOS games feel even more responsive and immersive.</p><p><a href="https://www.tomsguide.com/audio/i-dont-like-spatial-audio-heres-what-it-needs-to-do-to-wow-me">Spatial Audio</a> is also seeing improvements. The company promises improved instrument localization, more accurate and consistent bass response, and more natural-sounding mids and highs.</p><p>The microphones are also better, with Apple saying they include "studio-quality audio recording," which "allows interviewers, podcasters, singers, and other creators to record their content with higher-quality audio and more natural vocal texture." </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X1AaoX"></div>                            </div>                            <script src="https://kwizly.com/embed/X1AaoX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/5-signs-you-need-to-upgrade-your-headphones">5 signs you need to upgrade your wireless headphones</a></li><li><a href="https://www.tomsguide.com/feature/I-just-tested-skullcandy-aviator-900-anc-and-theyre-awesome-in-many-ways">I just tested Skullcandy’s high-end headphones and they’re awesome in so many ways</a></li><li><a href="https://www.tomsguide.com/opinion/5-ways-the-samsung-galaxy-buds-4-can-revive-the-series-and-beat-the-airpods">5 ways the Samsung Galaxy Buds 4 can revive the series and beat the AirPods</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Bang & Olufsen Beoplay H95 review: These six-year-old cans still crush it today ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ll admit it straight away: I’ve fallen head over heels in love with the Bang & Olufsen Beoplay H95 — in my opinion, some of the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a> on the premium market. Chief among the virtues of the H95 are their sublime sound quality: clear and expansive treble; punchy but detailed mids; rich yet supremely balanced bass; plus, a gloriously wide soundstage.</p><p>Better yet, the H95 are styled beautifully, with craftsmanship worthy of the Norse pantheon. Their leather earcups (sorry, vegans) and padded headband are extremely comfortable, and with an IP53 rating, you can stand getting caught in the rain.</p><p>Obviously, none of the above comes cheap — especially not when made by Bang & Olufsen. And letting the otherwise stellar show down slightly is the ANC, which, although not terrible, feels a little weak for a $1,200 set of cans.</p><p>Originally released in 2020, the H95 are still available in 2026, with updated colorways over the original models. So are they still worth buying? Find out more in my full Bang & Olufsen Beoplay H95 review.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-specs"><span>Bang & Olufsen Beoplay H95 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Comfortable-Wireless-Cancelling-Headphones-Protective/dp/B0916JNV9T" target="_blank" rel="nofollow">$1,199</a> | <a href="https://www.amazon.co.uk/Bang-Olufsen-Beoplay-H95-Cancellation-Black/dp/B0916JNV9T/" target="_blank" rel="nofollow">£879</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors available</strong></p></td><td  ><p>Black; blue; brown; white/gold</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm, electro-dynamic titanium</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20-22,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>USB-C; 3.5mm; Bluetooth</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-price-availability"><span>Bang & Olufsen Beoplay H95 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WP4cyDSF5vLzF867twh9QX" name="Bang and Olufsen H95--04" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/WP4cyDSF5vLzF867twh9QX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>$1,200 / £879 MSRP</strong></li><li><strong>Around the $850 / £600 with deals in 2026</strong></li><li><strong>Luxury finesse a cut above premium competition</strong></li></ul><p>The H95 were originally released back in 2020. The design hasn’t changed since, with the exception of colorways. In 2026, you can buy the H95 in blue, brown, black, or white/gold. I tested a slightly older model in white/silver, which are no longer stocked on the B&O site — but performance hasn’t changed.</p><p>As a rule, Bang & Olufsen gear doesn’t come cheap, and the Beoplay H95 are no exception. In the U.S., the <a href="https://www.amazon.com/Comfortable-Wireless-Cancelling-Headphones-Protective/dp/B0916JNV9T" target="_blank" rel="nofollow">H95 cost a whopping $1,199</a>, while in the U.K., although not quite as extremely priced, they still cost a buttock-clenching <a href="https://www.amazon.co.uk/Bang-Olufsen-Beoplay-H95-Cancellation-Black/dp/B0916JNV9T/" target="_blank" rel="nofollow">£879 at Amazon</a>. However, that's MSRP, and I've seen them drop as low as $850 in the States and £599 in Britain at the time of writing. </p><p>This puts the H95 way, <em>way</em> beyond much of our favorite premium closed-back competition. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Gen 2</a>, for example, cost a mere $449; while the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins PX7 S3</a> cost $479; and the <a href="https://www.tomsguide.com/reviews/apple-airpods-max">Apple AirPods Max</a> cost $549. We’re obviously into ultra-premium territory here, at least in the States, where the H95 compete with the $1,099 <a href="https://www.tomsguide.com/audio/i-just-tested-these-usd1-299-headphones-with-magnesium-drivers-and-they-could-be-your-next-pair-of-premium-anc-cans">Focal Bathys MG</a>. </p><p>So, is the steep price worth it over, say, the Bose QuietComfort Ultra Gen 2? Probably not. I use the Bose at work, and they’re fantastic. But it’s kinda like asking whether a Ferrari is worth buying over a BMW. <em>If</em> you have the money, the H95 give you a luxury finesse that’s just a cut above the rest.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-design-comfort"><span>Bang & Olufsen Beoplay H95 review: Design & comfort</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="CRii8WB5R4vZ4CkjCqYPQX" name="Bang and Olufsen H95--05" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/CRii8WB5R4vZ4CkjCqYPQX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Beautiful Scandi design and build quality</strong></li><li><strong>Very comfortable thanks to premium materials</strong></li><li><strong>Not for vegans</strong></li></ul><p>The B&O Beoplay H95 are gorgeous to behold, and then to actually hold, too. Aesthetically, they’re pure Scandi chic — simple, minimalist and contemporary. Despite the design being a few years old now, it hasn’t aged a day.</p><p>Build quality is phenomenal, partly thanks to the premium materials used: brushed aluminum for the structural bits, lambskin leather earcups, a combined leather and fabric headband — it’s all super luxurious. It isn’t just for show, though, and the H95 are well put together, too, feeling like a long-term investment. The construction is up there with the superbly crafted (and equally pricey) magnesium Focal Bathys, and a big step up over the rattly Bose QC Ultra Gen 2.</p><p>Unfortunately, there’s no faux-leather version, so vegans be warned! For vegan-friendly audiophile headphones, check out the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review"><u>FiiO FT13</u></a> ($329).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JGw6sNtvoRcwGVXuu7HMRX" name="Bang and Olufsen H95--07" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/JGw6sNtvoRcwGVXuu7HMRX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H95 come with a square, hard-shell aluminum carry case. It’s very protective, but it scratches extremely easily and is hella bulky — which renders it problematic when carrying around in your bag. After scratching my case up taking it to work, I now just leave it at home. I’d prefer a hardened fabric case, as on the Focal Bathys and Bose QC Ultra Gen 2. Thankfully, the H95 fold, so they’re easy to slot into a bag on their own… just avoid them getting crushed.</p><p>The H95 are IP53 rated, meaning they’re dust-protected (that’s the 5) and will hold up against light sprays of water (the 3). As such, you needn’t worry about getting caught in a rain shower. IPX3 also makes them sweatproof, although I’d question the sense of getting $1,200 headphones all stinky and sweaty. If you <em>will</em> be doing that, the earcups can at least be removed with a simple twist, then replaced… for $149 a go.</p><h4 id="comfort-6">Comfort</h4><p>Despite all the luxurious materials, the H95 still feel nice and light on the head, although I prefer a suspended headband setup — like that on the <a href="https://www.amazon.com/Audeze-Headphone-Version-Creator-Package/dp/B08ZR34S9T">Audeze LCD-X</a> ($1,099) — for the feeling of true weightlessness. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cDvh8DL4S2SUE7i7XQQkLX" name="Bang and Olufsen H95--11" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/cDvh8DL4S2SUE7i7XQQkLX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The leather earcups are super soft, with thick padding inside. The same is true for the fabric headband interior, too. I love the capacious depth of the earcups, meaning I’ve never felt my helixes touch the drivers. There’s a soft fabric gauze inside the earcups, which <em>is</em> in reach of my ears — but it’s silky soft, delicately thin and, being elasticated, extremely forgiving, so no issues there. I’ve worn the H95 for hours at a time with zero complaints.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-controls"><span>Bang & Olufsen Beoplay H95 review: Controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="y3WchbA3BQRbvdak4nYtLX" name="Bang and Olufsen H95--19" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/y3WchbA3BQRbvdak4nYtLX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Combination of physical and touch controls</strong></li><li><strong>Physical dials good but easy to knock</strong></li><li><strong>Touch controls surprisingly reliable</strong></li></ul><p>The H95 are operated via a combination of physical and touch controls. On each earcup is a dial. The left controls noise cancellation, allowing you to rotate between transparency mode and ANC, and then to dial in the amount of cancellation you want — different chimes let you know when in each mode, and when ANC is maxed. The right-hand dial controls volume. </p><p>Both are easy to use, even when walking, although I’d have liked a little more tension on the dials. I found it easy to knock them when adjusting the headset or repositioning my (long) hair.</p><p>Playback controls are assigned to the right earcup, which has a touch-sensitive face. A tap pauses/plays; a finger swipe towards your face skips a track; and a swipe towards the back of your head goes backward. I normally hate touch controls, but I’ve got on with these just fine. Weirdly, they’re less easy to knock and engage than the dials, yet I’ve never failed to trigger them when I want to. </p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-connectivity"><span>Bang & Olufsen Beoplay H95 review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZZu9gtHdsiihd5E4mFiuAX" name="Bang and Olufsen H95--18" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/ZZu9gtHdsiihd5E4mFiuAX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Bluetooth 5.1</strong></li><li><strong>USB-C and 3.5mm connectivity best</strong></li><li><strong>BT multipoint for everyday versatility</strong></li></ul><p>The H95 use Bluetooth 5.1, showing their age in 2026, where we’ve hit Bluetooth 6.1 — which brings (among other things) the LC3 Plus codec for higher-res playback. Of course, 5.1 was <em>de rigueur</em> in 2020 and, even today, most headphones and earbuds are still being released with 5.3 or 5.4 anyway (which have improved range and efficiency over 5.1, but nothing to seriously benefit sound quality). Codec-wise, there’s AAC and SBC, or aptX Adaptive for some higher-quality playback. </p><p>To make the most of these cans, though, you’ll want to use them wired, for which there are two ports: 3.5mm and USB-C (with cables and a 3.5mm splitter included in the carry case). I prefer USB-C, as this lets the headphone’s DAC oversee audio conversion when playing music from my laptop.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5000px;"><p class="vanilla-image-block" style="padding-top:60.00%;"><img id="yDgqWmLj6RUYZvBLgEXxEM" name="IMG_0617" alt="Bang & Olufsen app being used to customize B&O H95" src="https://cdn.mos.cms.futurecdn.net/yDgqWmLj6RUYZvBLgEXxEM.jpg" mos="" align="middle" fullscreen="1" width="5000" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/yDgqWmLj6RUYZvBLgEXxEM.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>The Beoplay H95 also pair with the B&O app, which is fairly good. Setup is easy, but the app gets a little shaky if you’ve had to re-pair your headphones with your smartphone between uses. When it<em> is</em> working, the app offers EQ (-ish, more on this later), playback controls, ANC control, a wind guard to prevent buffeting (only accessible via the app, annoyingly) and battery status. </p><p>There’s also multipoint connectivity, so you can have the H95 hooked up to two Bluetooth devices at once. When using them for playback from my laptop, I was able to take calls on my phone automatically through the headphones. So useful.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-anc"><span>Bang & Olufsen Beoplay H95 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yjWPLsFM3s56qtE22XoPSX" name="Bang and Olufsen H95--20" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/yjWPLsFM3s56qtE22XoPSX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>ANC passable but not great</strong></li><li><strong>Digital wind guard handy</strong></li></ul><p>Noise cancellation is my only major gripe with the H95. Don’t get me wrong, it isn’t terrible, but it isn’t great either. I was still able to hear bus engines, as well as conversations around me —  admittedly heavily muted on both counts. </p><p>The H95 ANC is on par with the much cheaper <a href="https://www.tomsguide.com/audio/over-ear-headphones/shure-aonic-50-gen-2-review"><u>Shure Aonic Gen 2</u></a> ($349), but nowhere near the lofty heights of the Bose QC Ultra Gen 2 — the be all, end all of over-ear ANC. There’s obviously a simple way around this, though: just put on something heavy and turn up the volume.</p><p>The H95 also feature a wind guard, available via the companion app. This is useful if you live in a windy, rainy country like me (I’m in the U.K.), as it almost entirely cuts the annoying buffeting sound of wind. The Aonic Gen 2, by comparison, were terrible in this regard.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-sound-quality"><span>Bang & Olufsen Beoplay H95 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="WehipCtAqgQYvRsqis5PNX" name="Bang and Olufsen H95--14" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/WehipCtAqgQYvRsqis5PNX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Detailed, textured sound</strong></li><li><strong>Bass well controlled</strong></li><li><strong>Wide soundstage</strong></li></ul><p>Sound quality is what the H95 are all about. The noise is beautiful and refined, with an expansive and detailed treble, punchy and precise mids, and warm yet controlled bass. There’s just so much detail to enjoy, making these perfect daily drivers for audiophiles.</p><p>I tested the H95 using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for audiophiles. I primarily listened over USB-C, at data transfer rates between 16-bit / 44.1 kHz (CD-quality) and 24-bit / 96-192 kHz (high-res). I also tested over Bluetooth when using the headphones out and about, but everything below is based on my notes from USB-C playback, using the headphones’ internal DAC. </p><h4 id="eq">EQ</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B9tY85ezC8rgrySz8eMTEM" name="IMG_0612" alt="Bang & Olufsen app being used to customize B&O H95" src="https://cdn.mos.cms.futurecdn.net/B9tY85ezC8rgrySz8eMTEM.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/B9tY85ezC8rgrySz8eMTEM.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>I spent most of my time using the default Optimal EQ profile, which is well-balanced and suitable for almost everything. I’ll point out wherever I diverged from Optimal and why. Just to note, this isn’t a conventional EQ — to create a custom profile, you place a point on a circular map based on the characteristics you want (e.g. more bass). It’s much simpler than a banded or parametric EQ, but still works well for tailoring sound based on the results you want.</p><h4 id="treble-2">Treble</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GuY9jRpCRgrtkUWGWFKdKX" name="Bang and Olufsen H95--21" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/GuY9jRpCRgrtkUWGWFKdKX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Sound is remarkably detailed. You’ll be hearing effects and noises you’ve never heard before in your most familiar tracks — subtle sparkles, retreating echoes, the softest of backing vocals. Much of this comes down to superb clarity in the treble. I could hear the faintest delay applied to the opening staccato claps in Alphaville’s synth-pop classic, <em>Big in Japan</em>. Danny Carey’s cymbals and high hats in Tool’s <em>Pneuma</em>, meanwhile, were beautifully crisp and sharp. Vocals sound great too — the ethereal vocals of Burn Water’s <em>Ikigai</em> standing tall above the song’s huge booming bass line.</p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><p>The only uncomfortable treble was that baked into a song’s production to begin with — like Stewart Copeland’s piercing cymbals on The Police’s <em>Truth Hits Everybody</em> (which are usually borderline painful). I simply switched to a custom treble reduction EQ to solve the problem, using the B&O smartphone app via Bluetooth (even while listening on my laptop via USB-C). Very handy.</p><h4 id="mids-2">Mids</h4><p>The H95 have the cleanest midrange of any cans I can remember using, with plenty of power yet ample definition. Guitar riffs sound super textured and clinical, even on sludgy and distorted songs. I could hear every single scratch of distortion on Metallica’s <em>Seek & Destroy</em>, and Melvins’ <em>Honey Bucket</em>. I use these songs to test mid-tone separation, as each features two guitars playing similar riffs to widen the sound, but which lesser cans can easily muddy together — no such problems on the H95.  </p><h4 id="bass-2">Bass</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="jrusXPgmoTMjFNojKUtnDX" name="Bang and Olufsen H95--12" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/jrusXPgmoTMjFNojKUtnDX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Bass is rich and deep, but deftly controlled. As great as the Bose QC Ultra Gen 2 are, sometimes I find them a little bass-forward when I don’t want them to be. The H95 offer that extra balance and sophistication, scaling back bass to avoid overwhelming everything else. When you want the power and depth, though — in electronic dance music, for example — both are there for you. The big ol’ subby bassline of Burn Water’s <em>Ikigai</em> pulsated warmly through the drivers with no distortion at all.</p><p>If you need a little more oomph in the subby region — something I found on Skream’s ultra-low (and aptly named) <em>Sub Island</em> — no bother: simply crank the sound profile slider towards “High Bass”.</p><h4 id="soundstage-3">Soundstage</h4><p>The H95 soundstage is lovely and wide, too. Mk.Gee’s <em>Dream Police</em> sounded as atmospherically spatial as it ought to, while the opening xylophonic chimes of Phil Collins’ <em>Hand in Hand</em> floated gracefully in stereo between each ear.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-mic-quality"><span>Bang & Olufsen Beoplay H95 review: Mic quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="thivoPaSvbXXTbeRSPTjJX" name="Bang and Olufsen H95--15" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/thivoPaSvbXXTbeRSPTjJX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Mic a little tinny</strong></li><li><strong>But fine for calls</strong></li></ul><p>The H95 microphone is a little weak, I’ll admit. I used the mic to record some voice clips and the results were a little scratchy and tinny. Likewise, I called my wife, and she reported my voice sounding a little distant. </p><p>Still, I had no problems using the H95 for phone calls over several months testing —  speaking to family and friends, sorting admin over the phone, and even arranging a workshop appointment with a hard-of-hearing motorcycle mechanic. In short, the mic isn’t perfect, but it’s fine for calls — you’ll get by (although you may need to speak up).</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-battery-life"><span>Bang & Olufsen Beoplay H95 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ebYqyvcAPQFjkSmM5N2JMX" name="Bang and Olufsen H95--02" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/ebYqyvcAPQFjkSmM5N2JMX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Very strong 50-hour battery life</strong></li><li><strong>38 hours with ANC on</strong></li><li><strong>Better than premium rivals</strong></li></ul><p>Bang & Olufsen rate the H95 for up to 50 hours of battery over Bluetooth with ANC off, and around 38 with ANC on. Most of my testing was spent listening through the H95 over USB-C, but I tested the headphones over Bluetooth for around a week, using them at work for four to five hours at a time. I was able to get around a week’s life out of the H95, more or less tracking to the 40-ish hours playback time.</p><p>This is strong battery life on paper — the QC Ultra, in comparison, are rated for 30 hours; the Focal Bathys MG for 38 hours. The H95 have the longevity for any situation you can throw at them, save travelling for days on end away from power sources.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-verdict"><span>Bang & Olufsen Beoplay H95 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3oZcLDGJThzxjgNUSPgMMX" name="Bang and Olufsen H95--01-LIST" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/3oZcLDGJThzxjgNUSPgMMX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s an old adage that ‘you get what you pay for’. Often, it’s pretty easy to debunk that as a tech journalist. There are a great many products out there which defy that rule — it’s just that the Bang & Olufsen Beoplay H95 don’t. </p><p>These headphones look, feel, and behave every cent of their $1,200 price tag: effortlessly refined and highly detailed audio; gorgeous Scandi styling; premium build and construction. My only major gripe with them is the ANC, which could be better, but it’s by no means awful. </p><p>As extravagantly pricey as the H95 are, there’s no doubt in my mind: if I could afford these headphones, I’d buy them in a heartbeat.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/bang-and-olufsen-beoplay-h95-review-headphones</link>
                                                                            <description>
                            <![CDATA[ The Bang & Olufsen Beoplay H95 are ultra premium headphones with an equally luxurious price tag. Thankfully, they back up their cost with performance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cR7mapXFGAV93XiGwSV5x</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/3oZcLDGJThzxjgNUSPgMMX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 14 Mar 2026 15:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 28 May 2026 09:43:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ peter.wolinski@futurenet.com (Peter Wolinski) ]]></author>                    <dc:creator><![CDATA[ Peter Wolinski ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/stgPfXWY7ukw8J8rfC7vjg.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Peter is a Senior Editor at Tom&#039;s Guide, heading up the site&#039;s Reviews team and Cameras section. Having built gaming PCs since he was 10 (that&#039;s a while ago now) he&#039;s a bit of a nerd about components and hardware. He&#039;s also been an iPhone user since the classic iPhone 4, and a Mac user for well over a decade. Experienced in using and testing all kinds of technology — from phones through to tablets, computers, games consoles, cameras and smart home tech — helping people find the best tech for them (at the best prices) is what Peter does best. A photographer since he bought his first camera (a Fujifilm) in 2015, Peter was previously an Editor for Canon-Europe.com. He then edited the Cameras and How To sections of Tom&#039;s Guide. When he&#039;s not crafting helpful, in-depth reviews, Peter can usually be found out and about honing his architectural photography skills, riding his motorcycle around Welsh mountain roads, telling everyone about his two greyhounds, squeezing a few extra FPS out of PC games or perfecting his espresso shots.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/3oZcLDGJThzxjgNUSPgMMX-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bang &amp; Olufsen H95 in silver and white]]></media:description>                                                            <media:text><![CDATA[Bang &amp; Olufsen H95 in silver and white]]></media:text>
                                <media:title type="plain"><![CDATA[Bang &amp; Olufsen H95 in silver and white]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/3oZcLDGJThzxjgNUSPgMMX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ll admit it straight away: I’ve fallen head over heels in love with the Bang & Olufsen Beoplay H95 — in my opinion, some of the <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">best over-ear headphones</a> on the premium market. Chief among the virtues of the H95 are their sublime sound quality: clear and expansive treble; punchy but detailed mids; rich yet supremely balanced bass; plus, a gloriously wide soundstage.</p><p>Better yet, the H95 are styled beautifully, with craftsmanship worthy of the Norse pantheon. Their leather earcups (sorry, vegans) and padded headband are extremely comfortable, and with an IP53 rating, you can stand getting caught in the rain.</p><p>Obviously, none of the above comes cheap — especially not when made by Bang & Olufsen. And letting the otherwise stellar show down slightly is the ANC, which, although not terrible, feels a little weak for a $1,200 set of cans.</p><p>Originally released in 2020, the H95 are still available in 2026, with updated colorways over the original models. So are they still worth buying? Find out more in my full Bang & Olufsen Beoplay H95 review.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-specs"><span>Bang & Olufsen Beoplay H95 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Comfortable-Wireless-Cancelling-Headphones-Protective/dp/B0916JNV9T" target="_blank" rel="nofollow">$1,199</a> | <a href="https://www.amazon.co.uk/Bang-Olufsen-Beoplay-H95-Cancellation-Black/dp/B0916JNV9T/" target="_blank" rel="nofollow">£879</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors available</strong></p></td><td  ><p>Black; blue; brown; white/gold</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>40mm, electro-dynamic titanium</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20-22,000 Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>USB-C; 3.5mm; Bluetooth</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-price-availability"><span>Bang & Olufsen Beoplay H95 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WP4cyDSF5vLzF867twh9QX" name="Bang and Olufsen H95--04" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/WP4cyDSF5vLzF867twh9QX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>$1,200 / £879 MSRP</strong></li><li><strong>Around the $850 / £600 with deals in 2026</strong></li><li><strong>Luxury finesse a cut above premium competition</strong></li></ul><p>The H95 were originally released back in 2020. The design hasn’t changed since, with the exception of colorways. In 2026, you can buy the H95 in blue, brown, black, or white/gold. I tested a slightly older model in white/silver, which are no longer stocked on the B&O site — but performance hasn’t changed.</p><p>As a rule, Bang & Olufsen gear doesn’t come cheap, and the Beoplay H95 are no exception. In the U.S., the <a href="https://www.amazon.com/Comfortable-Wireless-Cancelling-Headphones-Protective/dp/B0916JNV9T" target="_blank" rel="nofollow">H95 cost a whopping $1,199</a>, while in the U.K., although not quite as extremely priced, they still cost a buttock-clenching <a href="https://www.amazon.co.uk/Bang-Olufsen-Beoplay-H95-Cancellation-Black/dp/B0916JNV9T/" target="_blank" rel="nofollow">£879 at Amazon</a>. However, that's MSRP, and I've seen them drop as low as $850 in the States and £599 in Britain at the time of writing. </p><p>This puts the H95 way, <em>way</em> beyond much of our favorite premium closed-back competition. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Gen 2</a>, for example, cost a mere $449; while the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins PX7 S3</a> cost $479; and the <a href="https://www.tomsguide.com/reviews/apple-airpods-max">Apple AirPods Max</a> cost $549. We’re obviously into ultra-premium territory here, at least in the States, where the H95 compete with the $1,099 <a href="https://www.tomsguide.com/audio/i-just-tested-these-usd1-299-headphones-with-magnesium-drivers-and-they-could-be-your-next-pair-of-premium-anc-cans">Focal Bathys MG</a>. </p><p>So, is the steep price worth it over, say, the Bose QuietComfort Ultra Gen 2? Probably not. I use the Bose at work, and they’re fantastic. But it’s kinda like asking whether a Ferrari is worth buying over a BMW. <em>If</em> you have the money, the H95 give you a luxury finesse that’s just a cut above the rest.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-design-comfort"><span>Bang & Olufsen Beoplay H95 review: Design & comfort</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="CRii8WB5R4vZ4CkjCqYPQX" name="Bang and Olufsen H95--05" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/CRii8WB5R4vZ4CkjCqYPQX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Beautiful Scandi design and build quality</strong></li><li><strong>Very comfortable thanks to premium materials</strong></li><li><strong>Not for vegans</strong></li></ul><p>The B&O Beoplay H95 are gorgeous to behold, and then to actually hold, too. Aesthetically, they’re pure Scandi chic — simple, minimalist and contemporary. Despite the design being a few years old now, it hasn’t aged a day.</p><p>Build quality is phenomenal, partly thanks to the premium materials used: brushed aluminum for the structural bits, lambskin leather earcups, a combined leather and fabric headband — it’s all super luxurious. It isn’t just for show, though, and the H95 are well put together, too, feeling like a long-term investment. The construction is up there with the superbly crafted (and equally pricey) magnesium Focal Bathys, and a big step up over the rattly Bose QC Ultra Gen 2.</p><p>Unfortunately, there’s no faux-leather version, so vegans be warned! For vegan-friendly audiophile headphones, check out the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review"><u>FiiO FT13</u></a> ($329).</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JGw6sNtvoRcwGVXuu7HMRX" name="Bang and Olufsen H95--07" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/JGw6sNtvoRcwGVXuu7HMRX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The H95 come with a square, hard-shell aluminum carry case. It’s very protective, but it scratches extremely easily and is hella bulky — which renders it problematic when carrying around in your bag. After scratching my case up taking it to work, I now just leave it at home. I’d prefer a hardened fabric case, as on the Focal Bathys and Bose QC Ultra Gen 2. Thankfully, the H95 fold, so they’re easy to slot into a bag on their own… just avoid them getting crushed.</p><p>The H95 are IP53 rated, meaning they’re dust-protected (that’s the 5) and will hold up against light sprays of water (the 3). As such, you needn’t worry about getting caught in a rain shower. IPX3 also makes them sweatproof, although I’d question the sense of getting $1,200 headphones all stinky and sweaty. If you <em>will</em> be doing that, the earcups can at least be removed with a simple twist, then replaced… for $149 a go.</p><h4 id="comfort-6">Comfort</h4><p>Despite all the luxurious materials, the H95 still feel nice and light on the head, although I prefer a suspended headband setup — like that on the <a href="https://www.amazon.com/Audeze-Headphone-Version-Creator-Package/dp/B08ZR34S9T">Audeze LCD-X</a> ($1,099) — for the feeling of true weightlessness. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cDvh8DL4S2SUE7i7XQQkLX" name="Bang and Olufsen H95--11" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/cDvh8DL4S2SUE7i7XQQkLX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The leather earcups are super soft, with thick padding inside. The same is true for the fabric headband interior, too. I love the capacious depth of the earcups, meaning I’ve never felt my helixes touch the drivers. There’s a soft fabric gauze inside the earcups, which <em>is</em> in reach of my ears — but it’s silky soft, delicately thin and, being elasticated, extremely forgiving, so no issues there. I’ve worn the H95 for hours at a time with zero complaints.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-controls"><span>Bang & Olufsen Beoplay H95 review: Controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="y3WchbA3BQRbvdak4nYtLX" name="Bang and Olufsen H95--19" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/y3WchbA3BQRbvdak4nYtLX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Combination of physical and touch controls</strong></li><li><strong>Physical dials good but easy to knock</strong></li><li><strong>Touch controls surprisingly reliable</strong></li></ul><p>The H95 are operated via a combination of physical and touch controls. On each earcup is a dial. The left controls noise cancellation, allowing you to rotate between transparency mode and ANC, and then to dial in the amount of cancellation you want — different chimes let you know when in each mode, and when ANC is maxed. The right-hand dial controls volume. </p><p>Both are easy to use, even when walking, although I’d have liked a little more tension on the dials. I found it easy to knock them when adjusting the headset or repositioning my (long) hair.</p><p>Playback controls are assigned to the right earcup, which has a touch-sensitive face. A tap pauses/plays; a finger swipe towards your face skips a track; and a swipe towards the back of your head goes backward. I normally hate touch controls, but I’ve got on with these just fine. Weirdly, they’re less easy to knock and engage than the dials, yet I’ve never failed to trigger them when I want to. </p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-connectivity"><span>Bang & Olufsen Beoplay H95 review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZZu9gtHdsiihd5E4mFiuAX" name="Bang and Olufsen H95--18" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/ZZu9gtHdsiihd5E4mFiuAX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Bluetooth 5.1</strong></li><li><strong>USB-C and 3.5mm connectivity best</strong></li><li><strong>BT multipoint for everyday versatility</strong></li></ul><p>The H95 use Bluetooth 5.1, showing their age in 2026, where we’ve hit Bluetooth 6.1 — which brings (among other things) the LC3 Plus codec for higher-res playback. Of course, 5.1 was <em>de rigueur</em> in 2020 and, even today, most headphones and earbuds are still being released with 5.3 or 5.4 anyway (which have improved range and efficiency over 5.1, but nothing to seriously benefit sound quality). Codec-wise, there’s AAC and SBC, or aptX Adaptive for some higher-quality playback. </p><p>To make the most of these cans, though, you’ll want to use them wired, for which there are two ports: 3.5mm and USB-C (with cables and a 3.5mm splitter included in the carry case). I prefer USB-C, as this lets the headphone’s DAC oversee audio conversion when playing music from my laptop.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5000px;"><p class="vanilla-image-block" style="padding-top:60.00%;"><img id="yDgqWmLj6RUYZvBLgEXxEM" name="IMG_0617" alt="Bang & Olufsen app being used to customize B&O H95" src="https://cdn.mos.cms.futurecdn.net/yDgqWmLj6RUYZvBLgEXxEM.jpg" mos="" align="middle" fullscreen="1" width="5000" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/yDgqWmLj6RUYZvBLgEXxEM.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>The Beoplay H95 also pair with the B&O app, which is fairly good. Setup is easy, but the app gets a little shaky if you’ve had to re-pair your headphones with your smartphone between uses. When it<em> is</em> working, the app offers EQ (-ish, more on this later), playback controls, ANC control, a wind guard to prevent buffeting (only accessible via the app, annoyingly) and battery status. </p><p>There’s also multipoint connectivity, so you can have the H95 hooked up to two Bluetooth devices at once. When using them for playback from my laptop, I was able to take calls on my phone automatically through the headphones. So useful.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-anc"><span>Bang & Olufsen Beoplay H95 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yjWPLsFM3s56qtE22XoPSX" name="Bang and Olufsen H95--20" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/yjWPLsFM3s56qtE22XoPSX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>ANC passable but not great</strong></li><li><strong>Digital wind guard handy</strong></li></ul><p>Noise cancellation is my only major gripe with the H95. Don’t get me wrong, it isn’t terrible, but it isn’t great either. I was still able to hear bus engines, as well as conversations around me —  admittedly heavily muted on both counts. </p><p>The H95 ANC is on par with the much cheaper <a href="https://www.tomsguide.com/audio/over-ear-headphones/shure-aonic-50-gen-2-review"><u>Shure Aonic Gen 2</u></a> ($349), but nowhere near the lofty heights of the Bose QC Ultra Gen 2 — the be all, end all of over-ear ANC. There’s obviously a simple way around this, though: just put on something heavy and turn up the volume.</p><p>The H95 also feature a wind guard, available via the companion app. This is useful if you live in a windy, rainy country like me (I’m in the U.K.), as it almost entirely cuts the annoying buffeting sound of wind. The Aonic Gen 2, by comparison, were terrible in this regard.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-sound-quality"><span>Bang & Olufsen Beoplay H95 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="WehipCtAqgQYvRsqis5PNX" name="Bang and Olufsen H95--14" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/WehipCtAqgQYvRsqis5PNX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Detailed, textured sound</strong></li><li><strong>Bass well controlled</strong></li><li><strong>Wide soundstage</strong></li></ul><p>Sound quality is what the H95 are all about. The noise is beautiful and refined, with an expansive and detailed treble, punchy and precise mids, and warm yet controlled bass. There’s just so much detail to enjoy, making these perfect daily drivers for audiophiles.</p><p>I tested the H95 using <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for audiophiles. I primarily listened over USB-C, at data transfer rates between 16-bit / 44.1 kHz (CD-quality) and 24-bit / 96-192 kHz (high-res). I also tested over Bluetooth when using the headphones out and about, but everything below is based on my notes from USB-C playback, using the headphones’ internal DAC. </p><h4 id="eq">EQ</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5333px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B9tY85ezC8rgrySz8eMTEM" name="IMG_0612" alt="Bang & Olufsen app being used to customize B&O H95" src="https://cdn.mos.cms.futurecdn.net/B9tY85ezC8rgrySz8eMTEM.jpg" mos="" align="middle" fullscreen="1" width="5333" height="3000" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/B9tY85ezC8rgrySz8eMTEM.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bang & Olufsen)</span></figcaption></figure><p>I spent most of my time using the default Optimal EQ profile, which is well-balanced and suitable for almost everything. I’ll point out wherever I diverged from Optimal and why. Just to note, this isn’t a conventional EQ — to create a custom profile, you place a point on a circular map based on the characteristics you want (e.g. more bass). It’s much simpler than a banded or parametric EQ, but still works well for tailoring sound based on the results you want.</p><h4 id="treble-2">Treble</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GuY9jRpCRgrtkUWGWFKdKX" name="Bang and Olufsen H95--21" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/GuY9jRpCRgrtkUWGWFKdKX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Sound is remarkably detailed. You’ll be hearing effects and noises you’ve never heard before in your most familiar tracks — subtle sparkles, retreating echoes, the softest of backing vocals. Much of this comes down to superb clarity in the treble. I could hear the faintest delay applied to the opening staccato claps in Alphaville’s synth-pop classic, <em>Big in Japan</em>. Danny Carey’s cymbals and high hats in Tool’s <em>Pneuma</em>, meanwhile, were beautifully crisp and sharp. Vocals sound great too — the ethereal vocals of Burn Water’s <em>Ikigai</em> standing tall above the song’s huge booming bass line.</p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/59666746?zone=GB-en"></iframe><p>The only uncomfortable treble was that baked into a song’s production to begin with — like Stewart Copeland’s piercing cymbals on The Police’s <em>Truth Hits Everybody</em> (which are usually borderline painful). I simply switched to a custom treble reduction EQ to solve the problem, using the B&O smartphone app via Bluetooth (even while listening on my laptop via USB-C). Very handy.</p><h4 id="mids-2">Mids</h4><p>The H95 have the cleanest midrange of any cans I can remember using, with plenty of power yet ample definition. Guitar riffs sound super textured and clinical, even on sludgy and distorted songs. I could hear every single scratch of distortion on Metallica’s <em>Seek & Destroy</em>, and Melvins’ <em>Honey Bucket</em>. I use these songs to test mid-tone separation, as each features two guitars playing similar riffs to widen the sound, but which lesser cans can easily muddy together — no such problems on the H95.  </p><h4 id="bass-2">Bass</h4><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="jrusXPgmoTMjFNojKUtnDX" name="Bang and Olufsen H95--12" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/jrusXPgmoTMjFNojKUtnDX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Bass is rich and deep, but deftly controlled. As great as the Bose QC Ultra Gen 2 are, sometimes I find them a little bass-forward when I don’t want them to be. The H95 offer that extra balance and sophistication, scaling back bass to avoid overwhelming everything else. When you want the power and depth, though — in electronic dance music, for example — both are there for you. The big ol’ subby bassline of Burn Water’s <em>Ikigai</em> pulsated warmly through the drivers with no distortion at all.</p><p>If you need a little more oomph in the subby region — something I found on Skream’s ultra-low (and aptly named) <em>Sub Island</em> — no bother: simply crank the sound profile slider towards “High Bass”.</p><h4 id="soundstage-3">Soundstage</h4><p>The H95 soundstage is lovely and wide, too. Mk.Gee’s <em>Dream Police</em> sounded as atmospherically spatial as it ought to, while the opening xylophonic chimes of Phil Collins’ <em>Hand in Hand</em> floated gracefully in stereo between each ear.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-mic-quality"><span>Bang & Olufsen Beoplay H95 review: Mic quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="thivoPaSvbXXTbeRSPTjJX" name="Bang and Olufsen H95--15" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/thivoPaSvbXXTbeRSPTjJX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Mic a little tinny</strong></li><li><strong>But fine for calls</strong></li></ul><p>The H95 microphone is a little weak, I’ll admit. I used the mic to record some voice clips and the results were a little scratchy and tinny. Likewise, I called my wife, and she reported my voice sounding a little distant. </p><p>Still, I had no problems using the H95 for phone calls over several months testing —  speaking to family and friends, sorting admin over the phone, and even arranging a workshop appointment with a hard-of-hearing motorcycle mechanic. In short, the mic isn’t perfect, but it’s fine for calls — you’ll get by (although you may need to speak up).</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-battery-life"><span>Bang & Olufsen Beoplay H95 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ebYqyvcAPQFjkSmM5N2JMX" name="Bang and Olufsen H95--02" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/ebYqyvcAPQFjkSmM5N2JMX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Very strong 50-hour battery life</strong></li><li><strong>38 hours with ANC on</strong></li><li><strong>Better than premium rivals</strong></li></ul><p>Bang & Olufsen rate the H95 for up to 50 hours of battery over Bluetooth with ANC off, and around 38 with ANC on. Most of my testing was spent listening through the H95 over USB-C, but I tested the headphones over Bluetooth for around a week, using them at work for four to five hours at a time. I was able to get around a week’s life out of the H95, more or less tracking to the 40-ish hours playback time.</p><p>This is strong battery life on paper — the QC Ultra, in comparison, are rated for 30 hours; the Focal Bathys MG for 38 hours. The H95 have the longevity for any situation you can throw at them, save travelling for days on end away from power sources.</p><h2 class="article-body__section" id="section-bang-olufsen-beoplay-h95-review-verdict"><span>Bang & Olufsen Beoplay H95 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3oZcLDGJThzxjgNUSPgMMX" name="Bang and Olufsen H95--01-LIST" alt="Bang & Olufsen H95 in silver and white" src="https://cdn.mos.cms.futurecdn.net/3oZcLDGJThzxjgNUSPgMMX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s an old adage that ‘you get what you pay for’. Often, it’s pretty easy to debunk that as a tech journalist. There are a great many products out there which defy that rule — it’s just that the Bang & Olufsen Beoplay H95 don’t. </p><p>These headphones look, feel, and behave every cent of their $1,200 price tag: effortlessly refined and highly detailed audio; gorgeous Scandi styling; premium build and construction. My only major gripe with them is the ANC, which could be better, but it’s by no means awful. </p><p>As extravagantly pricey as the H95 are, there’s no doubt in my mind: if I could afford these headphones, I’d buy them in a heartbeat.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Beyerdynamic DJ 300 Pro X review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Beyerdynamic DJ 300 Pro X are some rare headphones, capable of striking the balance between pumping bass and faithful detail without losing any sonic ferocity. But is this enough to make them some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>? </p><p>It depends on you and what you need from headphones. As you might’ve guessed from the name, the DJ 300 Pro X headphones are intended to be used by the disc jockeys amongst you. If you’re after cans with rich, punchy bass and an accurate reproduction of studio-quality detail, you’ll want to know about the DJ 300 Pro X. </p><p>However, it’s not all sunshine and rainbows. The DJ 300 Pro X only really excel with electronic genres like house, DnB, techno, and garage. Rock, indie, and even some pop songs fall a little flat. But are you an electronic DJ? Highly likely, right? Then you’ll want to find out more in this Beyerdynamic DJ 300 Pro X review. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-cheat-sheet"><span>Beyerdynamic DJ 300 Pro X review: Cheat sheet</span></h2><ul><li><strong>What is it?</strong> Cans for the disc-jockeys of the world</li><li><strong>What does it cost? </strong><a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279</a> / <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169</a></li><li><strong>What do we like? </strong>The bass performance is rich and balanced without overpowering the detail in the treble</li><li><strong>What don’t we like?</strong> They’re weirdly expensive (especially in the U.S.) and not hugely versatile</li></ul><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-specs"><span>Beyerdynamic DJ 300 Pro X review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279</a> / <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired only</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>9.3 x 8.3 x 4.5 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>45mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>47.97Ω </p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>3.5mm jack, ¼” jack</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-price-availability"><span>Beyerdynamic DJ 300 Pro X review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J3GWufrJHfwhiUJPF9N58B" name="FIIO_JT3_ 8.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/J3GWufrJHfwhiUJPF9N58B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic DJ 300 Pro X are <a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279 from Amazon U.S.</a> and <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169 from Amazon U.K.</a>. This is reasonably pricey for on-ear DJ cans: I tested the $99 <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50</a> and found they performed similarly. While I think the DJ 300 Pro X sound great, they’re probably not the best-value reference cans you can buy. </p><p>If you’re a music professional — be that studio or DJ — you’ll likely be familiar with Beyerdynamic. The German brand offers tons of professional-quality cans: the DT collection is ideal for studio recording and mixing thanks to the over-ear design (meaning they can be worn for longer periods than on-ears) and neutral tuning. </p><p>We reviewed the $159 <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-dt-270-pro-review">Beyerdynamic DT 270 Pro</a> earlier in the year and awarded them a magnetic 5 stars, so might be worth checking out if you want Beyerdynamic sound quality for cheaper. </p><p>Pioneer also makes DJ headphones: the <a href="https://www.amazon.com/Pioneer-DJ-HDJ-CUE1-Closed-Back-Headphones/dp/B08GBZFRN3" target="_blank" rel="nofollow">HDJ-CUE1 are just $89 from Amazon</a>, and the <a href="https://www.amazon.com/PIONEER-HDJ-X7-Professional-Over-Ear-Headphones/dp/B0759GFHN1" target="_blank" rel="nofollow">HD-JX7 are $239 from Amazon</a>. These are considerably cheaper than Beyerdynamic’s offering, so, again, could be worth checking out if you’re short on cash. </p><p>Finally, Sennheiser’s HD-25 are generally considered the “best in class” DJ headphones, and are just <a href="https://www.amazon.com/Sennheiser-Professional-Headphone-Black-HD25/dp/B01CRI3UOU" target="_blank" rel="nofollow">$142 from Amazon</a>. These headphones are supremely comfortable and have swappable parts, so might be worthy competitors. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-design"><span>Beyerdynamic DJ 300 Pro X review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eBbRvo7SppDzLMXcPtFw7B" name="beyerdynamic_dj_300proX_ 5.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/eBbRvo7SppDzLMXcPtFw7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>On-ear rather than over-ear</strong></li><li><strong>Closed-back design to prevent ambient noise interference </strong></li><li><strong>Uncomfortable for long periods </strong></li></ul><p>As you might expect from DJ cans, the DJ 300 Pro X are on-ear rather than over-ear. This is both a pro and a con: positively, the on-ear design means you can move the earcup back with little fanfare, so you can interact with the crowd or colleagues as necessary. </p><p>Negatively, the on-ear design means the DJ 300 Pro X are uncomfortable to wear for long periods. After just thirty minutes, my ears were aching, and I had to remove the headphones to allow my poor cartilage to recover. This issue was only exacerbated by my glasses, so I’d recommend glasses-wearers steer clear of on-ears. </p><p>This was true of the Rode NTH-50, so it’s an on-ear headphones issue rather than a DJ 300 Pro X issue. The Sennheiser HD-25 are on-ears that somehow <em>don’t</em> suffer from this, so I’d recommend them if you’re going to be playing for hours and hours. </p><p>If you have problems with on-ear cups like me, you can swap out for over-ear pads. I appreciate Beyerdynamic offering two wear styles with these headphones. </p><p>However, the cups themselves are soft, and there’s a decent amount of padding on the headband. You can add your own DJ branding if desired — but I didn’t get a chance to test this out as I didn’t have any replacements available. </p><p>The DJ 300 Pro X feel well-made and sturdy, and the integral parts are replaceable, so the $279 asking price isn’t outrageous here. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-connectivity"><span>Beyerdynamic DJ 300 Pro X review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S7JXUFPqKYp8wMERsZbq7B" name="beyerdynamic_dj_300proX_ 6.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/S7JXUFPqKYp8wMERsZbq7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>3.5mm and ¼ inch connectivity</strong></li><li><strong>Can connect to left or right ear cup</strong></li></ul><p>The Beyerdynamic DJ 300 Pro X come with both a 3.5mm jack and a ¼ inch jack. I listened while connected to my <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> and had zero connectivity issues. </p><p>The headphones have a 2.5mm jack on both the left and right earcups, so you can switch depending on your listening device. Strangely, my MacBook Air M2 and <a href="https://www.tomsguide.com/reviews/macbook-pro-m1">MacBook Pro M1</a> have the headphone jack on opposite sides (right and left, respectively), so this is a necessary feature if you’re using multiple devices. </p><p>If you’re unfamiliar with DJ cans, you might be surprised by the lack of Bluetooth, but this is normal on studio or professional headphones. If you want optimal sound, you don’t want to be listening via Bluetooth. If you’re mixing tracks live, you want zero latency and zero connection interruptions, so wired headphones will be your savior here. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-sound-quality"><span>Beyerdynamic DJ 300 Pro X review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uuBx6GD3yvCWPHUiwTUF7B" name="beyerdynamic_dj_300proX_ 2.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/uuBx6GD3yvCWPHUiwTUF7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Rich, clear bass and detailed treble </strong></li><li><strong>Sounds best with electronic music </strong></li><li><strong>Rock, metal, and alternative perform considerably worse </strong></li></ul><p>As the DJ 300 Pro X are (shockingly!) DJ headphones, they’ll sound a little different than your standard Bluetooth headphones. With Bluetooth headphones, the sound signature is often quite warm, rich, and bassy. Cans like the Bose QuietComfort Ultra and Sony WH-1000XM6 are proof of this. </p><p>The DJ 300 Pro X are heavy on the detail, but bassier than reference or studio cans. This is a feature rather than a bug. DJ cans need to be bassy because you should mix basslines rather than mids — so being able to hear the low-end over a rowdy crowd and speaker setup is a necessity. </p><p>To test the DJ 300 Pro X, I listened to a range of genres on Qobuz, our best music streaming service for audiophiles. </p><p>First, I played ‘Blue’ by Billie Eilish, a dynamic, episodic track built over Eilish’s iconic breathy vocals, soft guitars and pianos, closing out with an electronic beat. The electronic, bass-heavy pulse sounded the best, with well-rounded lows and balanced high-frequency effects. I was surprised to find a little crackling at the top of the treble, as this isn’t something I’d expect from detail headphones. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e6hZk2CTND3y62Hztf4r6B" name="FIIO_JT3_ 10.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/e6hZk2CTND3y62Hztf4r6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After, I listened to Grimes to test out the balance between soft feminine vocals and electronic instrumentals. I played loads of tracks, but I’ll just discuss ‘Violence’ here. This track has an electrifying techno beat with Grimes’s ethereal vocals floating over the soundstage. </p><p>As expected, Grimes’s delicate vocals were prevalent at the front of the track, as were the high-frequency electronic percussion instruments, but there was a touch of softness in the treble. The bass was warm and rich, with no muddiness or confusion. I’ll just throw in one more track here: ‘4AEM’ by Grimes is a DnB-heavy track with clattering percussion and breathy vocals. This song was a particular standout, showcasing the DJ 300 Pro X’s immersive bass performance and ability to balance sound across the frequency range. </p><p>However, ‘We Appreciate Power’, a metal guitar-led track rather than electronic instruments, suffered from the same crispiness as the Billie Eilish record, so I wouldn’t recommend these cans for rock or heavy genres. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8zFS6Y6FRJNCzKuGeg5z6B" name="FIIO_JT3_ 11.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/8zFS6Y6FRJNCzKuGeg5z6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’ll discuss ‘Pennyroyal Tea’ by Nirvana. This track has Nirvana’s classic grunge flair, groaning guitars layered over Kurt Cobain’s raspy vocal, with quiet verses and loud choruses. The choruses sounded a little flat, like the guitars and the vocals were recorded smashed together. The verses sounded better — more balance across the frequency range — but this song was far less dynamic than electronic genres. </p><p>In general, electronic music sounded the best. I know, shocking, seeing as the DJ 300 Pro X are DJ headphones. Even so, I tested with acoustic and rock music, too, for a balanced analysis. If you’re a rock, metal, or alternative DJ, you might want to consider something else. But for techno, DnB, house, garage, and anything in between, the DJ 300 Pro X balance bass and detail admirably. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-verdict"><span>Beyerdynamic DJ 300 Pro X review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cqs9KN7T6SbEZvRVDR3T6B" name="beyerdynamic_dj_300proX_ 4.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/cqs9KN7T6SbEZvRVDR3T6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you’re an electronic DJ, then the DJ 300 Pro X are fantastic headphones that’ll impress you. With faithful bass reproduction that balances studio-quality detail in the treble, you won’t miss a beat. </p><p>However, if you’re a rock, metal, indie DJ — anything predominantly guitar-based — you might be disappointed. The DJ 300 Pro X tend to muddy complex guitar-based instrumentals and suffer from a touch of crispness at the top of the treble. Even so — sweeping generalization incoming — many DJs might only need to consider electronic genre performance. </p><p>So if you’re one of the aforementioned electronic DJs, the DJ 300 Pro X are well worth looking into. Everyone else might be better off with the flatter <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50</a>. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/beyerdynamic-dj-300-pro-x-review</link>
                                                                            <description>
                            <![CDATA[ The Beyerdynamic DJ 300 Pro X are great DJ cans, with a perfect balance between loud bass and detailed, delicate treble, but only in electronic genres. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YMukAupgq4k6dbULBR7hQP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/sxCi8RDNco4jgf4nPUJR6B-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 20 Feb 2026 12:13:58 +0000</pubDate>                                                                                                                                <updated>Fri, 01 May 2026 08:30:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ erin.bashford@futurenet.com (Erin Bashford) ]]></author>                    <dc:creator><![CDATA[ Erin Bashford ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rLvJvJVZx43hEzSsJy3BpL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Erin Bashford is a senior reviews writer at Tom’s Guide. She has a Master’s in Broadcast and Digital Journalism from the University of East Anglia and 7 years of experience reviewing music and events for various publications. She has edited publications such as Outline Magazine’s Guide to Norwich, and she has written for a number of music magazines and websites such as Clash Magazine, Outline Magazine and Dork Magazine. She has a strong interest in audio gear and the music world. &lt;/p&gt;&lt;p&gt;As an ex-barista, Erin is passionate about coffee tech. She also loves finding the best cooking hacks and kitchen appliances, including her beloved Instant Pot. &lt;/p&gt;&lt;p&gt;In her spare time, you can find her reading, practising yoga, hiking, writing fantasy novels, or stressing over NYT Games.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/sxCi8RDNco4jgf4nPUJR6B-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom&#039;s guide background]]></media:description>                                                            <media:text><![CDATA[the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom&#039;s guide background]]></media:text>
                                <media:title type="plain"><![CDATA[the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom&#039;s guide background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/sxCi8RDNco4jgf4nPUJR6B-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Beyerdynamic DJ 300 Pro X are some rare headphones, capable of striking the balance between pumping bass and faithful detail without losing any sonic ferocity. But is this enough to make them some of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>? </p><p>It depends on you and what you need from headphones. As you might’ve guessed from the name, the DJ 300 Pro X headphones are intended to be used by the disc jockeys amongst you. If you’re after cans with rich, punchy bass and an accurate reproduction of studio-quality detail, you’ll want to know about the DJ 300 Pro X. </p><p>However, it’s not all sunshine and rainbows. The DJ 300 Pro X only really excel with electronic genres like house, DnB, techno, and garage. Rock, indie, and even some pop songs fall a little flat. But are you an electronic DJ? Highly likely, right? Then you’ll want to find out more in this Beyerdynamic DJ 300 Pro X review. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-cheat-sheet"><span>Beyerdynamic DJ 300 Pro X review: Cheat sheet</span></h2><ul><li><strong>What is it?</strong> Cans for the disc-jockeys of the world</li><li><strong>What does it cost? </strong><a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279</a> / <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169</a></li><li><strong>What do we like? </strong>The bass performance is rich and balanced without overpowering the detail in the treble</li><li><strong>What don’t we like?</strong> They’re weirdly expensive (especially in the U.S.) and not hugely versatile</li></ul><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-specs"><span>Beyerdynamic DJ 300 Pro X review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279</a> / <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wired only</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>9.3 x 8.3 x 4.5 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>11.3 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Drivers</strong></p></td><td  ><p>45mm dynamic</p></td></tr><tr><td class="firstcol " ><p><strong>Impedance</strong></p></td><td  ><p>47.97Ω </p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility </strong></p></td><td  ><p>3.5mm jack, ¼” jack</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-price-availability"><span>Beyerdynamic DJ 300 Pro X review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J3GWufrJHfwhiUJPF9N58B" name="FIIO_JT3_ 8.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/J3GWufrJHfwhiUJPF9N58B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Beyerdynamic DJ 300 Pro X are <a href="https://www.amazon.com/beyerdynamic-Professional-Headphones-Included-Detachable/dp/B0FT84L7VT" target="_blank" rel="nofollow">$279 from Amazon U.S.</a> and <a href="https://www.amazon.co.uk/beyerdynamic-300-Pro-Club-Ear-Black/dp/B0FT84L7VT" target="_blank" rel="nofollow">£169 from Amazon U.K.</a>. This is reasonably pricey for on-ear DJ cans: I tested the $99 <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50</a> and found they performed similarly. While I think the DJ 300 Pro X sound great, they’re probably not the best-value reference cans you can buy. </p><p>If you’re a music professional — be that studio or DJ — you’ll likely be familiar with Beyerdynamic. The German brand offers tons of professional-quality cans: the DT collection is ideal for studio recording and mixing thanks to the over-ear design (meaning they can be worn for longer periods than on-ears) and neutral tuning. </p><p>We reviewed the $159 <a href="https://www.tomsguide.com/audio/headphones/beyerdynamic-dt-270-pro-review">Beyerdynamic DT 270 Pro</a> earlier in the year and awarded them a magnetic 5 stars, so might be worth checking out if you want Beyerdynamic sound quality for cheaper. </p><p>Pioneer also makes DJ headphones: the <a href="https://www.amazon.com/Pioneer-DJ-HDJ-CUE1-Closed-Back-Headphones/dp/B08GBZFRN3" target="_blank" rel="nofollow">HDJ-CUE1 are just $89 from Amazon</a>, and the <a href="https://www.amazon.com/PIONEER-HDJ-X7-Professional-Over-Ear-Headphones/dp/B0759GFHN1" target="_blank" rel="nofollow">HD-JX7 are $239 from Amazon</a>. These are considerably cheaper than Beyerdynamic’s offering, so, again, could be worth checking out if you’re short on cash. </p><p>Finally, Sennheiser’s HD-25 are generally considered the “best in class” DJ headphones, and are just <a href="https://www.amazon.com/Sennheiser-Professional-Headphone-Black-HD25/dp/B01CRI3UOU" target="_blank" rel="nofollow">$142 from Amazon</a>. These headphones are supremely comfortable and have swappable parts, so might be worthy competitors. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-design"><span>Beyerdynamic DJ 300 Pro X review: Design</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eBbRvo7SppDzLMXcPtFw7B" name="beyerdynamic_dj_300proX_ 5.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/eBbRvo7SppDzLMXcPtFw7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>On-ear rather than over-ear</strong></li><li><strong>Closed-back design to prevent ambient noise interference </strong></li><li><strong>Uncomfortable for long periods </strong></li></ul><p>As you might expect from DJ cans, the DJ 300 Pro X are on-ear rather than over-ear. This is both a pro and a con: positively, the on-ear design means you can move the earcup back with little fanfare, so you can interact with the crowd or colleagues as necessary. </p><p>Negatively, the on-ear design means the DJ 300 Pro X are uncomfortable to wear for long periods. After just thirty minutes, my ears were aching, and I had to remove the headphones to allow my poor cartilage to recover. This issue was only exacerbated by my glasses, so I’d recommend glasses-wearers steer clear of on-ears. </p><p>This was true of the Rode NTH-50, so it’s an on-ear headphones issue rather than a DJ 300 Pro X issue. The Sennheiser HD-25 are on-ears that somehow <em>don’t</em> suffer from this, so I’d recommend them if you’re going to be playing for hours and hours. </p><p>If you have problems with on-ear cups like me, you can swap out for over-ear pads. I appreciate Beyerdynamic offering two wear styles with these headphones. </p><p>However, the cups themselves are soft, and there’s a decent amount of padding on the headband. You can add your own DJ branding if desired — but I didn’t get a chance to test this out as I didn’t have any replacements available. </p><p>The DJ 300 Pro X feel well-made and sturdy, and the integral parts are replaceable, so the $279 asking price isn’t outrageous here. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-connectivity"><span>Beyerdynamic DJ 300 Pro X review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S7JXUFPqKYp8wMERsZbq7B" name="beyerdynamic_dj_300proX_ 6.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/S7JXUFPqKYp8wMERsZbq7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>3.5mm and ¼ inch connectivity</strong></li><li><strong>Can connect to left or right ear cup</strong></li></ul><p>The Beyerdynamic DJ 300 Pro X come with both a 3.5mm jack and a ¼ inch jack. I listened while connected to my <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> and had zero connectivity issues. </p><p>The headphones have a 2.5mm jack on both the left and right earcups, so you can switch depending on your listening device. Strangely, my MacBook Air M2 and <a href="https://www.tomsguide.com/reviews/macbook-pro-m1">MacBook Pro M1</a> have the headphone jack on opposite sides (right and left, respectively), so this is a necessary feature if you’re using multiple devices. </p><p>If you’re unfamiliar with DJ cans, you might be surprised by the lack of Bluetooth, but this is normal on studio or professional headphones. If you want optimal sound, you don’t want to be listening via Bluetooth. If you’re mixing tracks live, you want zero latency and zero connection interruptions, so wired headphones will be your savior here. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-sound-quality"><span>Beyerdynamic DJ 300 Pro X review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uuBx6GD3yvCWPHUiwTUF7B" name="beyerdynamic_dj_300proX_ 2.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/uuBx6GD3yvCWPHUiwTUF7B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Rich, clear bass and detailed treble </strong></li><li><strong>Sounds best with electronic music </strong></li><li><strong>Rock, metal, and alternative perform considerably worse </strong></li></ul><p>As the DJ 300 Pro X are (shockingly!) DJ headphones, they’ll sound a little different than your standard Bluetooth headphones. With Bluetooth headphones, the sound signature is often quite warm, rich, and bassy. Cans like the Bose QuietComfort Ultra and Sony WH-1000XM6 are proof of this. </p><p>The DJ 300 Pro X are heavy on the detail, but bassier than reference or studio cans. This is a feature rather than a bug. DJ cans need to be bassy because you should mix basslines rather than mids — so being able to hear the low-end over a rowdy crowd and speaker setup is a necessity. </p><p>To test the DJ 300 Pro X, I listened to a range of genres on Qobuz, our best music streaming service for audiophiles. </p><p>First, I played ‘Blue’ by Billie Eilish, a dynamic, episodic track built over Eilish’s iconic breathy vocals, soft guitars and pianos, closing out with an electronic beat. The electronic, bass-heavy pulse sounded the best, with well-rounded lows and balanced high-frequency effects. I was surprised to find a little crackling at the top of the treble, as this isn’t something I’d expect from detail headphones. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e6hZk2CTND3y62Hztf4r6B" name="FIIO_JT3_ 10.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/e6hZk2CTND3y62Hztf4r6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After, I listened to Grimes to test out the balance between soft feminine vocals and electronic instrumentals. I played loads of tracks, but I’ll just discuss ‘Violence’ here. This track has an electrifying techno beat with Grimes’s ethereal vocals floating over the soundstage. </p><p>As expected, Grimes’s delicate vocals were prevalent at the front of the track, as were the high-frequency electronic percussion instruments, but there was a touch of softness in the treble. The bass was warm and rich, with no muddiness or confusion. I’ll just throw in one more track here: ‘4AEM’ by Grimes is a DnB-heavy track with clattering percussion and breathy vocals. This song was a particular standout, showcasing the DJ 300 Pro X’s immersive bass performance and ability to balance sound across the frequency range. </p><p>However, ‘We Appreciate Power’, a metal guitar-led track rather than electronic instruments, suffered from the same crispiness as the Billie Eilish record, so I wouldn’t recommend these cans for rock or heavy genres. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8zFS6Y6FRJNCzKuGeg5z6B" name="FIIO_JT3_ 11.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/8zFS6Y6FRJNCzKuGeg5z6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’ll discuss ‘Pennyroyal Tea’ by Nirvana. This track has Nirvana’s classic grunge flair, groaning guitars layered over Kurt Cobain’s raspy vocal, with quiet verses and loud choruses. The choruses sounded a little flat, like the guitars and the vocals were recorded smashed together. The verses sounded better — more balance across the frequency range — but this song was far less dynamic than electronic genres. </p><p>In general, electronic music sounded the best. I know, shocking, seeing as the DJ 300 Pro X are DJ headphones. Even so, I tested with acoustic and rock music, too, for a balanced analysis. If you’re a rock, metal, or alternative DJ, you might want to consider something else. But for techno, DnB, house, garage, and anything in between, the DJ 300 Pro X balance bass and detail admirably. </p><h2 class="article-body__section" id="section-beyerdynamic-dj-300-pro-x-review-verdict"><span>Beyerdynamic DJ 300 Pro X review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cqs9KN7T6SbEZvRVDR3T6B" name="beyerdynamic_dj_300proX_ 4.JPG" alt="the beyerdynamic DJ 300 Pro X headphones in black showing their ear cups, carry bag, and connectivity options photographed against the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/cqs9KN7T6SbEZvRVDR3T6B.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you’re an electronic DJ, then the DJ 300 Pro X are fantastic headphones that’ll impress you. With faithful bass reproduction that balances studio-quality detail in the treble, you won’t miss a beat. </p><p>However, if you’re a rock, metal, indie DJ — anything predominantly guitar-based — you might be disappointed. The DJ 300 Pro X tend to muddy complex guitar-based instrumentals and suffer from a touch of crispness at the top of the treble. Even so — sweeping generalization incoming — many DJs might only need to consider electronic genre performance. </p><p>So if you’re one of the aforementioned electronic DJs, the DJ 300 Pro X are well worth looking into. Everyone else might be better off with the flatter <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50</a>. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve been using these over-ear headphones for a year, and they look cooler than Sony, Bose and JBL — the 100-hour battery life has everyone beat too ]]></title>
                                                                                                <dc:content><![CDATA[ <p>A year or so ago,<a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner"> my doctor banned me from in-ear earbuds</a> as excessively using them had resulted in me getting an ear infection. I was then advised to get myself a set of <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">over-ear headphones</a>, and so I did, and the pair I settled for was the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a>. </p><p>Truth be told, it's the best decision I've ever made. </p><p>If you need a pair of comfortable and powerful headphones, you'll love the Monitor III as much as I do (and <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">right now, you'll save $100 on them</a>).</p><p>The Monitor III, in my opinion, look far cooler than headphones from the likes of Sony, JBL and Bose. All of these brands are fantastic in their own right, but I'm partial towards a rockstar-esque look, and Marshall has designed the Monitor III with that thought in mind. After all, Green Day's frontman, Billie Joe Armstrong, modelled the headphones on launch, and who doesn't want to feel as cool as him?</p><div class="product"><a data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="aQySZAydrEzPDCrumqsYBR" name="Marshall Monitor III" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aQySZAydrEzPDCrumqsYBR.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279">Monitor III: was $379 now $279</a></strong><br>A great internal upgrade to Marshall’s already impressive noise canceling, bringing a slate of new features to the table. They’re comfortable, sound great, and fold up smaller than any other pair of noise-canceling headphones that money can buy.<a class="view-deal button" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279">View Deal</a></p></div><p>I've been using the Monitor III for a year now, and they're the most comfortable cans I've ever used. Their plush leather ear cushions sit snugly around my ears, and I'll often wear them for up to eight hours at a time, and they never hurt my ears or make them too hot. The leatherette and silicon headband also helps to relieve pressure on the top of my head, contributing towards the overall comfort.</p><p>As someone who often forgets to charge her headphones until it's too late, the Monitor III's battery life is nothing short of a blessing. On a single charge, you get 100 hours with ANC off and 70 hours with ANC on. That's phenomenal, and the battery life has remained reliable since I started using the headphones. They also feature fast charging, so charging them for 15 minutes yields up to 12 hours of playback time.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="PPUjHgmWSX4u3z3DpMknjS" name="Headphones-op-ed-11" alt="Marshall Monitor III over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PPUjHgmWSX4u3z3DpMknjS.jpg" mos="" align="middle" fullscreen="" width="2797" height="1573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>The Monitor III sound just as good (if not better) as they look. You can check out our in-depth <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review#section-marshall-monitor-iii-review-sound-quality">Marshall Monitor III review</a> for the full deets, but in a nutshell, they sound gorgeous. They boast a wide soundstage and make nearly every genre I listen to sound highly detailed. The bass is powerful but not booming; the treble is bright and crisp but not overzealous; and the transition between low hums to high screams is always smooth.</p><p>Whether I'm head-banging to Linkin Park or I'm deep in my thoughts while listening to the <a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review">Clair Obscur: Expedition 33</a> soundtrack, the Monitor III ensure I hear every note and feel fully immersed. I really can't recommend another pair of headphones if you want top-notch comfort, best-in-class sound quality, and long battery life.</p><p>For Presidents' Day, <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">Amazon has introduced a 26% price cut on the Monitor III</a>, bringing them down to $279 from their retail price of $379. I'd grab them now if I were you.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">The best noise-canceling headphones of 2026: Tested and reviewed</a></li></ul><div data-widget-type="review" data-model-name="Marshall Monitor III ANC"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/ive-been-using-these-over-ear-headphones-for-a-year-and-they-look-cooler-than-sony-bose-and-jbl-the-100-hour-battery-life-has-everyone-beat-too</link>
                                                                            <description>
                            <![CDATA[ The Marshall Monitor III look cool, sound great, and they last ages without charging. They're my favorite over-ear headphones, and are currently $100 off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xczjCEwWQwpmJoYsCzMvFJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XE2ZbEvn8536usoWtmPasa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 13 Feb 2026 10:28:43 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XE2ZbEvn8536usoWtmPasa-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Marshall Monitor III ANC headphones]]></media:description>                                                            <media:text><![CDATA[Marshall Monitor III ANC headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Marshall Monitor III ANC headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XE2ZbEvn8536usoWtmPasa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A year or so ago,<a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner"> my doctor banned me from in-ear earbuds</a> as excessively using them had resulted in me getting an ear infection. I was then advised to get myself a set of <a href="https://www.tomsguide.com/best-picks/best-over-ear-headphones">over-ear headphones</a>, and so I did, and the pair I settled for was the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a>. </p><p>Truth be told, it's the best decision I've ever made. </p><p>If you need a pair of comfortable and powerful headphones, you'll love the Monitor III as much as I do (and <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">right now, you'll save $100 on them</a>).</p><p>The Monitor III, in my opinion, look far cooler than headphones from the likes of Sony, JBL and Bose. All of these brands are fantastic in their own right, but I'm partial towards a rockstar-esque look, and Marshall has designed the Monitor III with that thought in mind. After all, Green Day's frontman, Billie Joe Armstrong, modelled the headphones on launch, and who doesn't want to feel as cool as him?</p><div class="product"><a data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="aQySZAydrEzPDCrumqsYBR" name="Marshall Monitor III" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aQySZAydrEzPDCrumqsYBR.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279">Monitor III: was $379 now $279</a></strong><br>A great internal upgrade to Marshall’s already impressive noise canceling, bringing a slate of new features to the table. They’re comfortable, sound great, and fold up smaller than any other pair of noise-canceling headphones that money can buy.<a class="view-deal button" href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow" data-dimension112="99d1c816-4bd1-43e2-b4a8-706477b5be95" data-action="Deal Block" data-label="Monitor III" data-dimension48="Monitor III" data-dimension25="$279">View Deal</a></p></div><p>I've been using the Monitor III for a year now, and they're the most comfortable cans I've ever used. Their plush leather ear cushions sit snugly around my ears, and I'll often wear them for up to eight hours at a time, and they never hurt my ears or make them too hot. The leatherette and silicon headband also helps to relieve pressure on the top of my head, contributing towards the overall comfort.</p><p>As someone who often forgets to charge her headphones until it's too late, the Monitor III's battery life is nothing short of a blessing. On a single charge, you get 100 hours with ANC off and 70 hours with ANC on. That's phenomenal, and the battery life has remained reliable since I started using the headphones. They also feature fast charging, so charging them for 15 minutes yields up to 12 hours of playback time.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="PPUjHgmWSX4u3z3DpMknjS" name="Headphones-op-ed-11" alt="Marshall Monitor III over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PPUjHgmWSX4u3z3DpMknjS.jpg" mos="" align="middle" fullscreen="" width="2797" height="1573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>The Monitor III sound just as good (if not better) as they look. You can check out our in-depth <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review#section-marshall-monitor-iii-review-sound-quality">Marshall Monitor III review</a> for the full deets, but in a nutshell, they sound gorgeous. They boast a wide soundstage and make nearly every genre I listen to sound highly detailed. The bass is powerful but not booming; the treble is bright and crisp but not overzealous; and the transition between low hums to high screams is always smooth.</p><p>Whether I'm head-banging to Linkin Park or I'm deep in my thoughts while listening to the <a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review">Clair Obscur: Expedition 33</a> soundtrack, the Monitor III ensure I hear every note and feel fully immersed. I really can't recommend another pair of headphones if you want top-notch comfort, best-in-class sound quality, and long battery life.</p><p>For Presidents' Day, <a href="https://www.amazon.com/Marshall-Canceling-Over-Ear-Bluetooth-Headphones/dp/B0DFDT1TWC/" target="_blank" rel="nofollow">Amazon has introduced a 26% price cut on the Monitor III</a>, bringing them down to $279 from their retail price of $379. I'd grab them now if I were you.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">My doctor banned me from earbuds so I got these Marshall headphones instead — and I’m surprised I didn’t do it sooner</a></li><li><a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III review: When heritage meets sonic prowess</a></li><li><a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">The best noise-canceling headphones of 2026: Tested and reviewed</a></li></ul><div data-widget-type="review" data-model-name="Marshall Monitor III ANC"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I like to call my Beats Studio Pro my ‘anxiety mute button’ — and Presidents’ Day finally makes them more affordable with $180 off ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Ever since the Beats Studio Pro were released, I’ve worn them pretty much every single day. Not just because I love music (my Spotify really does hate to see me coming), but because loud, unpredictable noise is prime anxiety fuel for me. That includes busy streets and crowded trains during a morning commute to work. The adaptive noise canceling on these creates an instant sense of calm, like stepping into my own quiet bubble. They’re as essential as my phone and keys at this point.</p><p>And right now, the <a href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow">Beats Studio Pro are 51% off for Presidents’ Day</a>, with $180 shaved off the usual $349. If you’ve been thinking about grabbing a pair or just need a way to calm your anxiety too, this is one of the rare moments to do it.</p><div class="product"><a data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169" href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="u3RQaSLERRysV4nDiP3SZk" name="Beats Studio Pro.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/u3RQaSLERRysV4nDiP3SZk.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>I’ve used the <a href="https://www.tomsguide.com/reviews/beats-studio-pro-review" data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169">Beats Studio Pro</a> for years, and they’re the one piece of tech I genuinely rely on daily. The noise canceling creates instant calm in busy spaces, while the sound is rich and immersive without feeling overwhelming. Long battery life and all-day comfort make them easy to live in, so you don't have to constantly worry about charging them.<a class="view-deal button" href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow" data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169">View Deal</a></p></div><div><blockquote><p>Comfort is just as important as sound, especially since I have multiple ear piercings and usually wear bulky jewelry.</p></blockquote></div><p>Ever since I got my Beats Studio Pro, I’ve worn them nearly every single day. For me, uninterrupted music isn’t just a pleasure but a way to manage my anxiety. It’s bass-forward like you’d expect from Beats, but still balanced enough that vocals and highs don’t get lost. Even at higher volumes, everything stays clear without that tinny or distorted feel some headphones have. </p><p>Comfort is just as important as sound, especially since I have multiple ear piercings and usually wear bulky jewelry. The plush ear cups fit my smaller ears without pressing or causing irritation, even after hours of wear. Plus, the long battery life is a lifesaver, because these headphones are practically glued to my head from morning until night.</p><p>As much as I love them, $349 was always a bit steep — I got them during an early sale and can confirm that this <a href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow">51% Presidents’ Day discount</a> ($180 off) is genuinely worth it. If you’ve been thinking about a pair, now is the time to snag this deal. </p><p>For more savings, check out our guide on the <a href="https://www.tomsguide.com/sales-events/presidents-day-sales-2026-all-the-best-deals-id-buy">best Presidents' Day sales of 2026</a>,  along with the <a href="https://www.tomsguide.com/sales-events/ive-covered-17-presidents-day-sales-and-these-are-the-early-deals-id-actually-buy-with-my-own-money">top deals we'd actually buy with our own money</a>.</p><div data-model-name="Beats Studio Pro" data-widget-type="review"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/i-like-to-call-my-beats-studio-pro-my-anxiety-mute-button-and-presidents-day-finally-makes-them-more-affordable-with-usd180-off</link>
                                                                            <description>
                            <![CDATA[ These are the headphones I use every day for peace and quiet, and Presidents’ Day drops them by $180 on Amazon. Grab a pair now for over 50% off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7Z8Pr4Pr3dhvSNbUP8iYHJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ecFKv9dEofnsivLbnuaQEN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 12 Feb 2026 11:44:10 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ alix.blackburn@futurenet.com (Alix Blackburn) ]]></author>                    <dc:creator><![CDATA[ Alix Blackburn ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8UxyT2McanNFLYwQ6wC7di.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ecFKv9dEofnsivLbnuaQEN-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Beats]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Beats Studio Pro deal]]></media:description>                                                            <media:text><![CDATA[Beats Studio Pro deal]]></media:text>
                                <media:title type="plain"><![CDATA[Beats Studio Pro deal]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ecFKv9dEofnsivLbnuaQEN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Ever since the Beats Studio Pro were released, I’ve worn them pretty much every single day. Not just because I love music (my Spotify really does hate to see me coming), but because loud, unpredictable noise is prime anxiety fuel for me. That includes busy streets and crowded trains during a morning commute to work. The adaptive noise canceling on these creates an instant sense of calm, like stepping into my own quiet bubble. They’re as essential as my phone and keys at this point.</p><p>And right now, the <a href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow">Beats Studio Pro are 51% off for Presidents’ Day</a>, with $180 shaved off the usual $349. If you’ve been thinking about grabbing a pair or just need a way to calm your anxiety too, this is one of the rare moments to do it.</p><div class="product"><a data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169" href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="u3RQaSLERRysV4nDiP3SZk" name="Beats Studio Pro.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/u3RQaSLERRysV4nDiP3SZk.jpg" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>I’ve used the <a href="https://www.tomsguide.com/reviews/beats-studio-pro-review" data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169">Beats Studio Pro</a> for years, and they’re the one piece of tech I genuinely rely on daily. The noise canceling creates instant calm in busy spaces, while the sound is rich and immersive without feeling overwhelming. Long battery life and all-day comfort make them easy to live in, so you don't have to constantly worry about charging them.<a class="view-deal button" href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow" data-dimension112="0fce0394-9a71-4d60-89fb-959705c37319" data-action="Deal Block" data-label="Studio Pro" data-dimension48="Studio Pro" data-dimension25="$169">View Deal</a></p></div><div><blockquote><p>Comfort is just as important as sound, especially since I have multiple ear piercings and usually wear bulky jewelry.</p></blockquote></div><p>Ever since I got my Beats Studio Pro, I’ve worn them nearly every single day. For me, uninterrupted music isn’t just a pleasure but a way to manage my anxiety. It’s bass-forward like you’d expect from Beats, but still balanced enough that vocals and highs don’t get lost. Even at higher volumes, everything stays clear without that tinny or distorted feel some headphones have. </p><p>Comfort is just as important as sound, especially since I have multiple ear piercings and usually wear bulky jewelry. The plush ear cups fit my smaller ears without pressing or causing irritation, even after hours of wear. Plus, the long battery life is a lifesaver, because these headphones are practically glued to my head from morning until night.</p><p>As much as I love them, $349 was always a bit steep — I got them during an early sale and can confirm that this <a href="https://www.amazon.com/Beats-Studio-Pro-Personalized-Compatibility/dp/B0C8PR4W22" target="_blank" rel="nofollow">51% Presidents’ Day discount</a> ($180 off) is genuinely worth it. If you’ve been thinking about a pair, now is the time to snag this deal. </p><p>For more savings, check out our guide on the <a href="https://www.tomsguide.com/sales-events/presidents-day-sales-2026-all-the-best-deals-id-buy">best Presidents' Day sales of 2026</a>,  along with the <a href="https://www.tomsguide.com/sales-events/ive-covered-17-presidents-day-sales-and-these-are-the-early-deals-id-actually-buy-with-my-own-money">top deals we'd actually buy with our own money</a>.</p><div data-model-name="Beats Studio Pro" data-widget-type="review"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I survived a 15-hour coach journey thanks to these Bose headphones — now you can get $50 off the QuiteComfort Ultra Gen 2 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I am a big fan of long journeys. Watching the scenery rush past, the quiet hum of an engine, the woosh of the tires. I prefer those journeys in a car, however. That way, I'm not disturbed by a socially inept person blasting their favorite drum and bass tracks at full volume out of their phone speakers.</p><p>Recently, I was doing some traveling across the country, and found that a coach would be the cheapest way to do it. It would not be the calmest, however, so I was very thankful that I remembered to pack my bag with the QuietComfort Ultra Headphones Gen 2. Drum and bass be gone.</p><p>Now my saviors can be yours for less — <a href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow">they're currently $399 at Amazon</a>, thanks to a $50 discount.</p><div class="product"><a data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399" href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="iPfpWwrQeGYvMmxuZPCecS" name="Bose QC Ultra gen 2 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPfpWwrQeGYvMmxuZPCecS.jpg" mos="" align="middle" fullscreen="" width="1200" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow" data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399">QuietComfort Ultra Headphones Gen 2: was $449 now $399</a></strong><br>The QuietComfort Ultra Gen 2 are a spectacular pair of headphones, with great ANC that defeats everything else around. They're comfortable, handsome, and they sound pretty good to boot. The 30 battery life makes them more tempting than the old model as well.<a class="view-deal button" href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow" data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399">View Deal</a></p></div><p>I love drum and bass, don't get me wrong. Pounding low notes, massive drops, the heady delights of a darkened room at 3am as revelers try to dodge police attention. I don't love drum and bass when it's 9pm, and i'm trying to get some sleep on a bumpy coach ride with 12 hours to go.</p><p>Unluckily, they were sat just behind me, blasting an ungodly mix of Jungle, Jump Up, and goodness knows what else. If those words mean nothing to you, just imagine a wall of noise played through an ancient phone speaker. That was to be my sonic fate, as far as I could tell, for 15 hours.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPkNbWYWPGMsPLVmRQbSu4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/vPkNbWYWPGMsPLVmRQbSu4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I don't usually wear headphones when I try to sleep, but my erstwhile cabin mate forced my hand. I pulled my QC Ultra Gen 2 over my head and turned on the ANC. Normally, I'd expect the noise of the tires to go, the sound of the engine to melt away — but my d&b loving friend was also silenced.</p><p>I didn't even play any music while I got some sleep. I just left the ANC on, blocking out the rave playlist blasting away behind me. Then, when I woke up, I left them on and played my own music. Not a drum or a bass in sight. Well, some bass. and some drums. But not those drums or basses.</p><p>The 30 hour battery life was more than enough to get me through the night and the rest of my journey, and the comfortable padding made sure I didn't get uncomfortable. At least my ears were comfortable — I don't want to spend too long thinking about that coach seat.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NZSaQVTjyyQAUhvWeRw8u4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/NZSaQVTjyyQAUhvWeRw8u4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I'm hoping I don't have to take another coach, given my long experience with this one. But, if I do, I know what headphones I'm packing in my bag to make sure I can't hear the music taste of the people sitting around me.</p><p>The first thing going in my luggage are the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">QuietComfort Ultra Headphones Gen 2</a> — the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best ANC headphones</a> that let me choose when I want to listen to drum and bass.</p><div data-widget-type="review" data-model-name="Bose QuietComfort Ultra Headphones (2nd Gen)"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/i-survived-a-15-hour-coach-journey-thanks-to-these-bose-headphones-now-you-can-get-usd50-off-the-quitecomfort-ultra-gen-2</link>
                                                                            <description>
                            <![CDATA[ The Bose QuietComfort Ultra Headphones gen 2 helped me through a long, long car journey — and now they're a whole load cheaper at Amazon. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZL3a4SpA8xvswpfGGuPv33</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bFrbxLZU5WhCuUhgYmDicV-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 12 Feb 2026 11:35:03 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/bFrbxLZU5WhCuUhgYmDicV-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bose QuietComfort Ultra Headphones gen 2]]></media:description>                                                            <media:text><![CDATA[Bose QuietComfort Ultra Headphones gen 2]]></media:text>
                                <media:title type="plain"><![CDATA[Bose QuietComfort Ultra Headphones gen 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bFrbxLZU5WhCuUhgYmDicV-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I am a big fan of long journeys. Watching the scenery rush past, the quiet hum of an engine, the woosh of the tires. I prefer those journeys in a car, however. That way, I'm not disturbed by a socially inept person blasting their favorite drum and bass tracks at full volume out of their phone speakers.</p><p>Recently, I was doing some traveling across the country, and found that a coach would be the cheapest way to do it. It would not be the calmest, however, so I was very thankful that I remembered to pack my bag with the QuietComfort Ultra Headphones Gen 2. Drum and bass be gone.</p><p>Now my saviors can be yours for less — <a href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow">they're currently $399 at Amazon</a>, thanks to a $50 discount.</p><div class="product"><a data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399" href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="iPfpWwrQeGYvMmxuZPCecS" name="Bose QC Ultra gen 2 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPfpWwrQeGYvMmxuZPCecS.jpg" mos="" align="middle" fullscreen="" width="1200" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow" data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399">QuietComfort Ultra Headphones Gen 2: was $449 now $399</a></strong><br>The QuietComfort Ultra Gen 2 are a spectacular pair of headphones, with great ANC that defeats everything else around. They're comfortable, handsome, and they sound pretty good to boot. The 30 battery life makes them more tempting than the old model as well.<a class="view-deal button" href="https://www.amazon.com/dp/B0FDKR293G/" target="_blank" rel="nofollow" data-dimension112="945739ff-30f4-41df-8d6e-3356caa3bc13" data-action="Deal Block" data-label="QuietComfort Ultra Headphones Gen 2" data-dimension48="QuietComfort Ultra Headphones Gen 2" data-dimension25="$399">View Deal</a></p></div><p>I love drum and bass, don't get me wrong. Pounding low notes, massive drops, the heady delights of a darkened room at 3am as revelers try to dodge police attention. I don't love drum and bass when it's 9pm, and i'm trying to get some sleep on a bumpy coach ride with 12 hours to go.</p><p>Unluckily, they were sat just behind me, blasting an ungodly mix of Jungle, Jump Up, and goodness knows what else. If those words mean nothing to you, just imagine a wall of noise played through an ancient phone speaker. That was to be my sonic fate, as far as I could tell, for 15 hours.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPkNbWYWPGMsPLVmRQbSu4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/vPkNbWYWPGMsPLVmRQbSu4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I don't usually wear headphones when I try to sleep, but my erstwhile cabin mate forced my hand. I pulled my QC Ultra Gen 2 over my head and turned on the ANC. Normally, I'd expect the noise of the tires to go, the sound of the engine to melt away — but my d&b loving friend was also silenced.</p><p>I didn't even play any music while I got some sleep. I just left the ANC on, blocking out the rave playlist blasting away behind me. Then, when I woke up, I left them on and played my own music. Not a drum or a bass in sight. Well, some bass. and some drums. But not those drums or basses.</p><p>The 30 hour battery life was more than enough to get me through the night and the rest of my journey, and the comfortable padding made sure I didn't get uncomfortable. At least my ears were comfortable — I don't want to spend too long thinking about that coach seat.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NZSaQVTjyyQAUhvWeRw8u4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/NZSaQVTjyyQAUhvWeRw8u4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I'm hoping I don't have to take another coach, given my long experience with this one. But, if I do, I know what headphones I'm packing in my bag to make sure I can't hear the music taste of the people sitting around me.</p><p>The first thing going in my luggage are the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">QuietComfort Ultra Headphones Gen 2</a> — the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best ANC headphones</a> that let me choose when I want to listen to drum and bass.</p><div data-widget-type="review" data-model-name="Bose QuietComfort Ultra Headphones (2nd Gen)"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ You don't have to buy Sony's flagship WH-1000XM6 headphones for great sound — save $150 and buy these instead ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Since the release of the Sony WH-1000XM6 in 2025, the previous model of the beloved headphones, the Sony WH-1000XM5 headphones, have moved into that price sweet-spot, offering great audio quality and noise cancelation at a reduced price. </p><p>But when there’s a new version available, why would you buy the old model? I hear ya — but there’s actually a whole bunch of similarities between the two sets of cans. I mean, they’re both some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a> you can be. One's just a little bit newer. </p><p>If you want the comfort and stunning sound profile that comes with owning a pair of Sony’s flagship headphones — but are also conscious about your budget — then picking up the previous model is the best option. </p><div class="product"><a data-dimension112="e575735a-d86c-49e8-af7d-fca16d6829b6" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/Sony-WH-1000XM6-Headphones-Microphones-Studio-Quality/dp/B0F3QJLD3B" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:488px;"><p class="vanilla-image-block" style="padding-top:102.46%;"><img id="aJUVmnNwbcnyTkbJ6X5JzV" name="sony-wh1000xm6-the-best-noise-canceling--b54d1749-dfae-4db4-a221-266cd2e6e28a.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aJUVmnNwbcnyTkbJ6X5JzV.jpg" mos="" align="middle" fullscreen="" width="488" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM6 headphones sit at the top of the Sony headphones hierarchy with excellent noise canceling, supremely comfortable sound and 30 hours of battery life. They are a totally reliable pair of premium cans that come in a variety of colors to suit any style.<a class="view-deal button" href="https://www.amazon.com/Sony-WH-1000XM6-Headphones-Microphones-Studio-Quality/dp/B0F3QJLD3B" target="_blank" rel="nofollow" data-dimension112="e575735a-d86c-49e8-af7d-fca16d6829b6" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><div class="product"><a data-dimension112="bb20e7ff-6e17-453e-bf8a-1fb2da976f02" data-action="Deal Block" data-label="Sony WH-1000XM5" data-dimension48="Sony WH-1000XM5" data-dimension25="$298" href="https://www.amazon.com/dp/B09XS7JWHH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:369px;"><p class="vanilla-image-block" style="padding-top:135.50%;"><img id="5CU5XDyzDn53jjmwnmUcsV" name="sony-wh1000xm5-premium-noise-canceling-h-0ddcd26e-ef65-404b-98fa-275d2d03567a.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5CU5XDyzDn53jjmwnmUcsV.jpg" mos="" align="middle" fullscreen="" width="369" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM5 headphones are an excellent set of cans, and can often be found on sale for as low as $250! They offer great sound with reliable active noise cancelation, making them an ideal choice for anyone who needs a reliable audio companion. The 30 hours of battery life also make them a worthy choice. <a class="view-deal button" href="https://www.amazon.com/dp/B09XS7JWHH" target="_blank" rel="nofollow" data-dimension112="bb20e7ff-6e17-453e-bf8a-1fb2da976f02" data-action="Deal Block" data-label="Sony WH-1000XM5" data-dimension48="Sony WH-1000XM5" data-dimension25="$298">View Deal</a></p></div><h2 id="the-key-differences">The key differences</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="etVKqBsC6RV4WjgmTPvAS3" name="IMG_2840 (2).JPG" alt="Sony XM5 showing outer earcups placed on an outdoor table" src="https://cdn.mos.cms.futurecdn.net/etVKqBsC6RV4WjgmTPvAS3.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Upon first glance, the headphones look pretty much identical. It’s when you start looking a little closer that you see all of the details Sony changed to make the WH-1000XM6 a better fit. The most notable difference is that while the XM5 earcups rotate for storage, the XM6s are actually foldable, making them an easier and more compact option to throw in your bag. </p><p>The XM6s also benefit from the addition of Bluetooth LE and Auracast, and have heaps more room for EQ adjustment. While both headphones are supported by the Sony Connect app, you can certainly do more with the XM6s. </p><p>Active noise cancelation is also improved in the XM6 headphones, thanks to three additional mics. As a bonus, these also improve call quality. </p><h2 id="level-playing-field">Level playing field</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="TZKMvVBZCvEeGUr7RbhHaD" name="SOny Xm5 wireless charging" alt="Sony XM5 in hand" src="https://cdn.mos.cms.futurecdn.net/TZKMvVBZCvEeGUr7RbhHaD.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But that’s pretty much where the differences stop. So now we've covered that, what are the similarities? Well, with ANC turned on, both models give 30 hours of battery life. I use the WH-1000XM5 headphones every day when I’m working, and I can go weeks between charges. This obviously depends on how loud I listen to the music, but it’s great to say that even with "older" headphones, I have no concerns about them dying on me.</p><p>When I’m looking for new headphones, battery life is one of the main things I take into consideration. I’m generally super forgetful, so I've found myself on more than one occasion ready to head out the door before realising my headphones are totally out of juice. But the 30 hours of battery life mean that this happens way less often, and I can rely on the headphones to power me through my whole day. </p><h2 id="good-to-be-frugal">Good to be frugal</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1555px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="Vi2wGRxkSHN8mbGjLAcdmX" name="TG_Sony-XM5s-Link-Buds-S_4.jpg" alt="Black and ecru (off-white) color versions against a office window" src="https://cdn.mos.cms.futurecdn.net/Vi2wGRxkSHN8mbGjLAcdmX.jpg" mos="" align="middle" fullscreen="" width="1555" height="874" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In this instance, I would advise being frugal. While the sound profile of the WH-1000XM6 headphones pips the XM5s to the post for more detailed listening, there’s not a great deal in it. In fact, when listening to more electronic music, I much prefer the sound profile of the XM5 headphones. </p><p>Of course, this is personal preference, but I'd argue $150 is more than just pocket change. It's a sizeable difference in outlay and when both headphones are at full price, it’s a no-brainer to go with the previous generation.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">I tested the Sony WH-1000XM6 for three weeks — here’s my verdict</a></li><li><a href="https://www.tomsguide.com/entertainment/music-streaming/youtube-music-is-locking-this-key-feature-behind-a-paywall-because-apparently-google-has-no-shame">YouTube Music is locking this key feature behind a paywall — because apparently Google has no shame</a></li><li><a href="https://www.tomsguide.com/entertainment/hbo-max/hbo-max-finally-confirms-u-k-launch-date-and-pricing-and-itll-be-home-to-an-exclusive-emmy-award-winning-drama">HBO Max finally confirms U.K. launch date and pricing — and it'll be home to an exclusive Emmy award-winning drama</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/you-dont-have-to-buy-sonys-flagship-wh-1000xm6-headphones-for-great-sound-save-usd150-and-buy-these-instead</link>
                                                                            <description>
                            <![CDATA[ Sony’s WH-1000XM6 headphones offer great ANC and amazing sound… but I think you should buy the WH-1000XM5 instead. Here’s why. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">83TV4RbP8siWmfQM5XqakK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/D62H5LoWKV6hucSDjWDAB7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 10 Feb 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ ashley.thieme@futurenet.com (Ashley Thieme) ]]></author>                    <dc:creator><![CDATA[ Ashley Thieme ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3AWovHjApwuNrSGRS6WBcL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ashley Thieme is a staff writer on the Reviews team at Tom’s Guide where she tests out the latest tech so you can know what’s going to be worth your time and money.She has a master’s degree in Magazine Journalism and a bachelor’s degree in Journalism, Media and Sociology from Cardiff University. She has bylines in titles including Women’s Health UK online, sharing the latest health and wellness news stories, and Virgin Radio UK, providing the latest entertainment news and working on celebrity interviews.She has experience reporting on a variety of topics including music, literature, motorsport, entertainment and health, and has her own newsletter where she shares reviews of her favorite books, Ashley’s Reading Nook. In previously published work, she has reviewed live music events, books, and wellness products.She values the importance of tech enhancing your life rather than taking over, and as a music fanatic, she is always looking for the best way to listen to new music releases. Discovering the top audio equipment that enhances sound quality and provides optimum comfort is what Ashley does best.In her spare time, Ashley enjoys hitting her reading goals on Goodreads by getting into the latest fantasy novels with a cup of tea as well as getting out in the Welsh mountains for a good hike on the weekend.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/D62H5LoWKV6hucSDjWDAB7-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Sony WH-1000XM5 and XM6 on a table outside]]></media:description>                                                            <media:text><![CDATA[The Sony WH-1000XM5 and XM6 on a table outside]]></media:text>
                                <media:title type="plain"><![CDATA[The Sony WH-1000XM5 and XM6 on a table outside]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/D62H5LoWKV6hucSDjWDAB7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Since the release of the Sony WH-1000XM6 in 2025, the previous model of the beloved headphones, the Sony WH-1000XM5 headphones, have moved into that price sweet-spot, offering great audio quality and noise cancelation at a reduced price. </p><p>But when there’s a new version available, why would you buy the old model? I hear ya — but there’s actually a whole bunch of similarities between the two sets of cans. I mean, they’re both some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a> you can be. One's just a little bit newer. </p><p>If you want the comfort and stunning sound profile that comes with owning a pair of Sony’s flagship headphones — but are also conscious about your budget — then picking up the previous model is the best option. </p><div class="product"><a data-dimension112="e575735a-d86c-49e8-af7d-fca16d6829b6" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/Sony-WH-1000XM6-Headphones-Microphones-Studio-Quality/dp/B0F3QJLD3B" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:488px;"><p class="vanilla-image-block" style="padding-top:102.46%;"><img id="aJUVmnNwbcnyTkbJ6X5JzV" name="sony-wh1000xm6-the-best-noise-canceling--b54d1749-dfae-4db4-a221-266cd2e6e28a.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aJUVmnNwbcnyTkbJ6X5JzV.jpg" mos="" align="middle" fullscreen="" width="488" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM6 headphones sit at the top of the Sony headphones hierarchy with excellent noise canceling, supremely comfortable sound and 30 hours of battery life. They are a totally reliable pair of premium cans that come in a variety of colors to suit any style.<a class="view-deal button" href="https://www.amazon.com/Sony-WH-1000XM6-Headphones-Microphones-Studio-Quality/dp/B0F3QJLD3B" target="_blank" rel="nofollow" data-dimension112="e575735a-d86c-49e8-af7d-fca16d6829b6" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><div class="product"><a data-dimension112="bb20e7ff-6e17-453e-bf8a-1fb2da976f02" data-action="Deal Block" data-label="Sony WH-1000XM5" data-dimension48="Sony WH-1000XM5" data-dimension25="$298" href="https://www.amazon.com/dp/B09XS7JWHH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:369px;"><p class="vanilla-image-block" style="padding-top:135.50%;"><img id="5CU5XDyzDn53jjmwnmUcsV" name="sony-wh1000xm5-premium-noise-canceling-h-0ddcd26e-ef65-404b-98fa-275d2d03567a.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5CU5XDyzDn53jjmwnmUcsV.jpg" mos="" align="middle" fullscreen="" width="369" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM5 headphones are an excellent set of cans, and can often be found on sale for as low as $250! They offer great sound with reliable active noise cancelation, making them an ideal choice for anyone who needs a reliable audio companion. The 30 hours of battery life also make them a worthy choice. <a class="view-deal button" href="https://www.amazon.com/dp/B09XS7JWHH" target="_blank" rel="nofollow" data-dimension112="bb20e7ff-6e17-453e-bf8a-1fb2da976f02" data-action="Deal Block" data-label="Sony WH-1000XM5" data-dimension48="Sony WH-1000XM5" data-dimension25="$298">View Deal</a></p></div><h2 id="the-key-differences">The key differences</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="etVKqBsC6RV4WjgmTPvAS3" name="IMG_2840 (2).JPG" alt="Sony XM5 showing outer earcups placed on an outdoor table" src="https://cdn.mos.cms.futurecdn.net/etVKqBsC6RV4WjgmTPvAS3.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Upon first glance, the headphones look pretty much identical. It’s when you start looking a little closer that you see all of the details Sony changed to make the WH-1000XM6 a better fit. The most notable difference is that while the XM5 earcups rotate for storage, the XM6s are actually foldable, making them an easier and more compact option to throw in your bag. </p><p>The XM6s also benefit from the addition of Bluetooth LE and Auracast, and have heaps more room for EQ adjustment. While both headphones are supported by the Sony Connect app, you can certainly do more with the XM6s. </p><p>Active noise cancelation is also improved in the XM6 headphones, thanks to three additional mics. As a bonus, these also improve call quality. </p><h2 id="level-playing-field">Level playing field</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="TZKMvVBZCvEeGUr7RbhHaD" name="SOny Xm5 wireless charging" alt="Sony XM5 in hand" src="https://cdn.mos.cms.futurecdn.net/TZKMvVBZCvEeGUr7RbhHaD.jpg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But that’s pretty much where the differences stop. So now we've covered that, what are the similarities? Well, with ANC turned on, both models give 30 hours of battery life. I use the WH-1000XM5 headphones every day when I’m working, and I can go weeks between charges. This obviously depends on how loud I listen to the music, but it’s great to say that even with "older" headphones, I have no concerns about them dying on me.</p><p>When I’m looking for new headphones, battery life is one of the main things I take into consideration. I’m generally super forgetful, so I've found myself on more than one occasion ready to head out the door before realising my headphones are totally out of juice. But the 30 hours of battery life mean that this happens way less often, and I can rely on the headphones to power me through my whole day. </p><h2 id="good-to-be-frugal">Good to be frugal</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1555px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="Vi2wGRxkSHN8mbGjLAcdmX" name="TG_Sony-XM5s-Link-Buds-S_4.jpg" alt="Black and ecru (off-white) color versions against a office window" src="https://cdn.mos.cms.futurecdn.net/Vi2wGRxkSHN8mbGjLAcdmX.jpg" mos="" align="middle" fullscreen="" width="1555" height="874" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In this instance, I would advise being frugal. While the sound profile of the WH-1000XM6 headphones pips the XM5s to the post for more detailed listening, there’s not a great deal in it. In fact, when listening to more electronic music, I much prefer the sound profile of the XM5 headphones. </p><p>Of course, this is personal preference, but I'd argue $150 is more than just pocket change. It's a sizeable difference in outlay and when both headphones are at full price, it’s a no-brainer to go with the previous generation.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">I tested the Sony WH-1000XM6 for three weeks — here’s my verdict</a></li><li><a href="https://www.tomsguide.com/entertainment/music-streaming/youtube-music-is-locking-this-key-feature-behind-a-paywall-because-apparently-google-has-no-shame">YouTube Music is locking this key feature behind a paywall — because apparently Google has no shame</a></li><li><a href="https://www.tomsguide.com/entertainment/hbo-max/hbo-max-finally-confirms-u-k-launch-date-and-pricing-and-itll-be-home-to-an-exclusive-emmy-award-winning-drama">HBO Max finally confirms U.K. launch date and pricing — and it'll be home to an exclusive Emmy award-winning drama</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hurry! I just found the Sony WH-1000XM6 at their lowest price on Amazon — $60 off ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There are loads of headphones to consider if you're looking for something new to slide over your ears, but there are few as fully featured as the Sony WH-1000XM6. They're the poster child for wireless headphones, representing the culmination of six iterations of the X mark family.</p><p>They also tend to come at a pretty high asking price — although you can <a href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow">currently save a whopping $60 at Amazon</a>. That brings them back down to their lowest ever price for the first time in 2026. </p><div class="product"><a data-dimension112="00bd2bdc-d8b4-4b56-9124-a2660107c342" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Sony's flagship headphones are a noise-cancelling hero. They're a handsome pair of great-sounding headphones, packing in more features than just about anything else you can buy. The WH-1000XM6 have 30 hours of battery life, a folding design to make them more compact, and excellent noise canceling to keep the outside world at bay.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="00bd2bdc-d8b4-4b56-9124-a2660107c342" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><p>The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">WH-1000XM6</a> might not be our top pick for the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> this year, but they're jam-packed with excellent features. They've got one of the strongest EQs in the category, with 10 bands of adjustment, so you can really dial in the sound to your preferences.</p><p>The ANC is super adjustable and extremely effective. You can even set different levels for different environments, using your phone's GPS and other features. It's all very clever, and more fully-featured than the Bose-flavored competition.</p><p>Sound is, as you might expect from Sony, very good. As has become well known with the XM family of headphones, you've got plenty of bass here, but there's an attention to vocals and voices that's uncommon for wireless ANC headphones. The soundstage has taken a slight hit as a result, making them more intimate than open and wide. Still, most people are going to wear them and think, "yeah, these sound epic."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jD5PduJwKBjXbAciWQp72D" name="Sony WH-1000XM6--10" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/jD5PduJwKBjXbAciWQp72D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>30 hours of battery life is fine, easily enough to get you to the airport from a hotel and through your long-haul business flight. They fold up nice and small, too, into a compact protective case that's easier to fit into your carry-on luggage. You also get the requisite flight adapters and cables so that you can use them without a Bluetooth connection or to watch in-flight entertainment.</p><p>This is their lowest price, and we have seen it a couple of times before. It's a saving that pops its head up every few months, ready to help you save on a new pair of headphones. This is one such time — don't miss out this time around!</p><div data-widget-type="review" data-model-name="Sony WH-1000XM6"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/hurry-i-just-found-the-sony-wh-1000xm6-at-their-lowest-price-on-amazon-usd60-off</link>
                                                                            <description>
                            <![CDATA[ The Sony WH-1000XM6 have just returned to their lowest-ever price thanks to a big discount at Amazon. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">opmmzpWsWBqAc5BmjPwyFE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 09 Feb 2026 11:09:34 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:description>                                                            <media:text><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:text>
                                <media:title type="plain"><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There are loads of headphones to consider if you're looking for something new to slide over your ears, but there are few as fully featured as the Sony WH-1000XM6. They're the poster child for wireless headphones, representing the culmination of six iterations of the X mark family.</p><p>They also tend to come at a pretty high asking price — although you can <a href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow">currently save a whopping $60 at Amazon</a>. That brings them back down to their lowest ever price for the first time in 2026. </p><div class="product"><a data-dimension112="00bd2bdc-d8b4-4b56-9124-a2660107c342" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Sony's flagship headphones are a noise-cancelling hero. They're a handsome pair of great-sounding headphones, packing in more features than just about anything else you can buy. The WH-1000XM6 have 30 hours of battery life, a folding design to make them more compact, and excellent noise canceling to keep the outside world at bay.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="00bd2bdc-d8b4-4b56-9124-a2660107c342" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><p>The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">WH-1000XM6</a> might not be our top pick for the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> this year, but they're jam-packed with excellent features. They've got one of the strongest EQs in the category, with 10 bands of adjustment, so you can really dial in the sound to your preferences.</p><p>The ANC is super adjustable and extremely effective. You can even set different levels for different environments, using your phone's GPS and other features. It's all very clever, and more fully-featured than the Bose-flavored competition.</p><p>Sound is, as you might expect from Sony, very good. As has become well known with the XM family of headphones, you've got plenty of bass here, but there's an attention to vocals and voices that's uncommon for wireless ANC headphones. The soundstage has taken a slight hit as a result, making them more intimate than open and wide. Still, most people are going to wear them and think, "yeah, these sound epic."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jD5PduJwKBjXbAciWQp72D" name="Sony WH-1000XM6--10" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/jD5PduJwKBjXbAciWQp72D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>30 hours of battery life is fine, easily enough to get you to the airport from a hotel and through your long-haul business flight. They fold up nice and small, too, into a compact protective case that's easier to fit into your carry-on luggage. You also get the requisite flight adapters and cables so that you can use them without a Bluetooth connection or to watch in-flight entertainment.</p><p>This is their lowest price, and we have seen it a couple of times before. It's a saving that pops its head up every few months, ready to help you save on a new pair of headphones. This is one such time — don't miss out this time around!</p><div data-widget-type="review" data-model-name="Sony WH-1000XM6"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Nothing is going "All in on headphones," and this new Headphone (a) leak has me excited ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Nothing Headphone (1) went from a pair of headphones I was disappointed by to headphones I love — all thanks to software updates. Since then, I've been more curious about what goodies the firm might be cooking up next. Thankfully, I've not got long to wait, because it looks like we'll see a follow-up sooner rather than later.</p><p>Thanks to <a href="https://www.dealabs.com/magazine/nothing-headphone-a-vers-un-prix-inattendu-pour-le-prochain-casque-60965" target="_blank">billbil-kun at Dealabs</a> (<a href="https://www-dealabs-com.translate.goog/magazine/nothing-headphone-a-vers-un-prix-inattendu-pour-le-prochain-casque-60965?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp" target="_blank">translated to English here</a>), we've got some idea of when we might see the new (cheaper) Nothing Headphone (a), how much they'll cost in the U.K. and Europe, and what kind of colors we can expect them to come in. Color me intrigued.</p><h2 id="what-can-we-expect">What can we expect?</h2><p>First things first — we've got a date. Apparently, they're launching on March 5 and you'll be able to buy some a week later on March 12. That's not too long to wait at all. </p><p>We've also got some colors — Pink, White, Black, and Yellow. That's two colors more than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Headphone (1)</a>, which only came in Black or White. These are going to be a whole lot more jazzy, from the looks of things, but you'll likely miss out on some of the more premium features of the costlier pair. </p><p>What that looks like remains to be seen, but sacrifices have to be made for price. We have prices too, although we're going to have to read between the lines to get an idea of how much they'll cost in the U.S. </p><p>We've got prices in Euros and pounds at the moment — €159 and £149. Looking at the Headphone (1), which cost £299 in the UK and $299 in the US, we could well get a similar pound-to-dollar price with this budget pair.</p><p>This is an exciting time for headphones and earbuds, especially now that brands are starting to make models that don't cost the world.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ey1GAe"></div>                            </div>                            <script src="https://kwizly.com/embed/ey1GAe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/im-using-the-microsoft-surface-headphones-2-plus-after-three-years-theyre-still-the-best-work-from-home-headphones-ever">I test headphones for a living — and the best work-from-home headphones aren't made by Apple or Sony</a></li><li><a href="https://www.tomsguide.com/wellness/workouts/not-planks-or-push-ups-sculpt-your-entire-body-with-this-20-minute-standing-dumbbell-workout">Not planks or push-ups — sculpt your entire body with this 20-minute standing dumbbell workout</a></li><li><a href="https://www.tomsguide.com/entertainment/streaming/7-top-new-movies-to-stream-this-week-on-netflix-prime-video-hulu-and-more-feb-3-9">7 top new movies to stream this week on Netflix, Prime Video, Hulu and more (Feb. 3-9)</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/nothing-is-going-all-in-on-headphones-and-this-new-headphone-a-leak-has-me-excited</link>
                                                                            <description>
                            <![CDATA[ Nothing is turning into a headphone brand, and this Nothing Headphone (a) leak shows how serious it's getting. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QxHdPacfGaVKPqw3wLdN8h</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ZSNnTE82aNesZFfV2wBnHg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Feb 2026 11:26:45 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Feb 2026 11:33:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ZSNnTE82aNesZFfV2wBnHg-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Nothing Headphone (1)]]></media:description>                                                            <media:text><![CDATA[Nothing Headphone (1)]]></media:text>
                                <media:title type="plain"><![CDATA[Nothing Headphone (1)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ZSNnTE82aNesZFfV2wBnHg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Nothing Headphone (1) went from a pair of headphones I was disappointed by to headphones I love — all thanks to software updates. Since then, I've been more curious about what goodies the firm might be cooking up next. Thankfully, I've not got long to wait, because it looks like we'll see a follow-up sooner rather than later.</p><p>Thanks to <a href="https://www.dealabs.com/magazine/nothing-headphone-a-vers-un-prix-inattendu-pour-le-prochain-casque-60965" target="_blank">billbil-kun at Dealabs</a> (<a href="https://www-dealabs-com.translate.goog/magazine/nothing-headphone-a-vers-un-prix-inattendu-pour-le-prochain-casque-60965?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp" target="_blank">translated to English here</a>), we've got some idea of when we might see the new (cheaper) Nothing Headphone (a), how much they'll cost in the U.K. and Europe, and what kind of colors we can expect them to come in. Color me intrigued.</p><h2 id="what-can-we-expect">What can we expect?</h2><p>First things first — we've got a date. Apparently, they're launching on March 5 and you'll be able to buy some a week later on March 12. That's not too long to wait at all. </p><p>We've also got some colors — Pink, White, Black, and Yellow. That's two colors more than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Headphone (1)</a>, which only came in Black or White. These are going to be a whole lot more jazzy, from the looks of things, but you'll likely miss out on some of the more premium features of the costlier pair. </p><p>What that looks like remains to be seen, but sacrifices have to be made for price. We have prices too, although we're going to have to read between the lines to get an idea of how much they'll cost in the U.S. </p><p>We've got prices in Euros and pounds at the moment — €159 and £149. Looking at the Headphone (1), which cost £299 in the UK and $299 in the US, we could well get a similar pound-to-dollar price with this budget pair.</p><p>This is an exciting time for headphones and earbuds, especially now that brands are starting to make models that don't cost the world.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ey1GAe"></div>                            </div>                            <script src="https://kwizly.com/embed/ey1GAe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/im-using-the-microsoft-surface-headphones-2-plus-after-three-years-theyre-still-the-best-work-from-home-headphones-ever">I test headphones for a living — and the best work-from-home headphones aren't made by Apple or Sony</a></li><li><a href="https://www.tomsguide.com/wellness/workouts/not-planks-or-push-ups-sculpt-your-entire-body-with-this-20-minute-standing-dumbbell-workout">Not planks or push-ups — sculpt your entire body with this 20-minute standing dumbbell workout</a></li><li><a href="https://www.tomsguide.com/entertainment/streaming/7-top-new-movies-to-stream-this-week-on-netflix-prime-video-hulu-and-more-feb-3-9">7 top new movies to stream this week on Netflix, Prime Video, Hulu and more (Feb. 3-9)</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I test headphones for a living — and the best work-from-home headphones aren't made by Apple or Sony ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Remember the <a href="https://www.tomsguide.com/us/microsoft-surface-headphones,review-5963.html">Microsoft Surface Headphones</a>? I’m sure you do.</p><p>The PC giant’s first-ever wireless headphones were noteworthy, but struggled to compete with the market’s <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a>. It wasn’t until the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Surface Headphones 2</a> launched that business really picked up for Microsoft. Enhanced audio, intuitive features, and powerful connectivity earned them critical acclaim. </p><p>Then the product completely disappeared. No marketing. No software updates. No availability. Rumors of a threequel were also put to rest once <a href="https://www.businessinsider.com/microsoft-cancels-products-surface-headphones-ai-2023-9">Microsoft confirmed it was cancelling the next generation of Surface headphones</a> back in 2023.</p><h2 id="microsoft-s-almost-sequel">Microsoft's almost sequel</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q69zonyyPPY32dU7oGF6Ta" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/Q69zonyyPPY32dU7oGF6Ta.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The closest we ever got to a follow-up was the Surface Headphones 2+. I tested them a few years back…and was greatly disappointed. That all changed recently.</p><p>My wife needed a pair of cans to use for business calls, so I passed along my unit since it was the closest option within reach. Never did I think that she would rave about them. Her reaction encouraged me to give the headphones a second shot. What I experienced was eye-opening.</p><div class="product"><a data-dimension112="5f64646a-1b37-45b2-b7b3-fc5862759538" data-action="Deal Block" data-label="Surface Headphones 2+" data-dimension48="Surface Headphones 2+" data-dimension25="$149" href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1203px;"><p class="vanilla-image-block" style="padding-top:124.69%;"><img id="zwYFYqUQ4EUmP93mNudzbK" name="MS Surface Headphones 2+" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zwYFYqUQ4EUmP93mNudzbK.jpg" mos="" align="middle" fullscreen="" width="1203" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Surface Headphones 2+ are the best work-from-home headphones ever created. They’re essential for Microsoft Office enthusiasts as well as macOS and Android users. The headphone's built-in mics offer stellar speech recognition as well as flawless Google Assistant and Siri voice command execution. Premium ANC, excellent audio quality, and solid MS365 integration make these headphones a must for any home office. <a class="view-deal button" href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY" target="_blank" rel="nofollow" data-dimension112="5f64646a-1b37-45b2-b7b3-fc5862759538" data-action="Deal Block" data-label="Surface Headphones 2+" data-dimension48="Surface Headphones 2+" data-dimension25="$149">View Deal</a></p></div><p>The Surface Headphones 2+ aren’t just the best work-from-home headphones ever created – they’re essential for Microsoft Office enthusiasts.</p><p>Now, before you go pointing out other Microsoft Teams-certified headsets, know two things: (1) Office integration feels more natural and seamless with the Surface Headphones 2+ and (2) these headphones offer a lot more value when factoring in other hallmarks.</p><p>Come see what I’m talking about.</p><h2 id="the-perfect-office-companion">The perfect Office companion</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="GgjZwAFF6x4axdbK2XMmTa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/GgjZwAFF6x4axdbK2XMmTa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let me preface this by stating that I am not a Windows user. I’m a macOS and Android guy. That didn’t affect how I used the Surface Headphones 2+ since most Microsoft-related features are tied to the company’s cloud-based productivity suite: Microsoft 365.</p><p>Voice dictation on these headphones is on point. Best of all, it works with all Office apps: OneNote, Outlook, PowerPoint, and Word. I used voice-to-text to create captions and subtitles for PowerPoint presentations and transcribe email responses. The feature is highly intelligible.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cPqpGVQgzFuuKfkBdw8fSa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/cPqpGVQgzFuuKfkBdw8fSa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Half the reason why voice dictation performs at an elite level is Microsoft’s excellent software engineering. The other half is credited to the Surface Headphones 2+’s built-in mics, which demonstrate stellar speech recognition. That same functionality carries over to digital assistance for flawless Google Assistant and Siri voice command execution.</p><p>The Play My Email feature is just as rewarding. I’m someone who leaves his inbox with zero unread messages at the end of the day. Hearing emails in real-time was more efficient than skimming through dozens of lines of text. This allowed me to multitask around the house and not miss or overlook important emails.</p><h2 id="a-true-microsoft-teams-player">A true Microsoft Teams player</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gLR5bg4czxSBKteq4uQTTa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/gLR5bg4czxSBKteq4uQTTa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The “big” change that Microsoft implemented on the Surface Headphones 2+ was the USB Link dongle. It comes bundled with the purchase and is exclusive to this version of the headphones. The accessory bypasses Bluetooth to form a dedicated connection for Microsoft Teams. I found it more reliable than standard Bluetooth when paired to my <a href="https://www.tomsguide.com/best-picks/best-macbook">MacBook Pro</a>. Connectivity was stabler and stronger. It also made pairing faster and provided in-call controls for Teams chats.</p><h2 id="everything-else-that-makes-the-surface-headphones-2-an-underrated-gem">Everything else that makes the Surface Headphones 2+ an underrated gem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WwHJLECXMJPC63auKYrWSa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/WwHJLECXMJPC63auKYrWSa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>People forget how innovative the original Surface Headphones were when they came out. At the time, it didn’t matter if their<a href="https://www.tomsguide.com/reference/what-is-active-noise-cancellation-anc-headphones-explained"> active noise cancellation</a> was secondary to category leaders, like the <a href="https://www.tomsguide.com/reviews/bose-700-noise-cancelling-headphones">Bose 700</a> and <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm4">Sony WH-1000xM4</a>. The fact that Microsoft gave us 13 levels of ANC was astounding. That same technology holds up strong to this day. </p><p>Much of the fracas that surrounded me when working on my balcony was muted. That included dogs barking, landscaping tools, and talkative pedestrians by the pool area. High-pitched sounds (e.g., crying babies, whistles) were audible, but never broke my concentration.</p><p>It’s also worth reminding people that Microsoft’s headphones were some of the first models to feature Ambient and Passthrough modes. Both work exceptionally well on the Surface Headphones 2+. Ambient mode effectively increases situational awareness, while Passthrough mode demonstrates exceptional vocal capture to hear conversations loudly and clearly. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="69RRumqQ9BX3VgCQnC4sKa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/69RRumqQ9BX3VgCQnC4sKa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad Microsoft hasn’t ended smartphone support for the Surface Headphones lineup. Otherwise, we’d lose out on audio personalization features like the customizable EQ with multiple presets and Qualcomm’s aptX codec for CD-like sound over Bluetooth (Android and Windows only). These are accessible through the Surface app.                                                                                               </p><p>Lastly, the Surface Headphones series boasts one of the most attractive and unique designs constructed. It’s all in the details. What’s not to love about the creative dial controls, plush leather padding, sleek arched yokes, and sturdy craftsmanship that outclasses current minimalist-styled favorites (e.g., <a href="https://www.tomsguide.com/reviews/apple-airpods-max">Apple AirPods Max</a>, <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000xM6</a>).</p><p>The Surface Headphones 2+ currently sell for <a href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY">$149 at Amazon</a> – an unbeatable deal considering their premium ANC, audio quality, design, and MS365 integration. Believe me when I say that your home office setup is incomplete without them.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlDd5W"></div>                            </div>                            <script src="https://kwizly.com/embed/WlDd5W.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/5-signs-you-need-to-upgrade-your-headphones">5 signs you need to upgrade your wireless headphones</a></li><li><a href="https://www.tomsguide.com/feature/I-just-tested-skullcandy-aviator-900-anc-and-theyre-awesome-in-many-ways">I just tested Skullcandy’s high-end headphones and they’re awesome in so many ways</a></li><li><a href="https://www.tomsguide.com/opinion/5-ways-the-samsung-galaxy-buds-4-can-revive-the-series-and-beat-the-airpods">5 ways the Samsung Galaxy Buds 4 can revive the series and beat the AirPods</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/feature/im-using-the-microsoft-surface-headphones-2-plus-after-three-years-theyre-still-the-best-work-from-home-headphones-ever</link>
                                                                            <description>
                            <![CDATA[ Microsoft may have abandoned its flagship headphones, but I haven’t. See why the Surface Headphones 2+ deserve a spot in your home office. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MVcsyn93GXAUVCv7PbR7mh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LR89UkvpqFkBzQdqHoyaSa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Feb 2026 07:01:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alex Bracetti ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/e5hFHxwMA3N67EAVt3ACgX.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/LR89UkvpqFkBzQdqHoyaSa-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Microsoft Surface Headphones 2+]]></media:description>                                                            <media:text><![CDATA[Microsoft Surface Headphones 2+]]></media:text>
                                <media:title type="plain"><![CDATA[Microsoft Surface Headphones 2+]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LR89UkvpqFkBzQdqHoyaSa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Remember the <a href="https://www.tomsguide.com/us/microsoft-surface-headphones,review-5963.html">Microsoft Surface Headphones</a>? I’m sure you do.</p><p>The PC giant’s first-ever wireless headphones were noteworthy, but struggled to compete with the market’s <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a>. It wasn’t until the <a href="https://www.tomsguide.com/reviews/microsoft-surface-headphones-2">Surface Headphones 2</a> launched that business really picked up for Microsoft. Enhanced audio, intuitive features, and powerful connectivity earned them critical acclaim. </p><p>Then the product completely disappeared. No marketing. No software updates. No availability. Rumors of a threequel were also put to rest once <a href="https://www.businessinsider.com/microsoft-cancels-products-surface-headphones-ai-2023-9">Microsoft confirmed it was cancelling the next generation of Surface headphones</a> back in 2023.</p><h2 id="microsoft-s-almost-sequel">Microsoft's almost sequel</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q69zonyyPPY32dU7oGF6Ta" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/Q69zonyyPPY32dU7oGF6Ta.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The closest we ever got to a follow-up was the Surface Headphones 2+. I tested them a few years back…and was greatly disappointed. That all changed recently.</p><p>My wife needed a pair of cans to use for business calls, so I passed along my unit since it was the closest option within reach. Never did I think that she would rave about them. Her reaction encouraged me to give the headphones a second shot. What I experienced was eye-opening.</p><div class="product"><a data-dimension112="5f64646a-1b37-45b2-b7b3-fc5862759538" data-action="Deal Block" data-label="Surface Headphones 2+" data-dimension48="Surface Headphones 2+" data-dimension25="$149" href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1203px;"><p class="vanilla-image-block" style="padding-top:124.69%;"><img id="zwYFYqUQ4EUmP93mNudzbK" name="MS Surface Headphones 2+" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zwYFYqUQ4EUmP93mNudzbK.jpg" mos="" align="middle" fullscreen="" width="1203" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Surface Headphones 2+ are the best work-from-home headphones ever created. They’re essential for Microsoft Office enthusiasts as well as macOS and Android users. The headphone's built-in mics offer stellar speech recognition as well as flawless Google Assistant and Siri voice command execution. Premium ANC, excellent audio quality, and solid MS365 integration make these headphones a must for any home office. <a class="view-deal button" href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY" target="_blank" rel="nofollow" data-dimension112="5f64646a-1b37-45b2-b7b3-fc5862759538" data-action="Deal Block" data-label="Surface Headphones 2+" data-dimension48="Surface Headphones 2+" data-dimension25="$149">View Deal</a></p></div><p>The Surface Headphones 2+ aren’t just the best work-from-home headphones ever created – they’re essential for Microsoft Office enthusiasts.</p><p>Now, before you go pointing out other Microsoft Teams-certified headsets, know two things: (1) Office integration feels more natural and seamless with the Surface Headphones 2+ and (2) these headphones offer a lot more value when factoring in other hallmarks.</p><p>Come see what I’m talking about.</p><h2 id="the-perfect-office-companion">The perfect Office companion</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="GgjZwAFF6x4axdbK2XMmTa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/GgjZwAFF6x4axdbK2XMmTa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let me preface this by stating that I am not a Windows user. I’m a macOS and Android guy. That didn’t affect how I used the Surface Headphones 2+ since most Microsoft-related features are tied to the company’s cloud-based productivity suite: Microsoft 365.</p><p>Voice dictation on these headphones is on point. Best of all, it works with all Office apps: OneNote, Outlook, PowerPoint, and Word. I used voice-to-text to create captions and subtitles for PowerPoint presentations and transcribe email responses. The feature is highly intelligible.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cPqpGVQgzFuuKfkBdw8fSa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/cPqpGVQgzFuuKfkBdw8fSa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Half the reason why voice dictation performs at an elite level is Microsoft’s excellent software engineering. The other half is credited to the Surface Headphones 2+’s built-in mics, which demonstrate stellar speech recognition. That same functionality carries over to digital assistance for flawless Google Assistant and Siri voice command execution.</p><p>The Play My Email feature is just as rewarding. I’m someone who leaves his inbox with zero unread messages at the end of the day. Hearing emails in real-time was more efficient than skimming through dozens of lines of text. This allowed me to multitask around the house and not miss or overlook important emails.</p><h2 id="a-true-microsoft-teams-player">A true Microsoft Teams player</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gLR5bg4czxSBKteq4uQTTa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/gLR5bg4czxSBKteq4uQTTa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The “big” change that Microsoft implemented on the Surface Headphones 2+ was the USB Link dongle. It comes bundled with the purchase and is exclusive to this version of the headphones. The accessory bypasses Bluetooth to form a dedicated connection for Microsoft Teams. I found it more reliable than standard Bluetooth when paired to my <a href="https://www.tomsguide.com/best-picks/best-macbook">MacBook Pro</a>. Connectivity was stabler and stronger. It also made pairing faster and provided in-call controls for Teams chats.</p><h2 id="everything-else-that-makes-the-surface-headphones-2-an-underrated-gem">Everything else that makes the Surface Headphones 2+ an underrated gem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WwHJLECXMJPC63auKYrWSa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/WwHJLECXMJPC63auKYrWSa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>People forget how innovative the original Surface Headphones were when they came out. At the time, it didn’t matter if their<a href="https://www.tomsguide.com/reference/what-is-active-noise-cancellation-anc-headphones-explained"> active noise cancellation</a> was secondary to category leaders, like the <a href="https://www.tomsguide.com/reviews/bose-700-noise-cancelling-headphones">Bose 700</a> and <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm4">Sony WH-1000xM4</a>. The fact that Microsoft gave us 13 levels of ANC was astounding. That same technology holds up strong to this day. </p><p>Much of the fracas that surrounded me when working on my balcony was muted. That included dogs barking, landscaping tools, and talkative pedestrians by the pool area. High-pitched sounds (e.g., crying babies, whistles) were audible, but never broke my concentration.</p><p>It’s also worth reminding people that Microsoft’s headphones were some of the first models to feature Ambient and Passthrough modes. Both work exceptionally well on the Surface Headphones 2+. Ambient mode effectively increases situational awareness, while Passthrough mode demonstrates exceptional vocal capture to hear conversations loudly and clearly. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="69RRumqQ9BX3VgCQnC4sKa" name="Microsoft Surface Headphones 2+" alt="Microsoft Surface Headphones 2+" src="https://cdn.mos.cms.futurecdn.net/69RRumqQ9BX3VgCQnC4sKa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I’m glad Microsoft hasn’t ended smartphone support for the Surface Headphones lineup. Otherwise, we’d lose out on audio personalization features like the customizable EQ with multiple presets and Qualcomm’s aptX codec for CD-like sound over Bluetooth (Android and Windows only). These are accessible through the Surface app.                                                                                               </p><p>Lastly, the Surface Headphones series boasts one of the most attractive and unique designs constructed. It’s all in the details. What’s not to love about the creative dial controls, plush leather padding, sleek arched yokes, and sturdy craftsmanship that outclasses current minimalist-styled favorites (e.g., <a href="https://www.tomsguide.com/reviews/apple-airpods-max">Apple AirPods Max</a>, <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000xM6</a>).</p><p>The Surface Headphones 2+ currently sell for <a href="https://www.amazon.com/Microsoft-Surface-Headphones-Business-Black/dp/B0D6W26GWY">$149 at Amazon</a> – an unbeatable deal considering their premium ANC, audio quality, design, and MS365 integration. Believe me when I say that your home office setup is incomplete without them.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlDd5W"></div>                            </div>                            <script src="https://kwizly.com/embed/WlDd5W.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/feature/5-signs-you-need-to-upgrade-your-headphones">5 signs you need to upgrade your wireless headphones</a></li><li><a href="https://www.tomsguide.com/feature/I-just-tested-skullcandy-aviator-900-anc-and-theyre-awesome-in-many-ways">I just tested Skullcandy’s high-end headphones and they’re awesome in so many ways</a></li><li><a href="https://www.tomsguide.com/opinion/5-ways-the-samsung-galaxy-buds-4-can-revive-the-series-and-beat-the-airpods">5 ways the Samsung Galaxy Buds 4 can revive the series and beat the AirPods</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'I'm testing a pair of $50 headphones that makes me dislike my favorite artists' — here are the cheap headphones I'd buy instead  ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When I'm buying headphones for either myself or someone I love, there are a few things I look for. Solid ANC. Long battery life. Excellent sound quality. Exceptional comfort. These features are absolutely non-negotiable. If the headphones don't sound good, or can't isolate sound well, or they die quickly, I want nothing to do with them.</p><p>I take a similar approach when I'm reviewing headphones and earbuds for work. Recently, I tested a set of cans that costs less than $50 and it convinced me that you should <em>always </em>spend more on headphones if you can. Just because something is cheap doesn't mean you <em>have </em>to buy it — take a look at the <a href="https://www.tomsguide.com/audio/over-ear-headphones/tribit-quietplus-81-review">Tribit QuietPlus 81</a>, as an example.</p><div class="product"><a data-dimension112="14c80261-2346-4690-bcc6-64dc3ba08a4e" data-action="Deal Block" data-label="QuietPlus 81" data-dimension48="QuietPlus 81" data-dimension25="$49" href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:920px;"><p class="vanilla-image-block" style="padding-top:140.98%;"><img id="F74dJogEMnxnE4THThiUNX" name="QuietPlus-81-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/F74dJogEMnxnE4THThiUNX.jpg" mos="" align="middle" fullscreen="" width="920" height="1297" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you want a very cheap pair of headphones and don’t care much about best-in-class sound quality, then the Tribit QuietPlus 81 should be your port of call. At under $50, they’re budget-friendly, boast a 110-hour battery life, and feature ANC too. While sound quality isn’t the best and the companion app feels lackluster and muddled, they’re a serviceable pair of cans.<a class="view-deal button" href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow" data-dimension112="14c80261-2346-4690-bcc6-64dc3ba08a4e" data-action="Deal Block" data-label="QuietPlus 81" data-dimension48="QuietPlus 81" data-dimension25="$49">View Deal</a></p></div><p>The QuietPlus 81 caught my eye last week, sitting on our testing shelf, the box with the words "ULTRA LONG BATT, SMOOTH TALKING" staring right at me. So I picked them up to review them. These headphones boast 110 hours of battery life, decent ANC, and a comfortable, foldable design, all for less than $50. So what's the problem? Well, let me take you through it — and present you with a strong case as to why you should always spend more on headphones.</p><h2 id="you-don-t-want-to-start-disliking-your-favorite-artists-do-you">You don't want to start disliking your favorite artists, do you?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Whether you're a casual listener or an audiophile, sound quality is one thing that should never be compromised on. After all, we all love appreciating our favorite musicians for their art, right? Personally, I don't want to use a set of cans that makes me dislike Pink Floyd or Twenty One Pilots. The Tribit QuietPlus 81 are fitted with 40mm drivers which, according to Tribit, deliver enhanced bass response.</p><p>I don't agree with this. In my testing, I found the bass sounded muddy and lost all nuance, especially in tracks like ‘<a href="https://open.qobuz.com/track/35615395" target="_blank" rel="nofollow">Longview</a>’ by Green Day and ‘<a href="https://open.qobuz.com/track/287336647" target="_blank" rel="nofollow">Casualty</a>' by Linkin Park. Percussion instruments, like drums, struggle when listened to through the QuietPlus 81 too. Snare hits sound shrill and unpleasant, overzealous almost.</p><p>The best part of the QuietPlus 81? The vocals, probably, which sound fairly decent and clear, in tracks that don't feature multiple instruments. For pop songs or acoustic tracks, the headphones are fine, but for everything else, I'd recommend other cans, such as the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review">JLab JBuds Lux ANC</a> or the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se-hq31">1More SonoFlow SE</a>. Though they're pricier than the QuietPlus 81, they're well-worth the extra spend as they feature a well-balanced, rounder sound profile.</p><h2 id="premium-build-quality-goes-a-long-way">Premium build quality goes a long way</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JE2C86FNTwvcsJZNkBXW9Z" name="Tribit_Quietplus81_ 7.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/JE2C86FNTwvcsJZNkBXW9Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When you buy headphones (or any tech, really) one of the most important things to consider is the build quality. While not true for all cans, budget headphones usually don't utilize top-notch materials — that's why they're cheap! The Tribit QuietPlus 81 are made of ABS plastic which feels too plasticky for my liking. They squeak a bit, especially when you're folding and unfolding them, which makes me question just how long they'll actually last.</p><p>It's also worth noting that when there's no music playing through the QuietPlus 81, there's a static noise that makes it sound like you're underwater. I'm not entirely sure why this is, but it could be related to the poor build quality. Tribit doesn't specify the waterproof rating either, so I wouldn't recommend using these cans when it's raining heavily or while you're dripping sweat at the gym.</p><p>An area they do last a long time, though? Battery life. "ULTRA LONG BATT" in bold, all-caps is written on the product box, and Tribit isn't lying. The QuietPlus 81 are rated for a whopping 110 hours (with ANC off) or 70 hours (with ANC on). Even after six hours of using the headphones, I still had 100% battery, which is amazing. It's even longer than the pricier <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a>, a premium pair of headphones that can last 100 hours between charges.</p><h2 id="what-are-my-options-then">What are my options, then?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="srevMSLX9cdT8SuF4VqW5Z" name="Tribit_Quietplus81_8.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/srevMSLX9cdT8SuF4VqW5Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Okay, so you don't want to buy the Tribit QuietPlus 81 but you also don't want to spend hundreds on a competent set of cans, so what are your options? Lucky for you, there are a few! And though the following aren't as cheap as the QuietPlus 81, I believe it's worth spending the extra dollars on them as they offer better build quality, better sound, and better value for money.</p><div class="product"><a data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69" href="https://www.amazon.com/Sony-WH-CH520-Headphones-Bluetooth-Microphone/dp/B0BS1RT9S2/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:510px;"><p class="vanilla-image-block" style="padding-top:154.90%;"><img id="bzH89XJXSHScmHcf8rgiyP" name="Sony_WH-C520_Headphones_cappucino_deal_block.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bzH89XJXSHScmHcf8rgiyP.jpg" mos="" align="middle" fullscreen="" width="510" height="790" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A step-up from its budget predecessor, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-ch520-review" data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69">Sony WH-CH520</a> deliver on battery life and performance. These are an impressive and affordable pair for the casual but regular headphones user. They remain comfortable over the course of several hours while delivering high quality audio, and can be partially re-charged in a matter of minutes if you want to swiftly squeeze out another hour of listening.<a class="view-deal button" href="https://www.amazon.com/Sony-WH-CH520-Headphones-Bluetooth-Microphone/dp/B0BS1RT9S2/" target="_blank" rel="nofollow" data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69">View Deal</a></p></div><div class="product"><a data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51" href="https://www.amazon.com/JLab-Headphones-Cancelling-Customizable-Compatible/dp/B0CRM4Q1W1/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="Ma3BZza59fUJ2isHLpzvSo" name="JLab JBuds Lux ANC" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ma3BZza59fUJ2isHLpzvSo.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>For the low, low price of $79, the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review" data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51">JLab JBuds Lux ANC</a> wireless headphones have a lot going for them: great sound quality, great ANC, great battery life, and a great app. Dolby Atmos and Spatial Audio compatibility is also onboard, and the ANC is something to behold.<a class="view-deal button" href="https://www.amazon.com/JLab-Headphones-Cancelling-Customizable-Compatible/dp/B0CRM4Q1W1/" target="_blank" rel="nofollow" data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51">View Deal</a></p></div><div class="product"><a data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54" href="https://global.1more.com/products/1more-sonoflow-wireless-active-noise-cancelling-headphones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="UipDfNXKtx4zmGusnw2f3m" name="1More Sonoflow SE" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UipDfNXKtx4zmGusnw2f3m.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>At $50, the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se" data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54">1More SonoFlow SE</a> offer much of the same high-quality performance as their predecessor, and for several dollars less. Strong battery life, robust sound, effective ANC, and superior call quality make them the budget cans to beat.<a class="view-deal button" href="https://global.1more.com/products/1more-sonoflow-wireless-active-noise-cancelling-headphones" target="_blank" rel="nofollow" data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54">View Deal</a></p></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBGN0W"></div>                            </div>                            <script src="https://kwizly.com/embed/eBGN0W.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/tribit-quietplus-81-review">‘These headphones boast 110 hours of battery life — but fail to make up for the poor sound’: Tribit QuietPlus 81 review</a></li><li><a href="https://www.tomsguide.com/audio/bluetooth-speakers/expensive-doesnt-mean-good-heres-why-ill-be-sticking-with-my-usd40-speaker-over-this-usd200-one">'Expensive doesn’t mean good’: here’s why I’ll be sticking with my $40 speaker over this $200 one</a></li><li><a href="https://www.tomsguide.com/audio/speakers/edifier-qr65-premium-speakers-from-a-traditionally-budget-brand">‘I didn’t think a traditionally budget brand could make such good premium speakers’ — here’s why the Edifier QR65 are never leaving my desk</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Tribit QuietPlus 81,Sony WH-CH520,1MORE SonoFlow SE,JLab JBuds Lux ANC"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/im-testing-a-pair-of-usd50-headphones-that-makes-me-dislike-my-favorite-artists-here-are-the-cheap-headphones-id-buy-instead</link>
                                                                            <description>
                            <![CDATA[ Sometimes, it's worth spending a few dollars or pounds more to get better build quality, well-rounded sound quality, and other goodies. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6CR7h8jTiW3p38hiir6CEb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TbBwSTSwQyNMZ6svnDqfHZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 31 Jan 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TbBwSTSwQyNMZ6svnDqfHZ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:description>                                                            <media:text><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TbBwSTSwQyNMZ6svnDqfHZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When I'm buying headphones for either myself or someone I love, there are a few things I look for. Solid ANC. Long battery life. Excellent sound quality. Exceptional comfort. These features are absolutely non-negotiable. If the headphones don't sound good, or can't isolate sound well, or they die quickly, I want nothing to do with them.</p><p>I take a similar approach when I'm reviewing headphones and earbuds for work. Recently, I tested a set of cans that costs less than $50 and it convinced me that you should <em>always </em>spend more on headphones if you can. Just because something is cheap doesn't mean you <em>have </em>to buy it — take a look at the <a href="https://www.tomsguide.com/audio/over-ear-headphones/tribit-quietplus-81-review">Tribit QuietPlus 81</a>, as an example.</p><div class="product"><a data-dimension112="14c80261-2346-4690-bcc6-64dc3ba08a4e" data-action="Deal Block" data-label="QuietPlus 81" data-dimension48="QuietPlus 81" data-dimension25="$49" href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:920px;"><p class="vanilla-image-block" style="padding-top:140.98%;"><img id="F74dJogEMnxnE4THThiUNX" name="QuietPlus-81-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/F74dJogEMnxnE4THThiUNX.jpg" mos="" align="middle" fullscreen="" width="920" height="1297" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you want a very cheap pair of headphones and don’t care much about best-in-class sound quality, then the Tribit QuietPlus 81 should be your port of call. At under $50, they’re budget-friendly, boast a 110-hour battery life, and feature ANC too. While sound quality isn’t the best and the companion app feels lackluster and muddled, they’re a serviceable pair of cans.<a class="view-deal button" href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow" data-dimension112="14c80261-2346-4690-bcc6-64dc3ba08a4e" data-action="Deal Block" data-label="QuietPlus 81" data-dimension48="QuietPlus 81" data-dimension25="$49">View Deal</a></p></div><p>The QuietPlus 81 caught my eye last week, sitting on our testing shelf, the box with the words "ULTRA LONG BATT, SMOOTH TALKING" staring right at me. So I picked them up to review them. These headphones boast 110 hours of battery life, decent ANC, and a comfortable, foldable design, all for less than $50. So what's the problem? Well, let me take you through it — and present you with a strong case as to why you should always spend more on headphones.</p><h2 id="you-don-t-want-to-start-disliking-your-favorite-artists-do-you">You don't want to start disliking your favorite artists, do you?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Whether you're a casual listener or an audiophile, sound quality is one thing that should never be compromised on. After all, we all love appreciating our favorite musicians for their art, right? Personally, I don't want to use a set of cans that makes me dislike Pink Floyd or Twenty One Pilots. The Tribit QuietPlus 81 are fitted with 40mm drivers which, according to Tribit, deliver enhanced bass response.</p><p>I don't agree with this. In my testing, I found the bass sounded muddy and lost all nuance, especially in tracks like ‘<a href="https://open.qobuz.com/track/35615395" target="_blank" rel="nofollow">Longview</a>’ by Green Day and ‘<a href="https://open.qobuz.com/track/287336647" target="_blank" rel="nofollow">Casualty</a>' by Linkin Park. Percussion instruments, like drums, struggle when listened to through the QuietPlus 81 too. Snare hits sound shrill and unpleasant, overzealous almost.</p><p>The best part of the QuietPlus 81? The vocals, probably, which sound fairly decent and clear, in tracks that don't feature multiple instruments. For pop songs or acoustic tracks, the headphones are fine, but for everything else, I'd recommend other cans, such as the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review">JLab JBuds Lux ANC</a> or the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se-hq31">1More SonoFlow SE</a>. Though they're pricier than the QuietPlus 81, they're well-worth the extra spend as they feature a well-balanced, rounder sound profile.</p><h2 id="premium-build-quality-goes-a-long-way">Premium build quality goes a long way</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JE2C86FNTwvcsJZNkBXW9Z" name="Tribit_Quietplus81_ 7.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/JE2C86FNTwvcsJZNkBXW9Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When you buy headphones (or any tech, really) one of the most important things to consider is the build quality. While not true for all cans, budget headphones usually don't utilize top-notch materials — that's why they're cheap! The Tribit QuietPlus 81 are made of ABS plastic which feels too plasticky for my liking. They squeak a bit, especially when you're folding and unfolding them, which makes me question just how long they'll actually last.</p><p>It's also worth noting that when there's no music playing through the QuietPlus 81, there's a static noise that makes it sound like you're underwater. I'm not entirely sure why this is, but it could be related to the poor build quality. Tribit doesn't specify the waterproof rating either, so I wouldn't recommend using these cans when it's raining heavily or while you're dripping sweat at the gym.</p><p>An area they do last a long time, though? Battery life. "ULTRA LONG BATT" in bold, all-caps is written on the product box, and Tribit isn't lying. The QuietPlus 81 are rated for a whopping 110 hours (with ANC off) or 70 hours (with ANC on). Even after six hours of using the headphones, I still had 100% battery, which is amazing. It's even longer than the pricier <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a>, a premium pair of headphones that can last 100 hours between charges.</p><h2 id="what-are-my-options-then">What are my options, then?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="srevMSLX9cdT8SuF4VqW5Z" name="Tribit_Quietplus81_8.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/srevMSLX9cdT8SuF4VqW5Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Okay, so you don't want to buy the Tribit QuietPlus 81 but you also don't want to spend hundreds on a competent set of cans, so what are your options? Lucky for you, there are a few! And though the following aren't as cheap as the QuietPlus 81, I believe it's worth spending the extra dollars on them as they offer better build quality, better sound, and better value for money.</p><div class="product"><a data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69" href="https://www.amazon.com/Sony-WH-CH520-Headphones-Bluetooth-Microphone/dp/B0BS1RT9S2/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:510px;"><p class="vanilla-image-block" style="padding-top:154.90%;"><img id="bzH89XJXSHScmHcf8rgiyP" name="Sony_WH-C520_Headphones_cappucino_deal_block.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bzH89XJXSHScmHcf8rgiyP.jpg" mos="" align="middle" fullscreen="" width="510" height="790" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A step-up from its budget predecessor, the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-ch520-review" data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69">Sony WH-CH520</a> deliver on battery life and performance. These are an impressive and affordable pair for the casual but regular headphones user. They remain comfortable over the course of several hours while delivering high quality audio, and can be partially re-charged in a matter of minutes if you want to swiftly squeeze out another hour of listening.<a class="view-deal button" href="https://www.amazon.com/Sony-WH-CH520-Headphones-Bluetooth-Microphone/dp/B0BS1RT9S2/" target="_blank" rel="nofollow" data-dimension112="67859732-a14b-4169-9092-9a45d7fa79c0" data-action="Deal Block" data-label="WH-CH520" data-dimension48="WH-CH520" data-dimension25="$69">View Deal</a></p></div><div class="product"><a data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51" href="https://www.amazon.com/JLab-Headphones-Cancelling-Customizable-Compatible/dp/B0CRM4Q1W1/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="Ma3BZza59fUJ2isHLpzvSo" name="JLab JBuds Lux ANC" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ma3BZza59fUJ2isHLpzvSo.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>For the low, low price of $79, the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review" data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51">JLab JBuds Lux ANC</a> wireless headphones have a lot going for them: great sound quality, great ANC, great battery life, and a great app. Dolby Atmos and Spatial Audio compatibility is also onboard, and the ANC is something to behold.<a class="view-deal button" href="https://www.amazon.com/JLab-Headphones-Cancelling-Customizable-Compatible/dp/B0CRM4Q1W1/" target="_blank" rel="nofollow" data-dimension112="abe8bcbb-6300-4de1-8540-2570a81358a8" data-action="Deal Block" data-label="JBuds Lux ANC" data-dimension48="JBuds Lux ANC" data-dimension25="$51">View Deal</a></p></div><div class="product"><a data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54" href="https://global.1more.com/products/1more-sonoflow-wireless-active-noise-cancelling-headphones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="UipDfNXKtx4zmGusnw2f3m" name="1More Sonoflow SE" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UipDfNXKtx4zmGusnw2f3m.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>At $50, the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se" data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54">1More SonoFlow SE</a> offer much of the same high-quality performance as their predecessor, and for several dollars less. Strong battery life, robust sound, effective ANC, and superior call quality make them the budget cans to beat.<a class="view-deal button" href="https://global.1more.com/products/1more-sonoflow-wireless-active-noise-cancelling-headphones" target="_blank" rel="nofollow" data-dimension112="4149a532-a629-4990-8215-f393d97f5fbd" data-action="Deal Block" data-label="SonoFlow SE" data-dimension48="SonoFlow SE" data-dimension25="$54">View Deal</a></p></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBGN0W"></div>                            </div>                            <script src="https://kwizly.com/embed/eBGN0W.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/tribit-quietplus-81-review">‘These headphones boast 110 hours of battery life — but fail to make up for the poor sound’: Tribit QuietPlus 81 review</a></li><li><a href="https://www.tomsguide.com/audio/bluetooth-speakers/expensive-doesnt-mean-good-heres-why-ill-be-sticking-with-my-usd40-speaker-over-this-usd200-one">'Expensive doesn’t mean good’: here’s why I’ll be sticking with my $40 speaker over this $200 one</a></li><li><a href="https://www.tomsguide.com/audio/speakers/edifier-qr65-premium-speakers-from-a-traditionally-budget-brand">‘I didn’t think a traditionally budget brand could make such good premium speakers’ — here’s why the Edifier QR65 are never leaving my desk</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Tribit QuietPlus 81,Sony WH-CH520,1MORE SonoFlow SE,JLab JBuds Lux ANC"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘These headphones boast 110 hours of battery life — but fail to make up for the poor sound’: Tribit QuietPlus 81 review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Tribit is well-known for making budget audio gear, and the latest addition to its extensive lineup are the Tribit QuietPlus 81 over-ear headphones. These cans pack some serious battery life, rated at 110 hours with ANC off — yes, they’ve got ANC, which is quite cool considering they cost just under $50!</p><p>Alongside long battery life and ANC, you get decent sound quality, as sub-$50 headphones go. But if you’re an audiophile or someone who truly appreciates the nuances in music, I’d consider other options. Muddy bass, tinny percussion and a lackluster companion app really let these cans down.</p><p>To find out if they deserve a spot among the <a href="https://www.tomsguide.com/best-picks/best-cheap-headphones">best cheap headphones</a>, read my full Tribit QuietPlus 81 review.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-specs"><span>Tribit QuietPlus 81 review: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Specs</strong></p></th><th  ><p><strong>Tribit QuietPlus 81</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (ANC on)</strong></p></td><td  ><p>70 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (ANC off)</strong></p></td><td  ><p>110 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Paired devices max</strong></p></td><td  ><p>2</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>10 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>Not specified</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-tribit-quietplus-81-review-cheat-sheet"><span>Tribit QuietPlus 81 review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>A very cheap pair of headphones with ANC</li><li><strong>Who is it for? </strong>Anyone who’s on a tight budget and doesn’t mind a few compromises</li><li><strong>How much does it cost? </strong><a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49</a></li><li><strong>What do we like? </strong>The low price tag, long battery life, decent ANC, and decent sound quality for the price</li><li><strong>What don’t we like? </strong>The muddy bass, tinny percussion, and lackluster companion app</li></ul><h2 class="article-body__section" id="section-tribit-quietplus-81-review-price-availability"><span>Tribit QuietPlus 81 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you’re on the hunt for cheap headphones, then the Tribit QuietPlus 81 should be right up your street. They retail for just <a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49 at Amazon</a>, making them some of the cheapest headphones or earbuds I’ve used so far. However, you aren’t exactly spoiled for choice when it comes to colors, as the headphones come in just black.</p><p>Since they’re so inexpensive, do they even face any competition? They do indeed. The <a href="https://www.tomsguide.com/audio/headphones/earfun-wave-life-review">EarFun Wave Life</a> ($59) cost $10 more, but honestly, I wouldn’t recommend them to even my worst enemy. I would, however, recommend the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se">1More SonoFlow SE</a> ($54), which boast a robust sound profile. There’s also the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review">JLab JBuds Lux ANC</a> ($79), which are some of the best-sounding budget cans out there.</p><p>All of this is to say that I’d happily spend a little more on either the 1More or the JLab over the QuietPlus 81. These headphones aren’t <em>bad </em>per se, but they won’t impress any hardcore music lovers.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-design-comfort"><span>Tribit QuietPlus 81 review: Design & comfort</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEzS2DWFmeMxTxYyz8vC4Z" name="Tribit_Quietplus81_ 2.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/XEzS2DWFmeMxTxYyz8vC4Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Soft protein leather earcups</strong></li><li><strong>Hit-or-miss wear detection</strong></li><li><strong>Foldable design for easy transport</strong></li></ul><p>I’ll be honest: when it comes to design, the Tribit QuietPlus 81 aren’t winning any awards at Paris Fashion Week. As run-of-the-mill headphones, they look like practically any other pair out there. In fact, if I asked you to draw a photo of headphones — any headphones — I’m fairly certain you’d end up drawing the QuietPlus 81. They come in all-black, with their body made of ABS plastic.</p><p>The QuietPlus 81 weigh 10 ounces, which is fairly light. They’re a little heavier than the JLab JBuds Lux ANC (8.2 ounces) and the 1More SonoFlow SE (8.4 ounces), but the difference is barely noticeable. Their headband is fitted with protein, artificial leather cushioning, which helps lighten the pressure you’d otherwise feel on the top of your head.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="srevMSLX9cdT8SuF4VqW5Z" name="Tribit_Quietplus81_8.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/srevMSLX9cdT8SuF4VqW5Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>My favorite design feature on the QuietPlus 81 are the soft ear cushions, which are super comfortable to wear for long periods. Having worn them for six consecutive hours, I didn’t experience much discomfort, and my ears didn’t get too hot, as they had previously done when testing. The earcups also fold inwards, making it easy to carry the headphones in a small bag.</p><p>Though Tribit doesn’t mention this on the product page, I noticed that the headphones feature wear detection — but it’s <em>very </em>hit-or-miss. It worked sometimes when I removed the cans, but most of the time, it didn’t. Even my coworker, Erin, noticed this glaring flaw, so I know it wasn’t just me gaslighting myself.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-connectivity"><span>Tribit QuietPlus 81 review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ctqpuP5jU5MRGNsnap9SgZ" name="Tribit_Quietplus81_ 4.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ctqpuP5jU5MRGNsnap9SgZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Bluetooth 6.0 with SBC</strong></li><li><strong>Can connect to two devices at once</strong></li><li><strong>3.5mm for wired playback</strong></li></ul><p>The Tribit QuietPlus 81 boast <a href="https://www.tomsguide.com/audio/bluetooth-speakers/bluetooth-60-just-revealed-heres-what-that-means-for-you">Bluetooth 6.0</a>, and this is the first time I’ve tried a set of cans with the latest version. This means that the headphones maintain a stable connection to your smartphone even when they’re 50 meters / 164 feet away from the source. I tested this out by walking the entire length of our testing lab, and not once did the connection drop.</p><p>As for codecs, the only codec the QuietPlus 81 support is SBC, which means you don’t get access to hi-res codecs, such as AAC, LDAC or aptX Lossless. Keep in mind that these cans cost under $50, so it isn’t surprising that these have been left out. This is also the case with the pricier JLab JBuds Lux ANC, so not unheard of in this price range.</p><p>Thanks to multipoint connectivity, you can pair the QuietPlus 81 with two smart devices at once, and swap between input sources as and when needed. I tried this by connecting the headphones to my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> and <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> simultaneously, and it worked like a charm.</p><p>If you fancy wired playback, you can do that too, as the headphones feature a 3.5mm jack on the right earcup, and an aux cable is included in the box. Overall, this is a fairly solid feature set for a pair of budget headphones.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-controls-app"><span>Tribit QuietPlus 81 review: Controls & app</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QuHQy3aWwihtXA2NubZyKZ" name="Tribit_Quietplus81_ 3.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/QuHQy3aWwihtXA2NubZyKZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Easy-to-use physical buttons</strong></li><li><strong>Touch controls too!</strong></li><li><strong>Lackluster companion app</strong></li></ul><p>The Tribit QuietPlus 81 utilize a combination of touch and physical buttons. The buttons located on the right earcup let you toggle ANC on and off, and change the volume, so they’re fairly straightforward. Tapping the earcups lets you activate a smart assistant, as well as activate the XBass EQ, which, in all honesty, doesn’t make much of a difference.</p><p>To customize the touch controls, you first need to update the QuietPlus 81’s firmware via the Tribit smartphone app. Easily done, yes, but customization is very limited. I was unable to assign any playback controls to the earcups, such as increase/decrease volume, as that’s bound to the physical buttons. I wish Tribit had settled for one or the other: either give me full touch controls or a full set of physical ones. It feels convoluted for no reason.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="pyt7yUowfoZu22t4ssv2VU" name="QuietPlus-81-app" alt="Screenshots of the Tribit smartphone app" src="https://cdn.mos.cms.futurecdn.net/pyt7yUowfoZu22t4ssv2VU.jpg" mos="" align="middle" fullscreen="1" width="1510" height="850" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/pyt7yUowfoZu22t4ssv2VU.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tribit / Tom's Guide)</span></figcaption></figure><p>This also brings me to my next point: the <a href="https://play.google.com/store/apps/details?id=com.thousandshores.tribit&hl=en_GB" target="_blank" rel="nofollow">Tribit app</a>. The app is… fine, and there’s nothing special about it. It lets you update the firmware, customize controls, choose an EQ preset, and customize the 10-band equalizer. What I dislike, though, is that the app feels very clunky. There are three sub-menus when there only need to be two: one for hardware settings (like controls) and EQ. This app could have definitely been more polished.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-sound-quality"><span>Tribit QuietPlus 81 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TbBwSTSwQyNMZ6svnDqfHZ" name="Tribit_Quietplus81_ 5.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/TbBwSTSwQyNMZ6svnDqfHZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Vocals are probably the best part</strong></li><li><strong>Muddy bass and tinny percussion</strong></li><li><strong>Static noise when nothing is playing</strong></li></ul><p>As a senior reviews writer at Tom’s Guide, I’ve tested my fair share of headphones: the good, the bad and the ugly. I feel like the Tribit QuietPlus 81 fall somewhere between the first two categories. I wouldn’t recommend them to hardcore music enthusiasts or audiophiles as the bass is muddy, percussion lacks character and vibrance and the best part is probably the vocals.</p><p>To test the headphones, I put on a few tracks I’m intimately familiar with on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for hi-res audio. I’ll talk about the good thing first: the vocals. The folksy vocals in First Aid Kit’s ‘<a href="https://open.qobuz.com/track/17226203" target="_blank" rel="nofollow">My Silver Lining</a>’ sounded warm and smooth. The duo’s vocals sounded harmonious, and the transition between low notes to high ones towards the end didn’t feel abrupt.</p><p>Similarly, in ‘<a href="https://open.qobuz.com/track/140067771" target="_blank" rel="nofollow">Hayloft II</a>’ by Mother Mother, the male and female voices and pitches were well-balanced. Their screams never sounded too shrill or distant.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JE2C86FNTwvcsJZNkBXW9Z" name="Tribit_Quietplus81_ 7.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/JE2C86FNTwvcsJZNkBXW9Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The QuietPlus 81 are equipped with 40mm dynamic drivers, which, Tribit claims, deliver “an incredible boost to bass performance.” I don’t fully agree with that because, to me, the bass just sounds loud. Not detailed. Not nuanced. Loud.</p><p>This was most apparent while listening to ‘<a href="https://open.qobuz.com/track/35615395" target="_blank" rel="nofollow">Longview</a>’ by Green Day, a track in which Mike Dirnt’s bassline feels like the protagonist, driving the song. The bass notes here are usually bouncy with a slight growl in the mid-range. The QuietPlus 81 negate that completely, making the bass sound muddy and muffled, and it loses all nuance.</p><p>I gave the bass another shot by listening to Linkin Park’s ‘<a href="https://open.qobuz.com/track/287336647" target="_blank" rel="nofollow">Casualty</a>,’ a post-hardcore track featuring multiple guitars and drums. The bass sounded a little better here with better low-end impact, but I immediately noticed the drums and percussion sounding tinny. The heavy snare hits ended up sounding shrill and unpleasant. It felt like the QuietPlus 81 got overwhelmed and didn’t know what to do with themselves.</p><p>It’s also worth noting that when nothing is playing through the headphones, there’s a strange static noise that stops once music plays. It sort of sounds like you’re underwater, but thankfully, it doesn’t intrude on the actual listening experience.</p><p><em>Listen along to my review with the Tribit QuietPlus 81 testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/54620157?zone=GB-en"></iframe><h2 class="article-body__section" id="section-tribit-quietplus-81-review-call-quality"><span>Tribit QuietPlus 81 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:960px;"><p class="vanilla-image-block" style="padding-top:56.35%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/v2/t:475,l:553,cw:960,ch:541,q:80/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Decent microphone</strong></li><li><strong>Works fine in busy environments, too</strong></li></ul><p>When you look at the Tribit QuietPlus 81’s box, you’ll notice that it says “SMOOTH TALKING.” It’s hard to miss, really, because it’s in all caps, bold letters. You’d think that the headphones are smooth-talkers, like they’ve got rizz, as the youths say. I can’t attest to whether they have rizz or not, but it basically implies that they have a decent microphone, as proven in my testing.</p><p>I spoke with my partner on the phone and through the headphones, and she said that my voice was loud and clear, and that she could hear the construction workers behind me, but only slightly. This is because the QuietPlus 81’s mic features five noise-canceling mics, and clearly, these work well. </p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-anc"><span>Tribit QuietPlus 81 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PuqotgPCY72rVavmyDG3HZ" name="Tribit_Quietplus81_ 6.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PuqotgPCY72rVavmyDG3HZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>ANC for very, very cheap</strong></li><li><strong>Okay at best, indoors and outdoors</strong></li></ul><p>Before I purchase headphones or earbuds, I always check that they feature active noise cancelation (ANC). It’s a non-negotiable for me, as I like to fully immerse myself in the music I’m listening to, and I don’t want to be bothered on my commute. The Tribit QuietPlus 81 certainly check that box as they feature ANC — at such a low price too. Whether that ANC is good or not is another story. I’d describe it as "okay" at best.</p><p>In my testing, I found the ANC worked decently indoors. The clickity-clackity sounds emitting from my <a href="https://www.tomsguide.com/computing/keyboards/keychron-q12-he-review">Keychron Q12 HE</a> were minimized, but I could still hear my coworkers speaking with each other, as well as the coffee machine whirring to life. Outdoors, I could hear cars honking in the distance. All of this took place while I was listening to music at 60% volume.</p><p>If you want better, more effective ANC, I’d recommend the JLab JBuds Lux ANC instead.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-battery-life"><span>Tribit QuietPlus 81 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:840px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="ctqpuP5jU5MRGNsnap9SgZ" name="Tribit_Quietplus81_ 4.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/v2/t:259,l:580,cw:840,ch:473,q:80/ctqpuP5jU5MRGNsnap9SgZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Whopping 110-hour battery life</strong></li><li><strong>70 hours with ANC on</strong></li></ul><p>If there’s one thing the Tribit QuietPlus 81 excel at, it’s battery life. After all, the box clearly reads “ULTRA LONG BATT” in all caps. With ANC off, these headphones can last up to 110 hours, and this drops to 70 hours when ANC is active. I still had 100% battery, according to my phone, after having used the headphones for six hours. Mind you, this is even longer than the headphones I use every day: the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> ($349) can last up to 100 hours with ANC off, and 70 hours with ANC on.</p><p>They also blow their competition out of the water in the battery department. With ANC off, the JLab JBuds Lux ANC and the 1More SonoFlow SE can both last 70 hours each, while the EarFun Wave Life are rated at just 60 hours between charges. The QuietPlus 81 are bested only by the<a href="https://www.tomsguide.com/audio/headphones/earfun-tune-pro-review"> EarFun Tune Pro</a> ($69) with their 120-hour battery life.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-verdict"><span>Tribit QuietPlus 81 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pDFqYXnFjWu7J7NHXDuYQZ" name="Tribit_Quietplus81_.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/pDFqYXnFjWu7J7NHXDuYQZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As sub-$50 headphones go, the Tribit QuietPlus 81 aren’t the <em>worst </em>ones I’ve tested so far. For the price, you get fairly decent ANC and up to 110 hours of juice packed into a comfortable, foldable design. Sound quality is where the headphones, unfortunately, suffer the most. While vocals are clear, bass and percussion are not, and you struggle to appreciate the finer details.</p><p>But say you’re at an airport and your headphones just broke, and you need a pair to get you through a long-haul flight, and you spot these cans at a shop, you’d buy them. You’d be satisfied for the duration of your flight, yes, but once you’re off the plane, you’ll want to get your broken cans fixed as soon as possible.</p><p>The QuietPlus 81 are good in a pinch, but for serious listening, look elsewhere.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/tribit-quietplus-81-review</link>
                                                                            <description>
                            <![CDATA[ The Tribit QuietPlus 81 are cheap headphones, boasting 110 hours of battery life and decent ANC. But if you want good sound, look elsewhere. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XwfNcE96NBqSSWkmbzgYaL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 28 Jan 2026 12:47:31 +0000</pubDate>                                                                                                                                <updated>Thu, 26 Mar 2026 10:31:27 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:description>                                                            <media:text><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Black Tribit QuietPlus 81 over-ear headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Tribit is well-known for making budget audio gear, and the latest addition to its extensive lineup are the Tribit QuietPlus 81 over-ear headphones. These cans pack some serious battery life, rated at 110 hours with ANC off — yes, they’ve got ANC, which is quite cool considering they cost just under $50!</p><p>Alongside long battery life and ANC, you get decent sound quality, as sub-$50 headphones go. But if you’re an audiophile or someone who truly appreciates the nuances in music, I’d consider other options. Muddy bass, tinny percussion and a lackluster companion app really let these cans down.</p><p>To find out if they deserve a spot among the <a href="https://www.tomsguide.com/best-picks/best-cheap-headphones">best cheap headphones</a>, read my full Tribit QuietPlus 81 review.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-specs"><span>Tribit QuietPlus 81 review: Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Specs</strong></p></th><th  ><p><strong>Tribit QuietPlus 81</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49</a></p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Black</p></td></tr><tr><td class="firstcol " ><p><strong>Frequency response</strong></p></td><td  ><p>20Hz-20KHz</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (ANC on)</strong></p></td><td  ><p>70 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (ANC off)</strong></p></td><td  ><p>110 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Multipoint connectivity</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Paired devices max</strong></p></td><td  ><p>2</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 6.0 with SBC</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>10 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>Not specified</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-tribit-quietplus-81-review-cheat-sheet"><span>Tribit QuietPlus 81 review: Cheat sheet</span></h2><ul><li><strong>What is it? </strong>A very cheap pair of headphones with ANC</li><li><strong>Who is it for? </strong>Anyone who’s on a tight budget and doesn’t mind a few compromises</li><li><strong>How much does it cost? </strong><a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49</a></li><li><strong>What do we like? </strong>The low price tag, long battery life, decent ANC, and decent sound quality for the price</li><li><strong>What don’t we like? </strong>The muddy bass, tinny percussion, and lackluster companion app</li></ul><h2 class="article-body__section" id="section-tribit-quietplus-81-review-price-availability"><span>Tribit QuietPlus 81 review: Price & availability</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you’re on the hunt for cheap headphones, then the Tribit QuietPlus 81 should be right up your street. They retail for just <a href="https://www.amazon.com/Tribit-Headphones-Cancelling-Comfortable-Lightweight/dp/B0FT89SFV5/" target="_blank" rel="nofollow">$49</a> / <a href="https://www.amazon.co.uk/Tribit-QuietPlus-Cancelling-Headphones-Comfortable-Black/dp/B0FT89SFV5/" target="_blank" rel="nofollow">£49 at Amazon</a>, making them some of the cheapest headphones or earbuds I’ve used so far. However, you aren’t exactly spoiled for choice when it comes to colors, as the headphones come in just black.</p><p>Since they’re so inexpensive, do they even face any competition? They do indeed. The <a href="https://www.tomsguide.com/audio/headphones/earfun-wave-life-review">EarFun Wave Life</a> ($59) cost $10 more, but honestly, I wouldn’t recommend them to even my worst enemy. I would, however, recommend the <a href="https://www.tomsguide.com/reviews/1more-sonoflow-se">1More SonoFlow SE</a> ($54), which boast a robust sound profile. There’s also the <a href="https://www.tomsguide.com/audio/headphones/jlab-jbuds-lux-anc-review">JLab JBuds Lux ANC</a> ($79), which are some of the best-sounding budget cans out there.</p><p>All of this is to say that I’d happily spend a little more on either the 1More or the JLab over the QuietPlus 81. These headphones aren’t <em>bad </em>per se, but they won’t impress any hardcore music lovers.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-design-comfort"><span>Tribit QuietPlus 81 review: Design & comfort</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEzS2DWFmeMxTxYyz8vC4Z" name="Tribit_Quietplus81_ 2.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/XEzS2DWFmeMxTxYyz8vC4Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Soft protein leather earcups</strong></li><li><strong>Hit-or-miss wear detection</strong></li><li><strong>Foldable design for easy transport</strong></li></ul><p>I’ll be honest: when it comes to design, the Tribit QuietPlus 81 aren’t winning any awards at Paris Fashion Week. As run-of-the-mill headphones, they look like practically any other pair out there. In fact, if I asked you to draw a photo of headphones — any headphones — I’m fairly certain you’d end up drawing the QuietPlus 81. They come in all-black, with their body made of ABS plastic.</p><p>The QuietPlus 81 weigh 10 ounces, which is fairly light. They’re a little heavier than the JLab JBuds Lux ANC (8.2 ounces) and the 1More SonoFlow SE (8.4 ounces), but the difference is barely noticeable. Their headband is fitted with protein, artificial leather cushioning, which helps lighten the pressure you’d otherwise feel on the top of your head.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="srevMSLX9cdT8SuF4VqW5Z" name="Tribit_Quietplus81_8.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/srevMSLX9cdT8SuF4VqW5Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>My favorite design feature on the QuietPlus 81 are the soft ear cushions, which are super comfortable to wear for long periods. Having worn them for six consecutive hours, I didn’t experience much discomfort, and my ears didn’t get too hot, as they had previously done when testing. The earcups also fold inwards, making it easy to carry the headphones in a small bag.</p><p>Though Tribit doesn’t mention this on the product page, I noticed that the headphones feature wear detection — but it’s <em>very </em>hit-or-miss. It worked sometimes when I removed the cans, but most of the time, it didn’t. Even my coworker, Erin, noticed this glaring flaw, so I know it wasn’t just me gaslighting myself.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-connectivity"><span>Tribit QuietPlus 81 review: Connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ctqpuP5jU5MRGNsnap9SgZ" name="Tribit_Quietplus81_ 4.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/ctqpuP5jU5MRGNsnap9SgZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Bluetooth 6.0 with SBC</strong></li><li><strong>Can connect to two devices at once</strong></li><li><strong>3.5mm for wired playback</strong></li></ul><p>The Tribit QuietPlus 81 boast <a href="https://www.tomsguide.com/audio/bluetooth-speakers/bluetooth-60-just-revealed-heres-what-that-means-for-you">Bluetooth 6.0</a>, and this is the first time I’ve tried a set of cans with the latest version. This means that the headphones maintain a stable connection to your smartphone even when they’re 50 meters / 164 feet away from the source. I tested this out by walking the entire length of our testing lab, and not once did the connection drop.</p><p>As for codecs, the only codec the QuietPlus 81 support is SBC, which means you don’t get access to hi-res codecs, such as AAC, LDAC or aptX Lossless. Keep in mind that these cans cost under $50, so it isn’t surprising that these have been left out. This is also the case with the pricier JLab JBuds Lux ANC, so not unheard of in this price range.</p><p>Thanks to multipoint connectivity, you can pair the QuietPlus 81 with two smart devices at once, and swap between input sources as and when needed. I tried this by connecting the headphones to my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> and <a href="https://www.tomsguide.com/reviews/macbook-air-2022-m2">MacBook Air M2</a> simultaneously, and it worked like a charm.</p><p>If you fancy wired playback, you can do that too, as the headphones feature a 3.5mm jack on the right earcup, and an aux cable is included in the box. Overall, this is a fairly solid feature set for a pair of budget headphones.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-controls-app"><span>Tribit QuietPlus 81 review: Controls & app</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QuHQy3aWwihtXA2NubZyKZ" name="Tribit_Quietplus81_ 3.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/QuHQy3aWwihtXA2NubZyKZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Easy-to-use physical buttons</strong></li><li><strong>Touch controls too!</strong></li><li><strong>Lackluster companion app</strong></li></ul><p>The Tribit QuietPlus 81 utilize a combination of touch and physical buttons. The buttons located on the right earcup let you toggle ANC on and off, and change the volume, so they’re fairly straightforward. Tapping the earcups lets you activate a smart assistant, as well as activate the XBass EQ, which, in all honesty, doesn’t make much of a difference.</p><p>To customize the touch controls, you first need to update the QuietPlus 81’s firmware via the Tribit smartphone app. Easily done, yes, but customization is very limited. I was unable to assign any playback controls to the earcups, such as increase/decrease volume, as that’s bound to the physical buttons. I wish Tribit had settled for one or the other: either give me full touch controls or a full set of physical ones. It feels convoluted for no reason.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="pyt7yUowfoZu22t4ssv2VU" name="QuietPlus-81-app" alt="Screenshots of the Tribit smartphone app" src="https://cdn.mos.cms.futurecdn.net/pyt7yUowfoZu22t4ssv2VU.jpg" mos="" align="middle" fullscreen="1" width="1510" height="850" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/pyt7yUowfoZu22t4ssv2VU.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tribit / Tom's Guide)</span></figcaption></figure><p>This also brings me to my next point: the <a href="https://play.google.com/store/apps/details?id=com.thousandshores.tribit&hl=en_GB" target="_blank" rel="nofollow">Tribit app</a>. The app is… fine, and there’s nothing special about it. It lets you update the firmware, customize controls, choose an EQ preset, and customize the 10-band equalizer. What I dislike, though, is that the app feels very clunky. There are three sub-menus when there only need to be two: one for hardware settings (like controls) and EQ. This app could have definitely been more polished.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-sound-quality"><span>Tribit QuietPlus 81 review: Sound quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TbBwSTSwQyNMZ6svnDqfHZ" name="Tribit_Quietplus81_ 5.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/TbBwSTSwQyNMZ6svnDqfHZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Vocals are probably the best part</strong></li><li><strong>Muddy bass and tinny percussion</strong></li><li><strong>Static noise when nothing is playing</strong></li></ul><p>As a senior reviews writer at Tom’s Guide, I’ve tested my fair share of headphones: the good, the bad and the ugly. I feel like the Tribit QuietPlus 81 fall somewhere between the first two categories. I wouldn’t recommend them to hardcore music enthusiasts or audiophiles as the bass is muddy, percussion lacks character and vibrance and the best part is probably the vocals.</p><p>To test the headphones, I put on a few tracks I’m intimately familiar with on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz</a>, the <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best music streaming service</a> for hi-res audio. I’ll talk about the good thing first: the vocals. The folksy vocals in First Aid Kit’s ‘<a href="https://open.qobuz.com/track/17226203" target="_blank" rel="nofollow">My Silver Lining</a>’ sounded warm and smooth. The duo’s vocals sounded harmonious, and the transition between low notes to high ones towards the end didn’t feel abrupt.</p><p>Similarly, in ‘<a href="https://open.qobuz.com/track/140067771" target="_blank" rel="nofollow">Hayloft II</a>’ by Mother Mother, the male and female voices and pitches were well-balanced. Their screams never sounded too shrill or distant.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JE2C86FNTwvcsJZNkBXW9Z" name="Tribit_Quietplus81_ 7.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/JE2C86FNTwvcsJZNkBXW9Z.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The QuietPlus 81 are equipped with 40mm dynamic drivers, which, Tribit claims, deliver “an incredible boost to bass performance.” I don’t fully agree with that because, to me, the bass just sounds loud. Not detailed. Not nuanced. Loud.</p><p>This was most apparent while listening to ‘<a href="https://open.qobuz.com/track/35615395" target="_blank" rel="nofollow">Longview</a>’ by Green Day, a track in which Mike Dirnt’s bassline feels like the protagonist, driving the song. The bass notes here are usually bouncy with a slight growl in the mid-range. The QuietPlus 81 negate that completely, making the bass sound muddy and muffled, and it loses all nuance.</p><p>I gave the bass another shot by listening to Linkin Park’s ‘<a href="https://open.qobuz.com/track/287336647" target="_blank" rel="nofollow">Casualty</a>,’ a post-hardcore track featuring multiple guitars and drums. The bass sounded a little better here with better low-end impact, but I immediately noticed the drums and percussion sounding tinny. The heavy snare hits ended up sounding shrill and unpleasant. It felt like the QuietPlus 81 got overwhelmed and didn’t know what to do with themselves.</p><p>It’s also worth noting that when nothing is playing through the headphones, there’s a strange static noise that stops once music plays. It sort of sounds like you’re underwater, but thankfully, it doesn’t intrude on the actual listening experience.</p><p><em>Listen along to my review with the Tribit QuietPlus 81 testing playlist:</em></p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/54620157?zone=GB-en"></iframe><h2 class="article-body__section" id="section-tribit-quietplus-81-review-call-quality"><span>Tribit QuietPlus 81 review: Call quality</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:960px;"><p class="vanilla-image-block" style="padding-top:56.35%;"><img id="7QbntT3jJDouSwiVPphDAZ" name="Tribit_Quietplus81_ 1.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/v2/t:475,l:553,cw:960,ch:541,q:80/7QbntT3jJDouSwiVPphDAZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Decent microphone</strong></li><li><strong>Works fine in busy environments, too</strong></li></ul><p>When you look at the Tribit QuietPlus 81’s box, you’ll notice that it says “SMOOTH TALKING.” It’s hard to miss, really, because it’s in all caps, bold letters. You’d think that the headphones are smooth-talkers, like they’ve got rizz, as the youths say. I can’t attest to whether they have rizz or not, but it basically implies that they have a decent microphone, as proven in my testing.</p><p>I spoke with my partner on the phone and through the headphones, and she said that my voice was loud and clear, and that she could hear the construction workers behind me, but only slightly. This is because the QuietPlus 81’s mic features five noise-canceling mics, and clearly, these work well. </p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-anc"><span>Tribit QuietPlus 81 review: ANC</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PuqotgPCY72rVavmyDG3HZ" name="Tribit_Quietplus81_ 6.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/PuqotgPCY72rVavmyDG3HZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>ANC for very, very cheap</strong></li><li><strong>Okay at best, indoors and outdoors</strong></li></ul><p>Before I purchase headphones or earbuds, I always check that they feature active noise cancelation (ANC). It’s a non-negotiable for me, as I like to fully immerse myself in the music I’m listening to, and I don’t want to be bothered on my commute. The Tribit QuietPlus 81 certainly check that box as they feature ANC — at such a low price too. Whether that ANC is good or not is another story. I’d describe it as "okay" at best.</p><p>In my testing, I found the ANC worked decently indoors. The clickity-clackity sounds emitting from my <a href="https://www.tomsguide.com/computing/keyboards/keychron-q12-he-review">Keychron Q12 HE</a> were minimized, but I could still hear my coworkers speaking with each other, as well as the coffee machine whirring to life. Outdoors, I could hear cars honking in the distance. All of this took place while I was listening to music at 60% volume.</p><p>If you want better, more effective ANC, I’d recommend the JLab JBuds Lux ANC instead.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-battery-life"><span>Tribit QuietPlus 81 review: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:840px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="ctqpuP5jU5MRGNsnap9SgZ" name="Tribit_Quietplus81_ 4.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/v2/t:259,l:580,cw:840,ch:473,q:80/ctqpuP5jU5MRGNsnap9SgZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><ul><li><strong>Whopping 110-hour battery life</strong></li><li><strong>70 hours with ANC on</strong></li></ul><p>If there’s one thing the Tribit QuietPlus 81 excel at, it’s battery life. After all, the box clearly reads “ULTRA LONG BATT” in all caps. With ANC off, these headphones can last up to 110 hours, and this drops to 70 hours when ANC is active. I still had 100% battery, according to my phone, after having used the headphones for six hours. Mind you, this is even longer than the headphones I use every day: the <a href="https://www.tomsguide.com/audio/headphones/marshall-monitor-iii-review">Marshall Monitor III</a> ($349) can last up to 100 hours with ANC off, and 70 hours with ANC on.</p><p>They also blow their competition out of the water in the battery department. With ANC off, the JLab JBuds Lux ANC and the 1More SonoFlow SE can both last 70 hours each, while the EarFun Wave Life are rated at just 60 hours between charges. The QuietPlus 81 are bested only by the<a href="https://www.tomsguide.com/audio/headphones/earfun-tune-pro-review"> EarFun Tune Pro</a> ($69) with their 120-hour battery life.</p><h2 class="article-body__section" id="section-tribit-quietplus-81-review-verdict"><span>Tribit QuietPlus 81 review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pDFqYXnFjWu7J7NHXDuYQZ" name="Tribit_Quietplus81_.JPG" alt="Black Tribit QuietPlus 81 over-ear headphones" src="https://cdn.mos.cms.futurecdn.net/pDFqYXnFjWu7J7NHXDuYQZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As sub-$50 headphones go, the Tribit QuietPlus 81 aren’t the <em>worst </em>ones I’ve tested so far. For the price, you get fairly decent ANC and up to 110 hours of juice packed into a comfortable, foldable design. Sound quality is where the headphones, unfortunately, suffer the most. While vocals are clear, bass and percussion are not, and you struggle to appreciate the finer details.</p><p>But say you’re at an airport and your headphones just broke, and you need a pair to get you through a long-haul flight, and you spot these cans at a shop, you’d buy them. You’d be satisfied for the duration of your flight, yes, but once you’re off the plane, you’ll want to get your broken cans fixed as soon as possible.</p><p>The QuietPlus 81 are good in a pinch, but for serious listening, look elsewhere.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Listen up! Sony's flagship noise-cancelling headphones just fell back to their lowest ever price ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There's a whole bunch of reasons to pick up the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>. They sound great, feature some of the best ANC that money can buy, and pack in loads of features that rank them amongst the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>.</p><p>Now there's one more reason to grab yourself a pair — a $60 discount. The <a href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow">WH-1000XM6 are now just $398 at Amazon</a>, making them their lowest price of the year.</p><div class="product"><a data-dimension112="511a3a23-55d3-4aa8-9224-4ef922a3be35" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM6 bring a whole host of great features to the table, making them a solid option if you want some top-notch ANC headphones. They sound good, they're comfortable, and they offer 30 hours of battery life. The protective case keeps them safe from damage in your backpack.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="511a3a23-55d3-4aa8-9224-4ef922a3be35" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><p>Sony's latest pair of headphones are more expensive than the old model, the XM5, but there's enough new stuff on offer to justify the price. But enough of that — let me tell you why I started using them more than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones gen 2</a>, which would otherwise be my favorite noise-cancelling headphones.</p><p>As much as the ANC of the Bose headphones is scarily impressive, the sound leaves a lot to be desired. The three-band EQ can only go so far in making them more usable, with more sound customization restrictions than I'd usually like.</p><p>Strangely, the 10-band EQ found in Sony's headphones has made the most important difference. The sound is still not to my taste out of the box. There's too much over-dominating low-end to the sound. So I dip into the extensive EQ settings and dial in the sound to my preferred profile. Much better.</p><p>Toss in the excellent ANC and decent battery life, and the XM6 earn a permanent place in my backpack alongside similar cans from Bowers & Wilkins. They do the lion's share of my ANC work now — something I wasn't expecting during my testing.</p><p>This discount brings them back down to their lowest price, something we've only just seen this year. This price hasn't stuck around long in the past — so it's well worth dipping in quickly to avoid disapoinment.</p><div data-widget-type="review" data-model-name="Sony WH-1000XM6"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/listen-up-sonys-flagship-noise-cancelling-headphones-just-fell-back-to-their-lowest-ever-price</link>
                                                                            <description>
                            <![CDATA[ Sony's flagship cans are back down to their lowest price ever, thanks to a $60 discount at Amazon. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xh8ntRC494JPU4B6eE3FuB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 26 Jan 2026 12:07:15 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:description>                                                            <media:text><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:text>
                                <media:title type="plain"><![CDATA[Sony WH-1000XM6 headphones outdoors in sunshine]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WEctBf2Qqhhu8tjqySrsU4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There's a whole bunch of reasons to pick up the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>. They sound great, feature some of the best ANC that money can buy, and pack in loads of features that rank them amongst the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>.</p><p>Now there's one more reason to grab yourself a pair — a $60 discount. The <a href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow">WH-1000XM6 are now just $398 at Amazon</a>, making them their lowest price of the year.</p><div class="product"><a data-dimension112="511a3a23-55d3-4aa8-9224-4ef922a3be35" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sony WH-1000XM6 bring a whole host of great features to the table, making them a solid option if you want some top-notch ANC headphones. They sound good, they're comfortable, and they offer 30 hours of battery life. The protective case keeps them safe from damage in your backpack.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="511a3a23-55d3-4aa8-9224-4ef922a3be35" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><p>Sony's latest pair of headphones are more expensive than the old model, the XM5, but there's enough new stuff on offer to justify the price. But enough of that — let me tell you why I started using them more than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones gen 2</a>, which would otherwise be my favorite noise-cancelling headphones.</p><p>As much as the ANC of the Bose headphones is scarily impressive, the sound leaves a lot to be desired. The three-band EQ can only go so far in making them more usable, with more sound customization restrictions than I'd usually like.</p><p>Strangely, the 10-band EQ found in Sony's headphones has made the most important difference. The sound is still not to my taste out of the box. There's too much over-dominating low-end to the sound. So I dip into the extensive EQ settings and dial in the sound to my preferred profile. Much better.</p><p>Toss in the excellent ANC and decent battery life, and the XM6 earn a permanent place in my backpack alongside similar cans from Bowers & Wilkins. They do the lion's share of my ANC work now — something I wasn't expecting during my testing.</p><p>This discount brings them back down to their lowest price, something we've only just seen this year. This price hasn't stuck around long in the past — so it's well worth dipping in quickly to avoid disapoinment.</p><div data-widget-type="review" data-model-name="Sony WH-1000XM6"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’m a music geek, and the Beyerdynamic DT 270 Pro are a dream come true — here's why I'm sold on studio headphones now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Beyerdynamic DT 270 Pro headphones have seriously changed the way I listen to music and practice guitar. Headphones that are comfortable and great at their job are pretty hard to come by, but these studio cans tick all of my boxes. </p><p>As studio headphones, the Beyerdynamic DT 270 Pro are specifically designed for detailed listening and production. They are great for music listening too, as the balanced sound profile complements pretty much every genre. Lightweight but sturdy, they’re perfect for taking with you anywhere and creating a portable setup.</p><p>To find out more about the headphones, keep reading this Beyerdynamic DT 270 Pro review. </p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-cheat-sheet"><span>Beyerdynamic DT 270 Pro review: Cheat sheet</span></h3><ul><li><strong>What is it?</strong> Compact studio headphones for detailed listening</li><li><strong>Who is it for?</strong> Semi-professional musicians who want to hear every detail in their music</li><li><strong>What does it cost?</strong> The Beyerdynamic DT 270 Pro headphones are available for <a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">$159</a>/<a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">£89</a></li><li><strong>What do we like?</strong> They are comfortable to wear for longer periods, and are lightweight and compact for travel. They provide detailed sound that suits a wide variety of genres, making them ideal for musicians.</li><li><strong>What don’t we like?</strong> Virtually nothing.</li></ul><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-specs"><span>Beyerdynamic DT 270 Pro review: Specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">$159</a>/<a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">£89</a></p></td></tr><tr><td class="firstcol " ><p><strong>Style</strong></p></td><td  ><p>Over-ear</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity </strong></p></td><td  ><p>Wired</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Weight (without cable)</strong></p></td><td  ><p>6.8 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Cable and plug</strong></p></td><td  ><p>Gold vaporized mini stereo jack plug (3.5mm) and 1/4" adapter (6.35mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Accessories</strong></p></td><td  ><p>Cable, jack plug</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-price-availability"><span>Beyerdynamic DT 270 Pro review: Price & availability</span></h3><p>The Beyerdynamics DT 270 Pro headphones are available in the U.S. <a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">from Beyerdynamic direct for $159</a>. In the U.K., they can be purchased on <a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">Amazon for £89</a>. Since these are studio headphones, they can’t be compared to typical consumer headphones.</p><p>Other studio headphones include the <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50s</a>, which cost $109/£99 — a little cheaper in the U.S. than in the U.K. However, in my opinion, these don’t look as good as the Beyerdynamics, which are also far more comfortable as they have an over-ear instead of an on-ear design. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EfA3NLrs62JmnakRv8Cff" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/EfA3NLrs62JmnakRv8Cff.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p><a href="https://www.tomsguide.com/audio/over-ear-headphones/ive-been-using-taylor-swifts-headphones-for-years-and-you-can-get-them-for-less-than-usd100">Sony MDR-7506</a> are beloved studio cans in the audio world and are a little cheaper at $109, but they’re not designed to be taken with you on the go like the DT 270s. The Sennheiser HD25 headphones are well-suited to metal if that’s your bag, but will cost you a little more at $199.</p><p>These headphones are a part of the compact collection from Beyerdynamic, making them pretty basic. But if you’re looking to splurge, for $199 you could get the <a href="https://www.amazon.com/beyerdynamic-DT-770-PRO-Professional/dp/B07H48TGYM">Beyerdynamic DT 770 Pro</a> headphones, which might be better for you if you have a fixed professional setup. They still feature a closed back design, but these headphones are a pretty big step up from the 270 Pros as they offer a far more durable build, and a fixed aux input.</p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-design-features"><span>Beyerdynamic DT 270 Pro review: Design & features</span></h3><ul><li><strong>Comfortable to wear for long periods</strong></li><li><strong>Lightweight and compact</strong></li><li><strong>Wired adapters included</strong></li></ul><p>Beyerdynamic is known for its studio headphones, and the DT 270 Pro headphones are a compact version of the DT 240 Pros. They are professional headphones for anyone who needs a space-saving solution for on-the-go, detailed listening. They are super lightweight at only 6.8 ounces, so you can take them with you wherever you go. </p><p>The all-black design with gray velour ear cups makes them look very sleek while remaining minimal. The padding on the headband makes them incredibly comfortable, and the headband slides to make them bigger or smaller, depending on your desired fit. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yc5keySFifJ85HLmXrg7W" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/yc5keySFifJ85HLmXrg7W.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>They are over-ear headphones, but only just. What does that mean? While they entirely encapsulate my ear, it’s a snug fit. So if you have bigger ears, you may find the cups sit on top of them slightly. This is all in the interest of staying compact. We’ve got an upgrade from the Beyerdynamic DT 240 Pro headphones, then, which had smaller earpads. The extra padding means extra comfort in the DT 270 Pros. </p><p>This is a welcome change from other studio headphones we’ve tested at Tom’s Guide, like the Rode NTH-50s. When my colleague Erin was testing the Rode NTH-50 headphones, I got to try them on and listen to a couple of songs. One thing that struck me about them was how uncomfortable they were, but they <em>are</em> on-ear headphones. Because of the ultra-padded over-ear cups, the DT 270 Pro headphones are a total no-brainer when it comes to comfort. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7sKN9LHzXvRAEA9Doa6rX" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/7sKN9LHzXvRAEA9Doa6rX.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Another perk is that these headphones are a lot lighter than the Beyerdynamic DT 770, which are more robust and designed to be left in the studio, rather than taken with you anywhere. Both sets of headphones are closed back, which means that the sealed design will provide great noise isolation, but for more serious studio time, the DT 770s are the better option. </p><p>The DT 270 Pros are analog headphones and come with a 3.5mm coiled cable, which I found useful when using the headphones with instruments, as I was able to position the cable out of the way easily. But if you’re looking for Bluetooth, wireless, rechargeable cans, these aren’t for you. But you could look at something like the <a href="https://www.tomsguide.com/audio/beyerdynamic-aventho-300-review">Beyerdynamic Aventho 300</a> headphones, which come with epic battery life and impressive ANC capabilities. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mmaudQaZywBo2ESXazdcR" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/mmaudQaZywBo2ESXazdcR.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On top of the 3.5mm coiled cable, the DT 270 Pro headphones ship with a USB-C to 3.5mm adapter and a 1/4" jack included with the headphones. The USB-C adapter allows me to plug into my computer or phone, and I can use the 1/4" jack to plug into my amplifier and listen to my guitar through the headphones. Everything stores away neatly in the included drawstring bag, and the earcups fold in for a better fit when storing them. </p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-audio-quality"><span>Beyerdynamic DT 270 Pro review: Audio quality</span></h3><ul><li><strong>Incredible detail</strong></li><li><strong>Can cope with a variety of genres</strong></li><li><strong>Great for instrument practice</strong></li></ul><p>Getting to test the Beyerdynamic DT 270 Pro headphones has been so much fun, and I would recommend them to any music geeks who want something for detailed listening. </p><p>Whether I was just listening to my regular playlist or plugged into my amp or piano, the DT270 headphones gave me accurate and faithful sound replication. These headphones are designed with recording and monitoring in mind, but the balanced sound profile allowed me to hear all of the details in my regular music listening. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9bBkHUJ2vNJyXsCpqaPgm" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/9bBkHUJ2vNJyXsCpqaPgm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To test out the headphones with music, I listened to a variety of genres with different tempos to see how much detail I could hear in the songs. I tested using 24-bit/192KHz tracks on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz, </a>our recommended <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best streaming service</a> for audiophiles, so I was hearing the least compressed version of the track possible. The headphones showed off how much detail they can really capture. </p><p>I started by listening to <em>Delete Ya </em>by Djo, a song that blurs the lines between psychedelic punk and synth pop. There was far more detail in the song with the Beyerdynamics (which comes as a shock to nobody) than my <a href="https://www.tomsguide.com/us/beats-studio3-wireless-headphones,review-5177.html">Beats Studio3</a>, which are my go-to consumer headphones for daily listening while I commute. The drums sounded far more detailed and accentuated sibilant, high-frequency sounds on the hi-hats. The pronunciation of the vocals in the mids also sounded enhanced, and I could hear every breath taken by the singer; the treble was well-balanced. The bassline was also prominent — no aspect of the song was left behind.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GcdnYFEJ28XYWgXVsMjvm" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/GcdnYFEJ28XYWgXVsMjvm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Next, I listened to <em>Boogie Wonderland </em>by Earth, Wind & Fire (with The Emotions). This is a classic, but the powerful disco funk can sometimes be a lot for headphones since there is so much going on and a lot of layers to digest. After a little boogie-ing of my own, it was clear that despite the challenge, the DT 270 Pros presented every instrument perfectly with impressive instrument separation. I could hear the frequency of the wind instruments clearly, along with the vocal harmonies and prominent bassline.   </p><p>Finally, I listened to <em>In My Room </em>by Julia Wolf. This is one of my favorite songs as it starts very melodic and calm before bursting into a gothic explosion from acoustic to electric guitar. These headphones make this song shine, thanks to their excellent sound separation. In the delicate finger-picked acoustic guitar at the start, I felt I could hear every string clearly. Even when it dipped into distortion-heavy electric guitar and powerful drums, there was no issue with balance, and I could still hear Julia’s vocals prominently above the fuzz.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UBgDh4DTgs3bTXSsM9mkW" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/UBgDh4DTgs3bTXSsM9mkW.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, in short, these headphones can do it all. They can cope with the delicate whistles of wind instruments stacked up with heavy drums, all the while separating vocals to give the best detailed listening experience. </p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/52905205?zone=GB-en"></iframe><p>I also tested the Beyerdynamic DT 270 Pros with my music gear. I plugged the headphones into my amplifier using the jack adapter and connected them to the amp up to my guitar. I ended up trying the headphones out with four of my guitars and was totally impressed by their ability to replicate the timbre of each instrument. Each note I played was clear and sonorous, and I could hear every dynamic movement. They’re a great choice for anyone who wants to get detailed feedback when practicing with an instrument.</p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-verdict"><span>Beyerdynamic DT 270 Pro review: Verdict</span></h3><p>The Beyerdynamic DT 270 Pro headphones are virtually perfect. They do exactly what they are designed for and do it well. Since they are compact and lightweight, they’re the perfect addition for any musicians or audiophiles who need a solution for detailed listening on the go. </p><p>They offer detailed sound and allow me to hear every layer of the songs I listen to. This is perfect for my eclectic taste, as they work well with pretty much any genre because of the incredible instrument separation. The cherry on top is how comfortable they are to wear all day long, so they're great for intense production sessions. These headphones are a must-have for anyone who wants detailed listening on the go.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/beyerdynamic-dt-270-pro-review</link>
                                                                            <description>
                            <![CDATA[ The Beyerdynamic DT 270 Pro headphones can give you detailed, producer-level sound on a budget, and they’re actually super impressive ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">h3znEZVtiu5ent68WkZCHY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ZQH8m5nttk5XAQsQT94BU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 23 Jan 2026 15:38:38 +0000</pubDate>                                                                                                                                <updated>Thu, 26 Mar 2026 10:31:26 +0000</updated>
                                                                                                                                            <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ ashley.thieme@futurenet.com (Ashley Thieme) ]]></author>                    <dc:creator><![CDATA[ Ashley Thieme ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3AWovHjApwuNrSGRS6WBcL.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ashley Thieme is a staff writer on the Reviews team at Tom’s Guide where she tests out the latest tech so you can know what’s going to be worth your time and money. She has a master’s degree in Magazine Journalism and a bachelor’s degree in Journalism, Media and Sociology from Cardiff University. She has bylines in titles including Women’s Health UK, sharing the latest health and wellness news stories, and Virgin Radio UK, providing the latest entertainment news and working on celebrity interviews. She has experience reporting on a variety of topics including music, literature, motorsport, entertainment and health. In previously published work, she has reviewed live music events, books, and wellness products. She values the importance of tech enhancing your life rather than taking over, and as a music fanatic, she is always looking for the best way to listen to new music releases. Discovering the top audio equipment that enhances sound quality and provides optimum comfort is what Ashley does best. In her spare time, Ashley enjoys hitting her reading goals on Goodreads by getting into the latest novels with a cup of tea as well as getting out in the Welsh mountains for a good hike on the weekend.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ZQH8m5nttk5XAQsQT94BU-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Beyerdynamic DT 270 Pros photographed in a blue background]]></media:description>                                                            <media:text><![CDATA[Beyerdynamic DT 270 Pros photographed in a blue background]]></media:text>
                                <media:title type="plain"><![CDATA[Beyerdynamic DT 270 Pros photographed in a blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ZQH8m5nttk5XAQsQT94BU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Beyerdynamic DT 270 Pro headphones have seriously changed the way I listen to music and practice guitar. Headphones that are comfortable and great at their job are pretty hard to come by, but these studio cans tick all of my boxes. </p><p>As studio headphones, the Beyerdynamic DT 270 Pro are specifically designed for detailed listening and production. They are great for music listening too, as the balanced sound profile complements pretty much every genre. Lightweight but sturdy, they’re perfect for taking with you anywhere and creating a portable setup.</p><p>To find out more about the headphones, keep reading this Beyerdynamic DT 270 Pro review. </p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-cheat-sheet"><span>Beyerdynamic DT 270 Pro review: Cheat sheet</span></h3><ul><li><strong>What is it?</strong> Compact studio headphones for detailed listening</li><li><strong>Who is it for?</strong> Semi-professional musicians who want to hear every detail in their music</li><li><strong>What does it cost?</strong> The Beyerdynamic DT 270 Pro headphones are available for <a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">$159</a>/<a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">£89</a></li><li><strong>What do we like?</strong> They are comfortable to wear for longer periods, and are lightweight and compact for travel. They provide detailed sound that suits a wide variety of genres, making them ideal for musicians.</li><li><strong>What don’t we like?</strong> Virtually nothing.</li></ul><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-specs"><span>Beyerdynamic DT 270 Pro review: Specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">$159</a>/<a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">£89</a></p></td></tr><tr><td class="firstcol " ><p><strong>Style</strong></p></td><td  ><p>Over-ear</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity </strong></p></td><td  ><p>Wired</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Durability</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Weight (without cable)</strong></p></td><td  ><p>6.8 ounces</p></td></tr><tr><td class="firstcol " ><p><strong>Cable and plug</strong></p></td><td  ><p>Gold vaporized mini stereo jack plug (3.5mm) and 1/4" adapter (6.35mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Accessories</strong></p></td><td  ><p>Cable, jack plug</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-price-availability"><span>Beyerdynamic DT 270 Pro review: Price & availability</span></h3><p>The Beyerdynamics DT 270 Pro headphones are available in the U.S. <a href="https://north-america.beyerdynamic.com/p/dt-270-pro?nosto=New_Products_frontpage" target="_blank" rel="nofollow">from Beyerdynamic direct for $159</a>. In the U.K., they can be purchased on <a href="https://www.amazon.co.uk/beyerdynamic-Over-Ear-Headphones-Recording-Monitoring-black/dp/B0FN84PVVJ" target="_blank" rel="nofollow">Amazon for £89</a>. Since these are studio headphones, they can’t be compared to typical consumer headphones.</p><p>Other studio headphones include the <a href="https://www.tomsguide.com/audio/headphones/rode-nth-50-review">Rode NTH-50s</a>, which cost $109/£99 — a little cheaper in the U.S. than in the U.K. However, in my opinion, these don’t look as good as the Beyerdynamics, which are also far more comfortable as they have an over-ear instead of an on-ear design. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EfA3NLrs62JmnakRv8Cff" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/EfA3NLrs62JmnakRv8Cff.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p><a href="https://www.tomsguide.com/audio/over-ear-headphones/ive-been-using-taylor-swifts-headphones-for-years-and-you-can-get-them-for-less-than-usd100">Sony MDR-7506</a> are beloved studio cans in the audio world and are a little cheaper at $109, but they’re not designed to be taken with you on the go like the DT 270s. The Sennheiser HD25 headphones are well-suited to metal if that’s your bag, but will cost you a little more at $199.</p><p>These headphones are a part of the compact collection from Beyerdynamic, making them pretty basic. But if you’re looking to splurge, for $199 you could get the <a href="https://www.amazon.com/beyerdynamic-DT-770-PRO-Professional/dp/B07H48TGYM">Beyerdynamic DT 770 Pro</a> headphones, which might be better for you if you have a fixed professional setup. They still feature a closed back design, but these headphones are a pretty big step up from the 270 Pros as they offer a far more durable build, and a fixed aux input.</p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-design-features"><span>Beyerdynamic DT 270 Pro review: Design & features</span></h3><ul><li><strong>Comfortable to wear for long periods</strong></li><li><strong>Lightweight and compact</strong></li><li><strong>Wired adapters included</strong></li></ul><p>Beyerdynamic is known for its studio headphones, and the DT 270 Pro headphones are a compact version of the DT 240 Pros. They are professional headphones for anyone who needs a space-saving solution for on-the-go, detailed listening. They are super lightweight at only 6.8 ounces, so you can take them with you wherever you go. </p><p>The all-black design with gray velour ear cups makes them look very sleek while remaining minimal. The padding on the headband makes them incredibly comfortable, and the headband slides to make them bigger or smaller, depending on your desired fit. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yc5keySFifJ85HLmXrg7W" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/yc5keySFifJ85HLmXrg7W.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>They are over-ear headphones, but only just. What does that mean? While they entirely encapsulate my ear, it’s a snug fit. So if you have bigger ears, you may find the cups sit on top of them slightly. This is all in the interest of staying compact. We’ve got an upgrade from the Beyerdynamic DT 240 Pro headphones, then, which had smaller earpads. The extra padding means extra comfort in the DT 270 Pros. </p><p>This is a welcome change from other studio headphones we’ve tested at Tom’s Guide, like the Rode NTH-50s. When my colleague Erin was testing the Rode NTH-50 headphones, I got to try them on and listen to a couple of songs. One thing that struck me about them was how uncomfortable they were, but they <em>are</em> on-ear headphones. Because of the ultra-padded over-ear cups, the DT 270 Pro headphones are a total no-brainer when it comes to comfort. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7sKN9LHzXvRAEA9Doa6rX" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/7sKN9LHzXvRAEA9Doa6rX.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Another perk is that these headphones are a lot lighter than the Beyerdynamic DT 770, which are more robust and designed to be left in the studio, rather than taken with you anywhere. Both sets of headphones are closed back, which means that the sealed design will provide great noise isolation, but for more serious studio time, the DT 770s are the better option. </p><p>The DT 270 Pros are analog headphones and come with a 3.5mm coiled cable, which I found useful when using the headphones with instruments, as I was able to position the cable out of the way easily. But if you’re looking for Bluetooth, wireless, rechargeable cans, these aren’t for you. But you could look at something like the <a href="https://www.tomsguide.com/audio/beyerdynamic-aventho-300-review">Beyerdynamic Aventho 300</a> headphones, which come with epic battery life and impressive ANC capabilities. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mmaudQaZywBo2ESXazdcR" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/mmaudQaZywBo2ESXazdcR.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On top of the 3.5mm coiled cable, the DT 270 Pro headphones ship with a USB-C to 3.5mm adapter and a 1/4" jack included with the headphones. The USB-C adapter allows me to plug into my computer or phone, and I can use the 1/4" jack to plug into my amplifier and listen to my guitar through the headphones. Everything stores away neatly in the included drawstring bag, and the earcups fold in for a better fit when storing them. </p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-audio-quality"><span>Beyerdynamic DT 270 Pro review: Audio quality</span></h3><ul><li><strong>Incredible detail</strong></li><li><strong>Can cope with a variety of genres</strong></li><li><strong>Great for instrument practice</strong></li></ul><p>Getting to test the Beyerdynamic DT 270 Pro headphones has been so much fun, and I would recommend them to any music geeks who want something for detailed listening. </p><p>Whether I was just listening to my regular playlist or plugged into my amp or piano, the DT270 headphones gave me accurate and faithful sound replication. These headphones are designed with recording and monitoring in mind, but the balanced sound profile allowed me to hear all of the details in my regular music listening. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9bBkHUJ2vNJyXsCpqaPgm" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/9bBkHUJ2vNJyXsCpqaPgm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To test out the headphones with music, I listened to a variety of genres with different tempos to see how much detail I could hear in the songs. I tested using 24-bit/192KHz tracks on <a href="https://www.tomsguide.com/audio/qobuz-review">Qobuz, </a>our recommended <a href="https://www.tomsguide.com/buying-guide/best-music-streaming-services">best streaming service</a> for audiophiles, so I was hearing the least compressed version of the track possible. The headphones showed off how much detail they can really capture. </p><p>I started by listening to <em>Delete Ya </em>by Djo, a song that blurs the lines between psychedelic punk and synth pop. There was far more detail in the song with the Beyerdynamics (which comes as a shock to nobody) than my <a href="https://www.tomsguide.com/us/beats-studio3-wireless-headphones,review-5177.html">Beats Studio3</a>, which are my go-to consumer headphones for daily listening while I commute. The drums sounded far more detailed and accentuated sibilant, high-frequency sounds on the hi-hats. The pronunciation of the vocals in the mids also sounded enhanced, and I could hear every breath taken by the singer; the treble was well-balanced. The bassline was also prominent — no aspect of the song was left behind.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GcdnYFEJ28XYWgXVsMjvm" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/GcdnYFEJ28XYWgXVsMjvm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Next, I listened to <em>Boogie Wonderland </em>by Earth, Wind & Fire (with The Emotions). This is a classic, but the powerful disco funk can sometimes be a lot for headphones since there is so much going on and a lot of layers to digest. After a little boogie-ing of my own, it was clear that despite the challenge, the DT 270 Pros presented every instrument perfectly with impressive instrument separation. I could hear the frequency of the wind instruments clearly, along with the vocal harmonies and prominent bassline.   </p><p>Finally, I listened to <em>In My Room </em>by Julia Wolf. This is one of my favorite songs as it starts very melodic and calm before bursting into a gothic explosion from acoustic to electric guitar. These headphones make this song shine, thanks to their excellent sound separation. In the delicate finger-picked acoustic guitar at the start, I felt I could hear every string clearly. Even when it dipped into distortion-heavy electric guitar and powerful drums, there was no issue with balance, and I could still hear Julia’s vocals prominently above the fuzz.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UBgDh4DTgs3bTXSsM9mkW" name="Beyerdynamic DT 270 Pros" alt="Beyerdynamic DT 270 Pros photographed in a blue background" src="https://cdn.mos.cms.futurecdn.net/UBgDh4DTgs3bTXSsM9mkW.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>So, in short, these headphones can do it all. They can cope with the delicate whistles of wind instruments stacked up with heavy drums, all the while separating vocals to give the best detailed listening experience. </p><iframe allow="" height="390" width="378" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://widget.qobuz.com/playlist/52905205?zone=GB-en"></iframe><p>I also tested the Beyerdynamic DT 270 Pros with my music gear. I plugged the headphones into my amplifier using the jack adapter and connected them to the amp up to my guitar. I ended up trying the headphones out with four of my guitars and was totally impressed by their ability to replicate the timbre of each instrument. Each note I played was clear and sonorous, and I could hear every dynamic movement. They’re a great choice for anyone who wants to get detailed feedback when practicing with an instrument.</p><h3 class="article-body__section" id="section-beyerdynamic-dt-270-pro-review-verdict"><span>Beyerdynamic DT 270 Pro review: Verdict</span></h3><p>The Beyerdynamic DT 270 Pro headphones are virtually perfect. They do exactly what they are designed for and do it well. Since they are compact and lightweight, they’re the perfect addition for any musicians or audiophiles who need a solution for detailed listening on the go. </p><p>They offer detailed sound and allow me to hear every layer of the songs I listen to. This is perfect for my eclectic taste, as they work well with pretty much any genre because of the incredible instrument separation. The cherry on top is how comfortable they are to wear all day long, so they're great for intense production sessions. These headphones are a must-have for anyone who wants detailed listening on the go.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Got the Sony WH-1000XM6? Change these 5 settings right now for better sound ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/audio/headphones/ive-been-testing-the-sony-wh-1000xm6-for-months-now-heres-why-xm5-users-dont-need-to-upgrade">Sony WH-1000XM6</a> are some top-quality headphones, featuring excellent ANC and good sound quality. But did you know that all of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> can benefit from some settings tweaks in their applications?</p><p>All it takes is some time and some helpful tips, and you can push your great headphones up to barnstorming headphones. I've managed to dial my WH-1000XM6 in exactly as I like them, to the point that they <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-ditched-my-bose-quietcomfort-ultra-headphones-for-the-sony-wh-1000xm6-heres-my-verdict-after-a-week">replaced my Bose QuietComfort Ultra Headphones gen 2 as my ANC cans of choice</a>. Here's how I did it.</p><h2 id="1-activate-dsee">1. Activate DSEE</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="MoNdTfXh66cbTdFsGMk7rb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/MoNdTfXh66cbTdFsGMk7rb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>DSEE is very cool indeed, especially if you use an iPhone. It's a clever AI upscaler, like those that take DVD quality movies and brings them up to modern standards in your fancy TV, only it works for music.</p><p>It takes previously lower-quality MP3s from sources like Spotify and then enhances their sound quality. For iPhone users who don't have access to higher-quality codecs like LDAC and AptX, this is an audio game-changer.</p><p>To activate the setting, open the Sony Sound Connect app and navigate to the <strong>Headphone settings menu</strong>. From there, find the <strong>Sound Quality/Volume</strong><em><strong> </strong></em>menu, and select <strong>DSEE Extreme</strong>. Set it to <strong>Auto</strong>, and you're away!</p><p>Bare in mind that it uses more battery, so be prepared to offer up the staying power of your headphones on the alter of sound quality. It's a sacrifice worth making.</p><h2 id="2-change-the-eq">2. Change the EQ</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GtiecLR9sgtikA7pFybayC" name="Sony WH-1000XM6--15" alt="Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table" src="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Out of the box, the WH-1000XM6 sound very good. They're very focussed on the vocals, and still suffer from "flagship headphone-itis" — they're obsessed with low-end to an almost pathalogical degree. It's no great problem, but I find that dialling things in to compensate can make a really big difference to their sound.</p><p>You'll want to find the EQ menu first. It's located on the <strong>Homepage </strong>of the Sony Sound Connect app. Hit the big button, and now you've got a couple of options. There's a good few EQ presets you can use to dial the sound, so that you don't have to get your hands dirty. I like <strong>Clear</strong> as a good baseline — it raises the highs for a more up top. Cymbals, etc.</p><p>For those who want even more granular control, hit the <strong>edit </strong>button. This will give you a full 10 levels of adjustment. I like to bring the sub and mid-bass down a little to take out some of the rumble.</p><h2 id="3-setup-spatial-audio">3. Setup spatial audio</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgxoZ69RA6tjJeBrEekVzC" name="Sony WH-1000XM6--08" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/sgxoZ69RA6tjJeBrEekVzC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you're going to be sampling the spatial audio talents of Amazon Music Unlimited, then you're going to need to dial in the 360 reality audio and spatial audio settings of the WH-1000XM6. It's super simple to do, thankfully, and makes your Dolby Atmos experience a whole lot more engaging.</p><p>Head to the <strong>Settings </strong>menu in the Sound Connect app, and look for the <strong>Sound Quality/Volume </strong>tab. From here, you'll need to initialize the Spatial Sound Optimization. Follow the on-screen instructions, and you're away!</p><p>Then there's the <strong>360 Reality Audio Setup</strong>. This only works with a few different Sony applications, but it's worth doing to make sure you're all squared away for spatial audio systems.</p><h2 id="4-make-sure-you-re-using-ldac">4. Make sure you're using LDAC</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4LCDTaJFXZvUgrNsQGjsyC" name="Sony WH-1000XM6--07" alt="A man wearing black Sony WH-1000XM6 noise-cancelling headphones with sunglasses" src="https://cdn.mos.cms.futurecdn.net/4LCDTaJFXZvUgrNsQGjsyC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sad news for iPhone folks — this one is only going to work for Android users. LDAC is a higher quality codec, pumping much higher-findelity music over Bluetooth directly to your earholes. So that you can hear them. </p><p>Much like DSEE above, this also dents the battery life of your headphones and can make the Bluetooth connection spottier, but it's well worth it.</p><p>Find the setting in the Sound Connect app. It's hidden away in the <strong>Settings </strong>menu, and then the <strong>Sound Quality/Volume </strong>section. Find the <strong>LDAC </strong>setting, and toggle it to <strong>Auto</strong>. Some Android phones don't support the higher quality audio standard, so make sure your device does by checking its specs.<strong> </strong></p><h2 id="5-turn-off-anc">5. Turn off ANC</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wpewt9kEWv9wZKy43fkq2D" name="Sony WH-1000XM6--13" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/wpewt9kEWv9wZKy43fkq2D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>OK, so this one is going to take some explaining. Part of ANC uses the frequencies of the music that you're listening to to counteract the noise of the outside world. It's designed to be as unobtrusive as possible, but the algorithm is so strong to make the ANC better that some sonic differences are noticeable. </p><p>I've found that it makes your music slightly bassier to compensate for sounds outside. In order to make sure that the audio has as much of a chance of sounding great as possible, I turn the ANC off when I don't need it. Now the sound has more of a chance to breathe.</p><p>It's super simple and makes a surprising difference. Bonus — extra battery life! You can turn the ANC off by heading to the Sound Connect app, selecting the <strong>Ambient Sound Control </strong>tab, and picking the <strong>Off </strong>setting.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/5-bose-headphone-and-earbuds-settings-you-need-to-change-right-now-for-better-sound-and-more-features">5 Bose headphone and earbuds settings you need to change right now for better sound and more features</a></li><li><a href="https://www.tomsguide.com/audio/speakers/punch-way-above-their-weight-my-new-speakers-are-a-masterclass-in-how-to-shuck-off-a-budget-stereotype">'Punch way above their weight' — my new speakers are a masterclass in how to shuck off a 'budget' stereotype</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/dont-buy-those-airpods-pro-3-just-yet-sony-looks-set-to-unveil-new-wireless-earbuds-next-week">Don't buy those AirPods Pro 3 just yet — Sony is unveiling 'a new form of listening' next week</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/change-these-5-sony-wh-1000xm6-settings-right-now-for-better-more-nuanced-sound</link>
                                                                            <description>
                            <![CDATA[ The WH-1000XM6 are some excellent headphones, but they can be even better with some tweaks in the app. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JbJYSSAyzhWkGjQiwBD4yk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jD5PduJwKBjXbAciWQp72D-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 19 Jan 2026 11:24:05 +0000</pubDate>                                                                                                                                <updated>Mon, 19 Jan 2026 23:38:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jD5PduJwKBjXbAciWQp72D-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A woman wearing white Sony WH-1000XM6 noise-cancelling headphones]]></media:description>                                                            <media:text><![CDATA[A woman wearing white Sony WH-1000XM6 noise-cancelling headphones]]></media:text>
                                <media:title type="plain"><![CDATA[A woman wearing white Sony WH-1000XM6 noise-cancelling headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jD5PduJwKBjXbAciWQp72D-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/audio/headphones/ive-been-testing-the-sony-wh-1000xm6-for-months-now-heres-why-xm5-users-dont-need-to-upgrade">Sony WH-1000XM6</a> are some top-quality headphones, featuring excellent ANC and good sound quality. But did you know that all of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> can benefit from some settings tweaks in their applications?</p><p>All it takes is some time and some helpful tips, and you can push your great headphones up to barnstorming headphones. I've managed to dial my WH-1000XM6 in exactly as I like them, to the point that they <a href="https://www.tomsguide.com/audio/over-ear-headphones/i-ditched-my-bose-quietcomfort-ultra-headphones-for-the-sony-wh-1000xm6-heres-my-verdict-after-a-week">replaced my Bose QuietComfort Ultra Headphones gen 2 as my ANC cans of choice</a>. Here's how I did it.</p><h2 id="1-activate-dsee">1. Activate DSEE</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="MoNdTfXh66cbTdFsGMk7rb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/MoNdTfXh66cbTdFsGMk7rb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>DSEE is very cool indeed, especially if you use an iPhone. It's a clever AI upscaler, like those that take DVD quality movies and brings them up to modern standards in your fancy TV, only it works for music.</p><p>It takes previously lower-quality MP3s from sources like Spotify and then enhances their sound quality. For iPhone users who don't have access to higher-quality codecs like LDAC and AptX, this is an audio game-changer.</p><p>To activate the setting, open the Sony Sound Connect app and navigate to the <strong>Headphone settings menu</strong>. From there, find the <strong>Sound Quality/Volume</strong><em><strong> </strong></em>menu, and select <strong>DSEE Extreme</strong>. Set it to <strong>Auto</strong>, and you're away!</p><p>Bare in mind that it uses more battery, so be prepared to offer up the staying power of your headphones on the alter of sound quality. It's a sacrifice worth making.</p><h2 id="2-change-the-eq">2. Change the EQ</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GtiecLR9sgtikA7pFybayC" name="Sony WH-1000XM6--15" alt="Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table" src="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Out of the box, the WH-1000XM6 sound very good. They're very focussed on the vocals, and still suffer from "flagship headphone-itis" — they're obsessed with low-end to an almost pathalogical degree. It's no great problem, but I find that dialling things in to compensate can make a really big difference to their sound.</p><p>You'll want to find the EQ menu first. It's located on the <strong>Homepage </strong>of the Sony Sound Connect app. Hit the big button, and now you've got a couple of options. There's a good few EQ presets you can use to dial the sound, so that you don't have to get your hands dirty. I like <strong>Clear</strong> as a good baseline — it raises the highs for a more up top. Cymbals, etc.</p><p>For those who want even more granular control, hit the <strong>edit </strong>button. This will give you a full 10 levels of adjustment. I like to bring the sub and mid-bass down a little to take out some of the rumble.</p><h2 id="3-setup-spatial-audio">3. Setup spatial audio</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgxoZ69RA6tjJeBrEekVzC" name="Sony WH-1000XM6--08" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/sgxoZ69RA6tjJeBrEekVzC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you're going to be sampling the spatial audio talents of Amazon Music Unlimited, then you're going to need to dial in the 360 reality audio and spatial audio settings of the WH-1000XM6. It's super simple to do, thankfully, and makes your Dolby Atmos experience a whole lot more engaging.</p><p>Head to the <strong>Settings </strong>menu in the Sound Connect app, and look for the <strong>Sound Quality/Volume </strong>tab. From here, you'll need to initialize the Spatial Sound Optimization. Follow the on-screen instructions, and you're away!</p><p>Then there's the <strong>360 Reality Audio Setup</strong>. This only works with a few different Sony applications, but it's worth doing to make sure you're all squared away for spatial audio systems.</p><h2 id="4-make-sure-you-re-using-ldac">4. Make sure you're using LDAC</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4LCDTaJFXZvUgrNsQGjsyC" name="Sony WH-1000XM6--07" alt="A man wearing black Sony WH-1000XM6 noise-cancelling headphones with sunglasses" src="https://cdn.mos.cms.futurecdn.net/4LCDTaJFXZvUgrNsQGjsyC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sad news for iPhone folks — this one is only going to work for Android users. LDAC is a higher quality codec, pumping much higher-findelity music over Bluetooth directly to your earholes. So that you can hear them. </p><p>Much like DSEE above, this also dents the battery life of your headphones and can make the Bluetooth connection spottier, but it's well worth it.</p><p>Find the setting in the Sound Connect app. It's hidden away in the <strong>Settings </strong>menu, and then the <strong>Sound Quality/Volume </strong>section. Find the <strong>LDAC </strong>setting, and toggle it to <strong>Auto</strong>. Some Android phones don't support the higher quality audio standard, so make sure your device does by checking its specs.<strong> </strong></p><h2 id="5-turn-off-anc">5. Turn off ANC</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wpewt9kEWv9wZKy43fkq2D" name="Sony WH-1000XM6--13" alt="A woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/wpewt9kEWv9wZKy43fkq2D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>OK, so this one is going to take some explaining. Part of ANC uses the frequencies of the music that you're listening to to counteract the noise of the outside world. It's designed to be as unobtrusive as possible, but the algorithm is so strong to make the ANC better that some sonic differences are noticeable. </p><p>I've found that it makes your music slightly bassier to compensate for sounds outside. In order to make sure that the audio has as much of a chance of sounding great as possible, I turn the ANC off when I don't need it. Now the sound has more of a chance to breathe.</p><p>It's super simple and makes a surprising difference. Bonus — extra battery life! You can turn the ANC off by heading to the Sound Connect app, selecting the <strong>Ambient Sound Control </strong>tab, and picking the <strong>Off </strong>setting.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/5-bose-headphone-and-earbuds-settings-you-need-to-change-right-now-for-better-sound-and-more-features">5 Bose headphone and earbuds settings you need to change right now for better sound and more features</a></li><li><a href="https://www.tomsguide.com/audio/speakers/punch-way-above-their-weight-my-new-speakers-are-a-masterclass-in-how-to-shuck-off-a-budget-stereotype">'Punch way above their weight' — my new speakers are a masterclass in how to shuck off a 'budget' stereotype</a></li><li><a href="https://www.tomsguide.com/audio/earbuds/dont-buy-those-airpods-pro-3-just-yet-sony-looks-set-to-unveil-new-wireless-earbuds-next-week">Don't buy those AirPods Pro 3 just yet — Sony is unveiling 'a new form of listening' next week</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 5 Bose headphone and earbuds settings you need to change right now for better sound and more features ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Straight out of the box, Bose headphones are great. Their ANC ranks amongst the very <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a> available, blocking out more sound than just about anything else. But they can get even better thanks to some slight tweaks in their settings menu.</p><p>We can improve their sound quality with a quick dip into a sub-menu, extend their sound stage with an extra feature and even improve their useability. There's only one thing that you need (well, two, including the headphones): The Bose app. It's available <a href="https://play.google.com/store/apps/details/Bose_Music?id=com.bose.bosemusic&hl=en_IE" target="_blank">for Android</a> and <a href="https://apps.apple.com/us/app/bose/id1364986984" target="_blank">iOS</a>, so you have no excuse.</p><h2 id="1-improve-the-sound-quality">1. Improve the sound quality</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2053px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="tTh5TCMhMAc9UeyD8848nV" name="Bose QC Headphones-13.jpg" alt="Testing call quality on the Bose QuietComfort Headphones" src="https://cdn.mos.cms.futurecdn.net/tTh5TCMhMAc9UeyD8848nV.jpg" mos="" align="middle" fullscreen="" width="2053" height="1155" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Bose headphones sound good. They've got plenty of detail and a powerful low end. But they can sound even better. With a just a quick trip to the EQ section in the Bose app, we can dial in the Quietcomfort lines sound to something even more sonically pleasing.</p><p>They all suffer from the same problem — over reliance on the low end. Well, lets take some of that crutch away from them by dialling down the bass slider a couple of notches. I like to leave it around -2. We leave the mids alone, and then we turn our attention to the highs. I like to bring it up around +2, to bring some extra dimension to the sound.</p><p>You'd be surprised how much of a difference it makes. It's one of the first things I do to Bose headphones when they arrive on my desk, once I've had a try with the out-of-box sound.</p><h2 id="2-add-a-multipoint-device">2. Add a multipoint device</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NZSaQVTjyyQAUhvWeRw8u4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/NZSaQVTjyyQAUhvWeRw8u4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you've ever become irritated endlessly connecting and reconnecting your headphones to different devices, then the multiconnect built into certain Bose models is going to be a lifesaver. Pause your media on your phone, and then instantly connect to your laptop for a work call.</p><p>To initialize the system, head to the "multipoint" tab in the app. From there, initiate a connection and find the headphones in the Bluetooth menu of the second source device. Et voilà — done!</p><p>You can only connect to two or three things at once, mind you. This works with most Bose headphones and earbuds. Check the Bose app how many devices your headphones support.</p><h2 id="3-change-the-shortcut">3. Change the shortcut</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPkNbWYWPGMsPLVmRQbSu4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/vPkNbWYWPGMsPLVmRQbSu4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This feature is only compatible with the <a href="https://www.tomsguide.com/audio/ive-used-the-bose-quietcomfort-ultra-headphones-for-6-months-heres-what-i-like-and-dont-like">QuietComfort Ultra Headphones</a> line. Using the touch-sensitive panel on the right earcup, you can activate various features in your headphones. Press and hold to activate.</p><p>Find the Shortcut menu in the Bose app, and then choose one of four different options. You can hear the battery level, change the Immersive Audio mode, Access your voice assistant, or start a Spotify listening session.</p><p>Or, you can turn it off completely.</p><h2 id="4-create-some-modes">4. Create some modes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2UnitkoVDmAGyPdJs4yo3R" name="Bose QuietComfort Ultra Earbuds 2" alt="Bose QuietComfort Ultra Earbuds 2" src="https://cdn.mos.cms.futurecdn.net/2UnitkoVDmAGyPdJs4yo3R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This feature is unique to the QuietComfort Ultra line of headphones and earbuds. Changing both the ANC and the Immersive Audio settings of your headphones separately can be annoying, so Bose has allowed you to make different "modes" that change both simultaneously.</p><p>Perhaps you want max ANC when you're out and about, but the static Immersive Audio mode so that it doesn't sound strange when you're walking around. You can make a mode that instantly sets both to your desired settings. Perhaps you want slightly less ANC and head-tracked spatial audio. You can make a mode that does that too.</p><p>Head to the modes tab of the Bose app, and press the "+" button. From there, you can add and change modes.</p><h2 id="5-change-how-much-of-yourself-you-can-hear-on-a-call">5. Change how much of yourself you can hear on a call</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3768px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="W6yeJmxK6L9sCbtBeYh5df" name="IMG_7288.jpg" alt="Bose QuietComfort Ultra Headphones" src="https://cdn.mos.cms.futurecdn.net/W6yeJmxK6L9sCbtBeYh5df.jpg" mos="" align="middle" fullscreen="" width="3768" height="2119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>When you take a call with your Bose headphones, there's a certain amount of your voice that the headphones feed you so that it doesn't sound unnatural. To some people it's either too much or not enough, so you'll want to change the level.</p><p>Head to the Bose app, and select the little settings wheel in the top right hand corner of the screen. Scroll down until you see the "Self Voice" setting. From here, choose your preferred level, and back out of the menu.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQAjnW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQAjnW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/airpods/your-airpods-have-a-hidden-camera-feature-heres-how-to-use-it">I had no idea my AirPods could do this — and it's perfect for group photos</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/change-these-sonos-soundbar-settings-immediately-to-get-the-best-performance-out-of-your-tv-and-movie-watching">Change these Sonos soundbar settings immediately to get the best performance out of your TV and movie watching</a></li><li><a href="https://www.tomsguide.com/audio/headphones/hundreds-of-millions-of-earbuds-headphones-and-speakers-vulnerable-to-tracking-and-eavesdropping-what-to-do-right-now">'Hundreds of millions' of Bluetooth earbuds, headphones, and speakers vulnerable to tracking and eavesdropping — what to do right now</a></li></ul><div data-widget-type="review" data-model-name="Bose QuietComfort Ultra Earbuds"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/5-bose-headphone-and-earbuds-settings-you-need-to-change-right-now-for-better-sound-and-more-features</link>
                                                                            <description>
                            <![CDATA[ Unlock the full potential of your Bose headphones to make them sound (and work) better. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fh5VJgBuPjJSjPCnGcwQzL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MrMZCAm5VaGopn5CKLU9v4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 16 Jan 2026 11:22:44 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MrMZCAm5VaGopn5CKLU9v4-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bose QuietComfort Ultra Gen 2]]></media:description>                                                            <media:text><![CDATA[Bose QuietComfort Ultra Gen 2]]></media:text>
                                <media:title type="plain"><![CDATA[Bose QuietComfort Ultra Gen 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MrMZCAm5VaGopn5CKLU9v4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Straight out of the box, Bose headphones are great. Their ANC ranks amongst the very <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a> available, blocking out more sound than just about anything else. But they can get even better thanks to some slight tweaks in their settings menu.</p><p>We can improve their sound quality with a quick dip into a sub-menu, extend their sound stage with an extra feature and even improve their useability. There's only one thing that you need (well, two, including the headphones): The Bose app. It's available <a href="https://play.google.com/store/apps/details/Bose_Music?id=com.bose.bosemusic&hl=en_IE" target="_blank">for Android</a> and <a href="https://apps.apple.com/us/app/bose/id1364986984" target="_blank">iOS</a>, so you have no excuse.</p><h2 id="1-improve-the-sound-quality">1. Improve the sound quality</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2053px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="tTh5TCMhMAc9UeyD8848nV" name="Bose QC Headphones-13.jpg" alt="Testing call quality on the Bose QuietComfort Headphones" src="https://cdn.mos.cms.futurecdn.net/tTh5TCMhMAc9UeyD8848nV.jpg" mos="" align="middle" fullscreen="" width="2053" height="1155" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Bose headphones sound good. They've got plenty of detail and a powerful low end. But they can sound even better. With a just a quick trip to the EQ section in the Bose app, we can dial in the Quietcomfort lines sound to something even more sonically pleasing.</p><p>They all suffer from the same problem — over reliance on the low end. Well, lets take some of that crutch away from them by dialling down the bass slider a couple of notches. I like to leave it around -2. We leave the mids alone, and then we turn our attention to the highs. I like to bring it up around +2, to bring some extra dimension to the sound.</p><p>You'd be surprised how much of a difference it makes. It's one of the first things I do to Bose headphones when they arrive on my desk, once I've had a try with the out-of-box sound.</p><h2 id="2-add-a-multipoint-device">2. Add a multipoint device</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NZSaQVTjyyQAUhvWeRw8u4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/NZSaQVTjyyQAUhvWeRw8u4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you've ever become irritated endlessly connecting and reconnecting your headphones to different devices, then the multiconnect built into certain Bose models is going to be a lifesaver. Pause your media on your phone, and then instantly connect to your laptop for a work call.</p><p>To initialize the system, head to the "multipoint" tab in the app. From there, initiate a connection and find the headphones in the Bluetooth menu of the second source device. Et voilà — done!</p><p>You can only connect to two or three things at once, mind you. This works with most Bose headphones and earbuds. Check the Bose app how many devices your headphones support.</p><h2 id="3-change-the-shortcut">3. Change the shortcut</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vPkNbWYWPGMsPLVmRQbSu4" name="Bose QuietComfort Ultra Gen 2" alt="Bose QuietComfort Ultra Gen 2" src="https://cdn.mos.cms.futurecdn.net/vPkNbWYWPGMsPLVmRQbSu4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This feature is only compatible with the <a href="https://www.tomsguide.com/audio/ive-used-the-bose-quietcomfort-ultra-headphones-for-6-months-heres-what-i-like-and-dont-like">QuietComfort Ultra Headphones</a> line. Using the touch-sensitive panel on the right earcup, you can activate various features in your headphones. Press and hold to activate.</p><p>Find the Shortcut menu in the Bose app, and then choose one of four different options. You can hear the battery level, change the Immersive Audio mode, Access your voice assistant, or start a Spotify listening session.</p><p>Or, you can turn it off completely.</p><h2 id="4-create-some-modes">4. Create some modes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2UnitkoVDmAGyPdJs4yo3R" name="Bose QuietComfort Ultra Earbuds 2" alt="Bose QuietComfort Ultra Earbuds 2" src="https://cdn.mos.cms.futurecdn.net/2UnitkoVDmAGyPdJs4yo3R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This feature is unique to the QuietComfort Ultra line of headphones and earbuds. Changing both the ANC and the Immersive Audio settings of your headphones separately can be annoying, so Bose has allowed you to make different "modes" that change both simultaneously.</p><p>Perhaps you want max ANC when you're out and about, but the static Immersive Audio mode so that it doesn't sound strange when you're walking around. You can make a mode that instantly sets both to your desired settings. Perhaps you want slightly less ANC and head-tracked spatial audio. You can make a mode that does that too.</p><p>Head to the modes tab of the Bose app, and press the "+" button. From there, you can add and change modes.</p><h2 id="5-change-how-much-of-yourself-you-can-hear-on-a-call">5. Change how much of yourself you can hear on a call</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3768px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="W6yeJmxK6L9sCbtBeYh5df" name="IMG_7288.jpg" alt="Bose QuietComfort Ultra Headphones" src="https://cdn.mos.cms.futurecdn.net/W6yeJmxK6L9sCbtBeYh5df.jpg" mos="" align="middle" fullscreen="" width="3768" height="2119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>When you take a call with your Bose headphones, there's a certain amount of your voice that the headphones feed you so that it doesn't sound unnatural. To some people it's either too much or not enough, so you'll want to change the level.</p><p>Head to the Bose app, and select the little settings wheel in the top right hand corner of the screen. Scroll down until you see the "Self Voice" setting. From here, choose your preferred level, and back out of the menu.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQAjnW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQAjnW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/airpods/your-airpods-have-a-hidden-camera-feature-heres-how-to-use-it">I had no idea my AirPods could do this — and it's perfect for group photos</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/change-these-sonos-soundbar-settings-immediately-to-get-the-best-performance-out-of-your-tv-and-movie-watching">Change these Sonos soundbar settings immediately to get the best performance out of your TV and movie watching</a></li><li><a href="https://www.tomsguide.com/audio/headphones/hundreds-of-millions-of-earbuds-headphones-and-speakers-vulnerable-to-tracking-and-eavesdropping-what-to-do-right-now">'Hundreds of millions' of Bluetooth earbuds, headphones, and speakers vulnerable to tracking and eavesdropping — what to do right now</a></li></ul><div data-widget-type="review" data-model-name="Bose QuietComfort Ultra Earbuds"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Nothing Headphone (1) plummet back down to their lowest price ever thanks to a $60 discount ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Nothing Headphone (1) are <em>weird. </em>They look weird, they sound weird, and they're filled with weird features. I say that with affection — I actually really like the Nothing Headphone (1) now, thanks to some big improvements that Nothing has made since their initial release. </p><p>Now, you can get your hands on a pair of Headphone (1)s for a whole lot less. The <a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow">Headphone (1) are just $239 at Amazon</a>, after a $60 discount. That returns them to their lowest price. The perfect way to start the year off.</p><div class="product"><a data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5pxN6TrYSpvcerm5uQTcLP" name="Nothing Headphone (1).jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5pxN6TrYSpvcerm5uQTcLP.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239">Headphone (1): was $299 now $239</a></strong><br>They're a bit weird, but they're still a solid option if you're looking for some headphones in 2026. They're reasonably comfortable, feature a good 80 hours of battery life, and thanks to some software updates, their sound is good too. They might look divisive, but get them on your head and you're sure to enjoy your time with them.<a class="view-deal button" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239">View Deal</a></p></div><p>Nothing doesn't make 'normal' things. It wants to undercut rivals' prices with fully featured, well-made and specced devices that have their own unique look. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Headphone (1)</a> are filled with that personality in spades, down to their see-through cassette-like shells and flat, felty protective case.</p><p>Once they're on your head, the uniqueness continues. The control method, a series of buttons, switches, and scroll wheels, is unlike anything else on a pair of headphones. It's very intuitive, too, and you'll be skipping, playing and pausing without a moment's thought soon enough.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="TnJPciKSChwLDTxKFaMKBg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/TnJPciKSChwLDTxKFaMKBg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While the sound at launch wasn't my absolute favorite thing about the headphones, it's since been improved by some useful software updates. <a href="https://www.tomsguide.com/audio/earbuds/i-tried-out-this-audio-personalization-engine-and-now-i-dont-think-i-can-live-without-it">Audiodo audio tuning</a> is now on board, changing the sound to the frequencies that you can hear so that they sound good for everyone. The EQ sharing feature means there are plenty of options, should you want to see how everyone else is tuning their headphones as well.</p><p>Battery life is very solid, with 80 hours of ANC off time. Weirdly, that drops to 35 hours when you turn the ANC back on. Still good, but not <em>as </em>good. ANC does a great job of keeping unwanted distractions at bay, and there's even spatial audio should you want to dip your toes into the surround sound pool. I'm not a huge fan, but your mileage may vary.</p><p>Crucially, they're now much cheaper than the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> they're aiming to undercut. This price makes them half the price of the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra headphone Gen 2</a>, and even cheaper than the <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm5">WH-1000XM5</a>. There's a lot to like here — particularly that reduced price. So snap them up quickly because it looks like there are only limited quantities!</p><div data-widget-type="review" data-model-name="Nothing Headphone (1)"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-plummet-back-down-to-their-lowest-price-ever-thanks-to-a-usd60-discount</link>
                                                                            <description>
                            <![CDATA[ The Nothing Headphone (1) just dropped to their lowest price thanks to a $60 discount at Amazon. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">W3wgo2rq4NfzeJioL57h76</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/j6ig3xgW9nUYNAeM4DPK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 13 Jan 2026 10:32:30 +0000</pubDate>                                                                                                                                <updated>Tue, 13 Jan 2026 10:32:49 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/j6ig3xgW9nUYNAeM4DPK-1280-80.jpg">
                                                            <media:credit><![CDATA[Nothing]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Nothing headphone (1)]]></media:description>                                                            <media:text><![CDATA[Nothing headphone (1)]]></media:text>
                                <media:title type="plain"><![CDATA[Nothing headphone (1)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/j6ig3xgW9nUYNAeM4DPK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Nothing Headphone (1) are <em>weird. </em>They look weird, they sound weird, and they're filled with weird features. I say that with affection — I actually really like the Nothing Headphone (1) now, thanks to some big improvements that Nothing has made since their initial release. </p><p>Now, you can get your hands on a pair of Headphone (1)s for a whole lot less. The <a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow">Headphone (1) are just $239 at Amazon</a>, after a $60 discount. That returns them to their lowest price. The perfect way to start the year off.</p><div class="product"><a data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5pxN6TrYSpvcerm5uQTcLP" name="Nothing Headphone (1).jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5pxN6TrYSpvcerm5uQTcLP.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239">Headphone (1): was $299 now $239</a></strong><br>They're a bit weird, but they're still a solid option if you're looking for some headphones in 2026. They're reasonably comfortable, feature a good 80 hours of battery life, and thanks to some software updates, their sound is good too. They might look divisive, but get them on your head and you're sure to enjoy your time with them.<a class="view-deal button" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="652b76ad-7e8b-4800-a26e-cb62b61a0f73" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$239">View Deal</a></p></div><p>Nothing doesn't make 'normal' things. It wants to undercut rivals' prices with fully featured, well-made and specced devices that have their own unique look. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Headphone (1)</a> are filled with that personality in spades, down to their see-through cassette-like shells and flat, felty protective case.</p><p>Once they're on your head, the uniqueness continues. The control method, a series of buttons, switches, and scroll wheels, is unlike anything else on a pair of headphones. It's very intuitive, too, and you'll be skipping, playing and pausing without a moment's thought soon enough.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="TnJPciKSChwLDTxKFaMKBg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/TnJPciKSChwLDTxKFaMKBg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While the sound at launch wasn't my absolute favorite thing about the headphones, it's since been improved by some useful software updates. <a href="https://www.tomsguide.com/audio/earbuds/i-tried-out-this-audio-personalization-engine-and-now-i-dont-think-i-can-live-without-it">Audiodo audio tuning</a> is now on board, changing the sound to the frequencies that you can hear so that they sound good for everyone. The EQ sharing feature means there are plenty of options, should you want to see how everyone else is tuning their headphones as well.</p><p>Battery life is very solid, with 80 hours of ANC off time. Weirdly, that drops to 35 hours when you turn the ANC back on. Still good, but not <em>as </em>good. ANC does a great job of keeping unwanted distractions at bay, and there's even spatial audio should you want to dip your toes into the surround sound pool. I'm not a huge fan, but your mileage may vary.</p><p>Crucially, they're now much cheaper than the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> they're aiming to undercut. This price makes them half the price of the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra headphone Gen 2</a>, and even cheaper than the <a href="https://www.tomsguide.com/reviews/sony-wh-1000xm5">WH-1000XM5</a>. There's a lot to like here — particularly that reduced price. So snap them up quickly because it looks like there are only limited quantities!</p><div data-widget-type="review" data-model-name="Nothing Headphone (1)"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Wired headphones and reconnecting with your music — the case for the headphone jack in 2026 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I get why the <a href="https://www.tomsguide.com/us/best-wireless-headphones,review-5565.html">best wireless headphones</a> are so popular. They're convenient, there's no wires to tangle, and you don't have to worry about source quality or wired dongles. You turn them on, connect them to your phone, and you play your music. </p><p>Now, as everything around us becomes ever-more convenient, the allure of wired headphones and their juxtaposing simplicity in use and complexity in choice and sound becomes ever more tempting.</p><p>We have now been many, many years without a headphone jack in the iPhone line. Many of us think back to wired headphones and remember tangled cables and wrapping wires around phones for continued life. </p><p>But times are different, technology has moved on, and wired headphones are better than ever. And, perhaps controversially, a better choice in 2026 when buying some new headphones.</p><h2 id="no-battery-life-to-worry-about">No battery life to worry about</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3145px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5YCeqn3mF2XgVW9fW9VniS" name="Headphones-op-ed-1" alt="Meze 105 AER headphones" src="https://cdn.mos.cms.futurecdn.net/5YCeqn3mF2XgVW9fW9VniS.jpg" mos="" align="middle" fullscreen="" width="3145" height="1769" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>I can't think of many things more annoying (except, perhaps, a rash) than picking up your headphones ready for a day of music only to discover that you forgot to charge them. Instant devastation, day ruined, where on earth did I leave my charging cable?</p><p>That's not the case with wired headphones. After all, they're powered by the device you're listening to as opposed to a built-in battery, so you don't need to worry about charging them. Pick them up, put them in your bag, and connect the cable when you want to use them. Simple. Reason one to choose some wired headphones.</p><h2 id="better-sound">Better sound</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TXw7gMPsNQjjnAegH9V6PH" name="FIIO_FT13_ 8.JPG" alt="the fiio ft13 wired headphones with wood cups and copper cable photographed against a blue background" src="https://cdn.mos.cms.futurecdn.net/TXw7gMPsNQjjnAegH9V6PH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Generally, to achieve the best sound possible with a pair of wireless headphones, you'll need to spend hundreds of dollars. While some cheaper options sound <em>fine, </em>they pale in comparison to something with a wire that costs the same.</p><p>Cheaper options, like the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">Fiio FT13</a> (pictured above), cost less than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-3-months-later-heres-my-honest-verdict-on-how-sonys-flagship-cans-hold-up">Sony WH-1000XM6</a>, and sound much better. They don't have to worry about doing double or even triple duty with ANC and other features — all they have to do is play your music. And they do it very well indeed.</p><p>Generally, the price-to-sound performance ratio is drastically weighted towards wired headphones. Perfect if you want the best sound possible.</p><h2 id="often-better-comfort">Often better comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="V8NzNRY6ip5nc88v4VGQBM" name="Fosi Audio i5" alt="Fosi Audio i5" src="https://cdn.mos.cms.futurecdn.net/V8NzNRY6ip5nc88v4VGQBM.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Ok, so this isn't true for <em>every </em>pair of wired headphones (some of them are very uncomfortable indeed), but it's often much easier to find comfortable wired headphones than it is wireless ones.</p><p>It comes by virtue of them not having as many <em>things </em>in them. Instead, they're often very light and covered with snazzy leather (or leather-alike) padding. There are wired models that I've worn for hours and hours and completely forgotten about — even when not listening to music. </p><p>Generally, look for something with a leather suspension band and shaped earcups. Even better, try them out before you buy. Then you'll know just how comfortable they might be.</p><h2 id="they-work-with-just-about-anything">They work with just about anything</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aMVcV6ZhH2KsoWAvkAi8Nf" name="Meze Alba-09" alt="Meze Alba" src="https://cdn.mos.cms.futurecdn.net/aMVcV6ZhH2KsoWAvkAi8Nf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While most modern devices support Bluetooth, not all legacy ones do. Even then, some devices that you use now don't want you to use Bluetooth headphones — <a href="https://www.tomsguide.com/reviews/xbox-series-x">Xbox Series X</a>, I'm looking at you. What they all <em>will </em>work with, however, is wired headphones.</p><p>Phones? Grab a cheapo dongle and get listening. Your game consoles? There are 3.5mm jacks on the controller, or the system itself (a la <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a>). If your laptop doesn't have a headphone jack, then I'll eat my slippers.</p><p>So grab that old iPod out of the drawer, and get listening.</p><h2 id="there-are-some-sacrifices">There are some sacrifices</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3768px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="W6yeJmxK6L9sCbtBeYh5df" name="IMG_7288.jpg" alt="Bose QuietComfort Ultra Headphones" src="https://cdn.mos.cms.futurecdn.net/W6yeJmxK6L9sCbtBeYh5df.jpg" mos="" align="middle" fullscreen="" width="3768" height="2119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are a few things you're going to have to give up if you opt for some wired headphones. First and foremost is ANC, the technology that separates you from the world around you.</p><p>That could be a deal-breaker if you're frequently found on airplanes and other noisy transport. For everyone else, there's something freeing about listening and still being able to hear what's going on around you.</p><p>You're also going to lose all those fancy features built into applications, so that means no spatial audio and no EQ adjustment. So there are sacrifices.</p><p>Ultimately, though, I think it's worth it. Or, perhaps, you could just buy both.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/5-samsung-tv-settings-to-change-for-the-best-possible-picture">5 Samsung TV settings to change for the best possible picture</a></li><li><a href="https://www.tomsguide.com/audio/headphones/iclever-auraa-headphones-hands-on">I tried these TikTok-recommended headphones that protect your child's hearing — and so did my kid — here's our verdict</a></li><li><a href="https://www.tomsguide.com/sales-events/amazons-epic-winter-sale-is-still-going-strong-heres-35-deals-im-shopping-this-weekend">Amazon's epic Winter Sale is still going strong — here's 35 deals I'm shopping this weekend</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/wired-headphones-and-reconnecting-with-your-music-the-case-for-the-headphone-jack-in-2026</link>
                                                                            <description>
                            <![CDATA[ No battery woes for sound quality pros — all the reasons you need a pair of wired headphones in 2026. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6TLC9G2ALNPMo7syFmwDw8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XJGs2HWRKULfoRWPaGYtBM-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Jan 2026 11:36:04 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XJGs2HWRKULfoRWPaGYtBM-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sendy Audio Aiva 2]]></media:description>                                                            <media:text><![CDATA[Sendy Audio Aiva 2]]></media:text>
                                <media:title type="plain"><![CDATA[Sendy Audio Aiva 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XJGs2HWRKULfoRWPaGYtBM-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I get why the <a href="https://www.tomsguide.com/us/best-wireless-headphones,review-5565.html">best wireless headphones</a> are so popular. They're convenient, there's no wires to tangle, and you don't have to worry about source quality or wired dongles. You turn them on, connect them to your phone, and you play your music. </p><p>Now, as everything around us becomes ever-more convenient, the allure of wired headphones and their juxtaposing simplicity in use and complexity in choice and sound becomes ever more tempting.</p><p>We have now been many, many years without a headphone jack in the iPhone line. Many of us think back to wired headphones and remember tangled cables and wrapping wires around phones for continued life. </p><p>But times are different, technology has moved on, and wired headphones are better than ever. And, perhaps controversially, a better choice in 2026 when buying some new headphones.</p><h2 id="no-battery-life-to-worry-about">No battery life to worry about</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3145px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5YCeqn3mF2XgVW9fW9VniS" name="Headphones-op-ed-1" alt="Meze 105 AER headphones" src="https://cdn.mos.cms.futurecdn.net/5YCeqn3mF2XgVW9fW9VniS.jpg" mos="" align="middle" fullscreen="" width="3145" height="1769" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>I can't think of many things more annoying (except, perhaps, a rash) than picking up your headphones ready for a day of music only to discover that you forgot to charge them. Instant devastation, day ruined, where on earth did I leave my charging cable?</p><p>That's not the case with wired headphones. After all, they're powered by the device you're listening to as opposed to a built-in battery, so you don't need to worry about charging them. Pick them up, put them in your bag, and connect the cable when you want to use them. Simple. Reason one to choose some wired headphones.</p><h2 id="better-sound">Better sound</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TXw7gMPsNQjjnAegH9V6PH" name="FIIO_FT13_ 8.JPG" alt="the fiio ft13 wired headphones with wood cups and copper cable photographed against a blue background" src="https://cdn.mos.cms.futurecdn.net/TXw7gMPsNQjjnAegH9V6PH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Generally, to achieve the best sound possible with a pair of wireless headphones, you'll need to spend hundreds of dollars. While some cheaper options sound <em>fine, </em>they pale in comparison to something with a wire that costs the same.</p><p>Cheaper options, like the <a href="https://www.tomsguide.com/audio/over-ear-headphones/fiio-ft13-review">Fiio FT13</a> (pictured above), cost less than the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-3-months-later-heres-my-honest-verdict-on-how-sonys-flagship-cans-hold-up">Sony WH-1000XM6</a>, and sound much better. They don't have to worry about doing double or even triple duty with ANC and other features — all they have to do is play your music. And they do it very well indeed.</p><p>Generally, the price-to-sound performance ratio is drastically weighted towards wired headphones. Perfect if you want the best sound possible.</p><h2 id="often-better-comfort">Often better comfort</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="V8NzNRY6ip5nc88v4VGQBM" name="Fosi Audio i5" alt="Fosi Audio i5" src="https://cdn.mos.cms.futurecdn.net/V8NzNRY6ip5nc88v4VGQBM.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Ok, so this isn't true for <em>every </em>pair of wired headphones (some of them are very uncomfortable indeed), but it's often much easier to find comfortable wired headphones than it is wireless ones.</p><p>It comes by virtue of them not having as many <em>things </em>in them. Instead, they're often very light and covered with snazzy leather (or leather-alike) padding. There are wired models that I've worn for hours and hours and completely forgotten about — even when not listening to music. </p><p>Generally, look for something with a leather suspension band and shaped earcups. Even better, try them out before you buy. Then you'll know just how comfortable they might be.</p><h2 id="they-work-with-just-about-anything">They work with just about anything</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aMVcV6ZhH2KsoWAvkAi8Nf" name="Meze Alba-09" alt="Meze Alba" src="https://cdn.mos.cms.futurecdn.net/aMVcV6ZhH2KsoWAvkAi8Nf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While most modern devices support Bluetooth, not all legacy ones do. Even then, some devices that you use now don't want you to use Bluetooth headphones — <a href="https://www.tomsguide.com/reviews/xbox-series-x">Xbox Series X</a>, I'm looking at you. What they all <em>will </em>work with, however, is wired headphones.</p><p>Phones? Grab a cheapo dongle and get listening. Your game consoles? There are 3.5mm jacks on the controller, or the system itself (a la <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a>). If your laptop doesn't have a headphone jack, then I'll eat my slippers.</p><p>So grab that old iPod out of the drawer, and get listening.</p><h2 id="there-are-some-sacrifices">There are some sacrifices</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3768px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="W6yeJmxK6L9sCbtBeYh5df" name="IMG_7288.jpg" alt="Bose QuietComfort Ultra Headphones" src="https://cdn.mos.cms.futurecdn.net/W6yeJmxK6L9sCbtBeYh5df.jpg" mos="" align="middle" fullscreen="" width="3768" height="2119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There are a few things you're going to have to give up if you opt for some wired headphones. First and foremost is ANC, the technology that separates you from the world around you.</p><p>That could be a deal-breaker if you're frequently found on airplanes and other noisy transport. For everyone else, there's something freeing about listening and still being able to hear what's going on around you.</p><p>You're also going to lose all those fancy features built into applications, so that means no spatial audio and no EQ adjustment. So there are sacrifices.</p><p>Ultimately, though, I think it's worth it. Or, perhaps, you could just buy both.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/5-samsung-tv-settings-to-change-for-the-best-possible-picture">5 Samsung TV settings to change for the best possible picture</a></li><li><a href="https://www.tomsguide.com/audio/headphones/iclever-auraa-headphones-hands-on">I tried these TikTok-recommended headphones that protect your child's hearing — and so did my kid — here's our verdict</a></li><li><a href="https://www.tomsguide.com/sales-events/amazons-epic-winter-sale-is-still-going-strong-heres-35-deals-im-shopping-this-weekend">Amazon's epic Winter Sale is still going strong — here's 35 deals I'm shopping this weekend</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried these TikTok-recommended headphones that protect your child's hearing — and so did my kid — here's our verdict ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve finally reached the level of parenthood where my kids watch, listen to or play their own media. And honestly? I don’t always want to hear it — but I also don’t want to share my headphones with them. </p><p>I’ve started exploring kid-friendly headphones with a couple of goals in mind. They need to be durable, they have to have hearing protection audio levels, and they need to be comfortable to wear. </p><p>TikTok moms and parenting blogs have recommended the iClever Auraa headphones because they’re colorful, feature active noise cancelling, and Bluetooth connectivity. Let’s check out these kid-forward headphones with my first impressions, plus some thoughts from an <em>actual</em> kid — not just a big one.</p><h2 id="cartoon-looks">Cartoon Looks</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bh9mnC8t7YWcj8ExT3iZHW" name="iClever-Auraa-09" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/Bh9mnC8t7YWcj8ExT3iZHW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Compared to the average black, white, or matte colorways of most adult headphones, the iClever Auraa is cartoonishly colorful, which is great.</p><p>The “boy” version comes in red and blue with pops of yellow and art that looks mechanical or more Gundam-inspired. The “girl” version is colored like a muted purple rainbow with art made up of stars and swirls. I think of these as the My Little Pony headphones.</p><p>Even with an adult head, the Auraa rests pretty comfortably on my head without needing full extension. The cups mostly covered my ears — kids are going to have no problem at all. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/hxwEgjNt4JqCmVwcQRKpMW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qhzmtByp2jTMoYiYTLUgBW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>There is one pain point that I could see getting very uncomfortable over an extended listening session, and that is the headband.</p><p>There is a thin, cushy bit of foam that sits on your head. Underneath is a ridge of plastic that you can feel through the foam. At first, it’s not annoying, but you can feel the band the longer you wear the Auraa.</p><p>I have a pair of older BeyerDynamic Custom One Pro over-ear headphones that I use as my daily drivers. I’ve replaced the headband a few times through wear and tear over the years, but I’ve never felt that something was on my head in the same way. </p><p>For kids, if you’re limiting their headphone and screen usage, this may not matter as much. However, my son likes to wear the headphones around the house even if he’s not listening to music or using a tablet. Longer sessions with the Auraa are eventually going to become uncomfortable, even for little heads</p><h2 id="durability-and-battery-life">Durability and battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="knji2Y9UezCVM3rFiGRUEW" name="iClever-Auraa-15" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/knji2Y9UezCVM3rFiGRUEW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For the most part, the Auraa headphones seem durable. They’re mostly made of plastic, apart from their foam headband and ear cushions.. I’ve noticed that the ear cushions are already showing signs of wrinkling, which has me concerned long-term.</p><p>Additionally, on the red and blue set, my son managed to pop off the little circular decal area, exposing the battery and wires. Note that the ‘Gundam’ Auraa’s have a blue detail that can be pulled off by roving fingers or catch stray clothing threads. The My Little Pony cans don’t have anything similar.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="qBATFf8rWbKGrw2V6TpgEW" name="iClever-Auraa-14" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/qBATFf8rWbKGrw2V6TpgEW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Lastly, the headphones can fold up for travel. I (carefully) tested the Pony headphones while letting my son go wild with the Gundam set. After a month or so, the hinges on the Gundam cans are a little loose, though nothing appears to be falling apart. Still, it’s something I’m keeping an eye on.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PwP8tRpCxkqiZ8qqsaFDGW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DntSZvcrZeQ2xL5tgERpDW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Battery life for the Auraa is listed at 47 hours, and without rigorous lab testing, it seemed to last about that long before needing a charge. The Bluetooth 6.0 connection worked well, and I never noticed any connectivity issues.</p><h2 id="sound-quality">Sound quality</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="DFqo73ELB39MYEnfGwGGLW" name="iClever-Auraa-16" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/DFqo73ELB39MYEnfGwGGLW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I wasn’t expecting great sound out of the Auraa headphones; what I was intrigued by was the 80dB noise level cap. That level is a constant loudness level recommended by OSHA and the World Health Organization over an eight-hour period. Anything louder or longer and you risk permanent hearing damage. </p><p>I didn’t go a full eight hours, but I did listen to various podcasts and a couple of albums at nearly full volume and never felt like I was pushing it. That said, kids’ ears are more sensitive than my nu-metal destroyed flesh tabs. Still, even at 75% or 50% it felt pretty comfortable.</p><p>Surprisingly, the Auraa had a decent soundscape. One song I use to test headphones is <a href="https://www.youtube.com/watch?v=tSJSVmfaMCs" target="_blank">Tiesto & Sevenn’s Boom</a>, which has a surprising depth of sound and, for my purposes, a gratuitous amount of bass. <a href="https://www.youtube.com/watch?v=7mjMTcM80RY">DJ Magic Mike</a>, this isn’t, but it’ll get you there. For treble, I like anything from Metallica’s Kill ‘Em All album, which brings the treble. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="cuXf92htcYRdbTR8gVbKJW" name="iClever-Auraa-07" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/cuXf92htcYRdbTR8gVbKJW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The bass has a lot of depth on the Auraa headphones. Treble was all over the map. Metallica’s ‘Motorbreath’ sounded like I’d put a blanket over the speakers, while the solo in ‘Phantom Lord’ was nearly perfect. </p><p>I’ve been told by kids' headphone manufacturers that active noise cancelling is an important selling point because having it on means kids won’t want to turn the headphone volume up more to drown out competing noise. </p><p>I tried listening to music and just wearing the Auraa cans with ANC on and off. I share an office with my partner, whose job requires her to be on a lot of Zoom calls. ANC keeps me distraction-free.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="n4QZUW7wnt8XMXPCFdkoGW" name="iClever-Auraa-08" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/n4QZUW7wnt8XMXPCFdkoGW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There was some strangeness during my ANC testing. When I had ANC on, my partner’s voice was much quieter. However, voices from her Zoom calls coming through the speakers sounded exactly the same as they would if I took the headphones off. I’m not sure if this is a frequency issue, where the speakers pump out sound in a dead spot for the ANC. In general, I think the ANC does the job, but it won’t match the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a>.</p><p>One great thing to note is that the Auraa features a 3.5mm jack, awesome for devices that still support that connection, which should be <em>all </em>of them, but that’s my hill to die on.</p><h2 id="what-the-kids-are-saying">What the kids are saying</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="N2yDosSaCrTwVBUvSrs9DW" name="iClever-Auraa-05" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/N2yDosSaCrTwVBUvSrs9DW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My son is six years old and chose the blue and red Auraa headphones when given the option. According to him, the headphones are comfortable, and he really liked the Gundam aesthetic. He wishes they could turn into a mechsuit. Me too, buddy, me too.</p><p>He really liked the ANC, especially when he wanted to focus on a game or a show on the tablet while his sister was making noise. Though he expressed worry that if he had it on, he would miss out on his parents telling him when he could have ice cream — a universal concern.</p><p>“You should tell parents to get these headphones for kids,” he said. “They would have a really good time using them. Goodbye.”</p><p>Here’s his true, rambling review (edited for clarity): “You should make the review a comic book that you sell in stores where the headphones turn into a mechsuit and then go 'BOOOOOM!!!!' with the sound. But at the end, the last couple of pages should say, ‘This is not what the headphones can do, but they’re great.’”</p><h2 id="verdict">Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bh9mnC8t7YWcj8ExT3iZHW" name="iClever-Auraa-09" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/Bh9mnC8t7YWcj8ExT3iZHW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Audio-wise, I’m not worried about the Auraa headphones. The sound is pretty good, the Bluetooth connection is decent, plus with the 80 dB cap, I’m not as worried about hearing damage. </p><p>I am concerned about durability, especially with the “boy” set. And the headband seems like it could get uncomfortable over long use. Once the foam starts to degrade, that will get worse.</p><p>With a starting price of $50 (and I’ve seen them sold for as low as $25), the iClever Auraa headphones are ones you can take a flyer on for your kid. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/ive-tested-thirty-different-pairs-of-headphones-this-year-here-are-my-3-favorite-cans-of-2025">I've tested 30 pairs of headphones this year — here are my 3 favorite cans of 2025</a></li><li><a href="https://www.tomsguide.com/audio/this-is-the-most-underrated-bluetooth-feature-everyone-should-be-using">This is the most underrated Bluetooth feature everyone should be using</a></li><li><a href="https://www.tomsguide.com/audio/21-best-audio-gifts-for-the-music-lover-in-your-life">21 best audio gifts for the music lover in your life</a></li></ul><div data-model-name="iClever Auraa" data-widget-type="review"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/iclever-auraa-headphones-hands-on</link>
                                                                            <description>
                            <![CDATA[ iClever’s Auraa headphones give your kids ANC listening in a colorful package that feels just right. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">roPwhisuQ4AV7iBautHXwX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/K65kBBKGC63vNuJ93oyzGW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Jan 2026 07:01:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/K65kBBKGC63vNuJ93oyzGW-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iClever Auraa kid headphones]]></media:description>                                                            <media:text><![CDATA[iClever Auraa kid headphones]]></media:text>
                                <media:title type="plain"><![CDATA[iClever Auraa kid headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/K65kBBKGC63vNuJ93oyzGW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve finally reached the level of parenthood where my kids watch, listen to or play their own media. And honestly? I don’t always want to hear it — but I also don’t want to share my headphones with them. </p><p>I’ve started exploring kid-friendly headphones with a couple of goals in mind. They need to be durable, they have to have hearing protection audio levels, and they need to be comfortable to wear. </p><p>TikTok moms and parenting blogs have recommended the iClever Auraa headphones because they’re colorful, feature active noise cancelling, and Bluetooth connectivity. Let’s check out these kid-forward headphones with my first impressions, plus some thoughts from an <em>actual</em> kid — not just a big one.</p><h2 id="cartoon-looks">Cartoon Looks</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bh9mnC8t7YWcj8ExT3iZHW" name="iClever-Auraa-09" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/Bh9mnC8t7YWcj8ExT3iZHW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Compared to the average black, white, or matte colorways of most adult headphones, the iClever Auraa is cartoonishly colorful, which is great.</p><p>The “boy” version comes in red and blue with pops of yellow and art that looks mechanical or more Gundam-inspired. The “girl” version is colored like a muted purple rainbow with art made up of stars and swirls. I think of these as the My Little Pony headphones.</p><p>Even with an adult head, the Auraa rests pretty comfortably on my head without needing full extension. The cups mostly covered my ears — kids are going to have no problem at all. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/hxwEgjNt4JqCmVwcQRKpMW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qhzmtByp2jTMoYiYTLUgBW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>There is one pain point that I could see getting very uncomfortable over an extended listening session, and that is the headband.</p><p>There is a thin, cushy bit of foam that sits on your head. Underneath is a ridge of plastic that you can feel through the foam. At first, it’s not annoying, but you can feel the band the longer you wear the Auraa.</p><p>I have a pair of older BeyerDynamic Custom One Pro over-ear headphones that I use as my daily drivers. I’ve replaced the headband a few times through wear and tear over the years, but I’ve never felt that something was on my head in the same way. </p><p>For kids, if you’re limiting their headphone and screen usage, this may not matter as much. However, my son likes to wear the headphones around the house even if he’s not listening to music or using a tablet. Longer sessions with the Auraa are eventually going to become uncomfortable, even for little heads</p><h2 id="durability-and-battery-life">Durability and battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="knji2Y9UezCVM3rFiGRUEW" name="iClever-Auraa-15" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/knji2Y9UezCVM3rFiGRUEW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>For the most part, the Auraa headphones seem durable. They’re mostly made of plastic, apart from their foam headband and ear cushions.. I’ve noticed that the ear cushions are already showing signs of wrinkling, which has me concerned long-term.</p><p>Additionally, on the red and blue set, my son managed to pop off the little circular decal area, exposing the battery and wires. Note that the ‘Gundam’ Auraa’s have a blue detail that can be pulled off by roving fingers or catch stray clothing threads. The My Little Pony cans don’t have anything similar.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="qBATFf8rWbKGrw2V6TpgEW" name="iClever-Auraa-14" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/qBATFf8rWbKGrw2V6TpgEW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Lastly, the headphones can fold up for travel. I (carefully) tested the Pony headphones while letting my son go wild with the Gundam set. After a month or so, the hinges on the Gundam cans are a little loose, though nothing appears to be falling apart. Still, it’s something I’m keeping an eye on.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PwP8tRpCxkqiZ8qqsaFDGW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DntSZvcrZeQ2xL5tgERpDW.jpg" alt="iClever Auraa kid headphones" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Battery life for the Auraa is listed at 47 hours, and without rigorous lab testing, it seemed to last about that long before needing a charge. The Bluetooth 6.0 connection worked well, and I never noticed any connectivity issues.</p><h2 id="sound-quality">Sound quality</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="DFqo73ELB39MYEnfGwGGLW" name="iClever-Auraa-16" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/DFqo73ELB39MYEnfGwGGLW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I wasn’t expecting great sound out of the Auraa headphones; what I was intrigued by was the 80dB noise level cap. That level is a constant loudness level recommended by OSHA and the World Health Organization over an eight-hour period. Anything louder or longer and you risk permanent hearing damage. </p><p>I didn’t go a full eight hours, but I did listen to various podcasts and a couple of albums at nearly full volume and never felt like I was pushing it. That said, kids’ ears are more sensitive than my nu-metal destroyed flesh tabs. Still, even at 75% or 50% it felt pretty comfortable.</p><p>Surprisingly, the Auraa had a decent soundscape. One song I use to test headphones is <a href="https://www.youtube.com/watch?v=tSJSVmfaMCs" target="_blank">Tiesto & Sevenn’s Boom</a>, which has a surprising depth of sound and, for my purposes, a gratuitous amount of bass. <a href="https://www.youtube.com/watch?v=7mjMTcM80RY">DJ Magic Mike</a>, this isn’t, but it’ll get you there. For treble, I like anything from Metallica’s Kill ‘Em All album, which brings the treble. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="cuXf92htcYRdbTR8gVbKJW" name="iClever-Auraa-07" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/cuXf92htcYRdbTR8gVbKJW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The bass has a lot of depth on the Auraa headphones. Treble was all over the map. Metallica’s ‘Motorbreath’ sounded like I’d put a blanket over the speakers, while the solo in ‘Phantom Lord’ was nearly perfect. </p><p>I’ve been told by kids' headphone manufacturers that active noise cancelling is an important selling point because having it on means kids won’t want to turn the headphone volume up more to drown out competing noise. </p><p>I tried listening to music and just wearing the Auraa cans with ANC on and off. I share an office with my partner, whose job requires her to be on a lot of Zoom calls. ANC keeps me distraction-free.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="n4QZUW7wnt8XMXPCFdkoGW" name="iClever-Auraa-08" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/n4QZUW7wnt8XMXPCFdkoGW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There was some strangeness during my ANC testing. When I had ANC on, my partner’s voice was much quieter. However, voices from her Zoom calls coming through the speakers sounded exactly the same as they would if I took the headphones off. I’m not sure if this is a frequency issue, where the speakers pump out sound in a dead spot for the ANC. In general, I think the ANC does the job, but it won’t match the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a>.</p><p>One great thing to note is that the Auraa features a 3.5mm jack, awesome for devices that still support that connection, which should be <em>all </em>of them, but that’s my hill to die on.</p><h2 id="what-the-kids-are-saying">What the kids are saying</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="N2yDosSaCrTwVBUvSrs9DW" name="iClever-Auraa-05" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/N2yDosSaCrTwVBUvSrs9DW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1126" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My son is six years old and chose the blue and red Auraa headphones when given the option. According to him, the headphones are comfortable, and he really liked the Gundam aesthetic. He wishes they could turn into a mechsuit. Me too, buddy, me too.</p><p>He really liked the ANC, especially when he wanted to focus on a game or a show on the tablet while his sister was making noise. Though he expressed worry that if he had it on, he would miss out on his parents telling him when he could have ice cream — a universal concern.</p><p>“You should tell parents to get these headphones for kids,” he said. “They would have a really good time using them. Goodbye.”</p><p>Here’s his true, rambling review (edited for clarity): “You should make the review a comic book that you sell in stores where the headphones turn into a mechsuit and then go 'BOOOOOM!!!!' with the sound. But at the end, the last couple of pages should say, ‘This is not what the headphones can do, but they’re great.’”</p><h2 id="verdict">Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bh9mnC8t7YWcj8ExT3iZHW" name="iClever-Auraa-09" alt="iClever Auraa kid headphones" src="https://cdn.mos.cms.futurecdn.net/Bh9mnC8t7YWcj8ExT3iZHW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Audio-wise, I’m not worried about the Auraa headphones. The sound is pretty good, the Bluetooth connection is decent, plus with the 80 dB cap, I’m not as worried about hearing damage. </p><p>I am concerned about durability, especially with the “boy” set. And the headband seems like it could get uncomfortable over long use. Once the foam starts to degrade, that will get worse.</p><p>With a starting price of $50 (and I’ve seen them sold for as low as $25), the iClever Auraa headphones are ones you can take a flyer on for your kid. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/over-ear-headphones/ive-tested-thirty-different-pairs-of-headphones-this-year-here-are-my-3-favorite-cans-of-2025">I've tested 30 pairs of headphones this year — here are my 3 favorite cans of 2025</a></li><li><a href="https://www.tomsguide.com/audio/this-is-the-most-underrated-bluetooth-feature-everyone-should-be-using">This is the most underrated Bluetooth feature everyone should be using</a></li><li><a href="https://www.tomsguide.com/audio/21-best-audio-gifts-for-the-music-lover-in-your-life">21 best audio gifts for the music lover in your life</a></li></ul><div data-model-name="iClever Auraa" data-widget-type="review"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Klipsch is coming back to the headphone space with three new models ]]></title>
                                                                                                <dc:content><![CDATA[ <div  class="fancy-box"><div class="fancy_box-title">Tom's Guide at CES</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ta3dXY62nkc8pUxn65nRLY" name="CES 2025" caption="" alt="CES 2025" src="https://cdn.mos.cms.futurecdn.net/ta3dXY62nkc8pUxn65nRLY.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Follow all of our <a data-analytics-id="inline-link" href="https://www.tomsguide.com/news/live/ces-2026-live-latest-news">CES 2026 live coverage </a>for the biggest gadget news straight from Las Vegas. And be sure to follow <a data-analytics-id="inline-link" href="https://www.tiktok.com/@tomsguide" target="_blank">Tom's Guide on TikTok</a> for the coolest videos from the show.</p></div></div><p>Klipsch has made an appearance at <a href="https://www.tomsguide.com/news/live/ces-2026-live-latest-news">CES 2026</a> this year, and amongst its announcements of some very snazzy-looking amps and speakers, there's something very exciting indeed. Returning to the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphone</a> space, Klipsch has brought three pairs of cans to Las Vegas to give us an idea of what the future holds.</p><p>It's been a while since the brand has given us any headphones, so these concepts are extremely exciting. There are two wired "audiophile" models, and then a wireless model. They're called the Atlus series — and I'm excited to see how they perform.</p><h2 id="wireless-heroes">Wireless heroes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aaP7FNj6WXUTEEurWvaDsA" name="Klipsch Atlus HP-1" alt="Klipsch Atlus HP-1" src="https://cdn.mos.cms.futurecdn.net/aaP7FNj6WXUTEEurWvaDsA.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Klipsch)</span></figcaption></figure><p>Information is thin on the ground, but we know that we'll get them around summertime in the U.S. These are the Atlus HP-1, and they're the wireless member of the family for listening on the go. Expect performance and features similar to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> and the <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-ultra-headphones">Bose QuietComfort Ultra headphones</a>.</p><p>There's plans for spatial audio and other features, but no news around battery life or other features. We'll learn more closer to the time — for now, know only that I think they look cool. I want a pair.</p><h2 id="wired-for-your-listening-pleasure">Wired for your listening pleasure</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gFzmeSB3n9ScfX9dMHkKe" name="Klipsch Atlus headphones" alt="Klipsch Atlus headphones" src="https://cdn.mos.cms.futurecdn.net/gFzmeSB3n9ScfX9dMHkKe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Klipsch)</span></figcaption></figure><p>These are the two wired headphones announced by Klipsch, and they look particularly delectable. The cheaper of the two is called the HP-2, and it's a closed-back headphone that'll give you more bass. There's nothing about how much power you'll need to drive them, but I'd hope they'll sound plenty good out of a dongle attached to your phone.</p><p>The higher-end HP-3, on the other hand, might be a bit more demanding. They're an open-backed pair of headphones for a wider soundstage, and they feature more padding for a more 'luxurious' experience. Again, nothing about frequency response or their power requirements, but I am told that the packaging can double as a headphone stand.</p><p>Which is pretty cool.</p><p>All three headphone models are expected to land in the summer, although there's no news about the prices. Let's hope they're relatively affordable.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/i-saw-samsungs-2026-flagship-oled-and-micro-rgb-tvs-side-by-side-heres-the-one-i-like-more">I saw Samsung’s 2026 flagship OLED and Micro RGB TVs side by side — here's the one I like more</a></li><li><a href="https://www.tomsguide.com/tech/10-products-toms-guide-writers-actually-spent-their-own-money-on-in-2025">10 products Tom's Guide writers actually spent their own money on in 2025</a></li><li><a href="https://www.tomsguide.com/computing/android-tablets/i-just-held-the-worlds-thinnest-tablet-at-ces-2026-and-it-makes-the-ipad-pro-look-bloated">I just held the world's thinnest tablet at CES 2026 — and it makes the iPad Pro look bloated</a></li></ul><div data-widget-type="productname" data-model-name="Apple AirPods Pro 3"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/klipsch-is-coming-back-to-the-headphone-space-with-three-new-models</link>
                                                                            <description>
                            <![CDATA[ Klipsch is coming back to the headphone space with three concept models shown off at CES 2026. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MdQoGsFJ9CpHLGBUECDEJR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cdoX9GPVWqjZuCHF9WNEHF-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 06 Jan 2026 16:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 06 Jan 2026 16:11:07 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cdoX9GPVWqjZuCHF9WNEHF-1280-80.jpg">
                                                            <media:credit><![CDATA[Klipsch]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Klipsch New headphones]]></media:description>                                                            <media:text><![CDATA[Klipsch New headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Klipsch New headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cdoX9GPVWqjZuCHF9WNEHF-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">Tom's Guide at CES</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ta3dXY62nkc8pUxn65nRLY" name="CES 2025" caption="" alt="CES 2025" src="https://cdn.mos.cms.futurecdn.net/ta3dXY62nkc8pUxn65nRLY.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Follow all of our <a data-analytics-id="inline-link" href="https://www.tomsguide.com/news/live/ces-2026-live-latest-news">CES 2026 live coverage </a>for the biggest gadget news straight from Las Vegas. And be sure to follow <a data-analytics-id="inline-link" href="https://www.tiktok.com/@tomsguide" target="_blank">Tom's Guide on TikTok</a> for the coolest videos from the show.</p></div></div><p>Klipsch has made an appearance at <a href="https://www.tomsguide.com/news/live/ces-2026-live-latest-news">CES 2026</a> this year, and amongst its announcements of some very snazzy-looking amps and speakers, there's something very exciting indeed. Returning to the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphone</a> space, Klipsch has brought three pairs of cans to Las Vegas to give us an idea of what the future holds.</p><p>It's been a while since the brand has given us any headphones, so these concepts are extremely exciting. There are two wired "audiophile" models, and then a wireless model. They're called the Atlus series — and I'm excited to see how they perform.</p><h2 id="wireless-heroes">Wireless heroes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aaP7FNj6WXUTEEurWvaDsA" name="Klipsch Atlus HP-1" alt="Klipsch Atlus HP-1" src="https://cdn.mos.cms.futurecdn.net/aaP7FNj6WXUTEEurWvaDsA.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Klipsch)</span></figcaption></figure><p>Information is thin on the ground, but we know that we'll get them around summertime in the U.S. These are the Atlus HP-1, and they're the wireless member of the family for listening on the go. Expect performance and features similar to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> and the <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-ultra-headphones">Bose QuietComfort Ultra headphones</a>.</p><p>There's plans for spatial audio and other features, but no news around battery life or other features. We'll learn more closer to the time — for now, know only that I think they look cool. I want a pair.</p><h2 id="wired-for-your-listening-pleasure">Wired for your listening pleasure</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gFzmeSB3n9ScfX9dMHkKe" name="Klipsch Atlus headphones" alt="Klipsch Atlus headphones" src="https://cdn.mos.cms.futurecdn.net/gFzmeSB3n9ScfX9dMHkKe.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Klipsch)</span></figcaption></figure><p>These are the two wired headphones announced by Klipsch, and they look particularly delectable. The cheaper of the two is called the HP-2, and it's a closed-back headphone that'll give you more bass. There's nothing about how much power you'll need to drive them, but I'd hope they'll sound plenty good out of a dongle attached to your phone.</p><p>The higher-end HP-3, on the other hand, might be a bit more demanding. They're an open-backed pair of headphones for a wider soundstage, and they feature more padding for a more 'luxurious' experience. Again, nothing about frequency response or their power requirements, but I am told that the packaging can double as a headphone stand.</p><p>Which is pretty cool.</p><p>All three headphone models are expected to land in the summer, although there's no news about the prices. Let's hope they're relatively affordable.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/i-saw-samsungs-2026-flagship-oled-and-micro-rgb-tvs-side-by-side-heres-the-one-i-like-more">I saw Samsung’s 2026 flagship OLED and Micro RGB TVs side by side — here's the one I like more</a></li><li><a href="https://www.tomsguide.com/tech/10-products-toms-guide-writers-actually-spent-their-own-money-on-in-2025">10 products Tom's Guide writers actually spent their own money on in 2025</a></li><li><a href="https://www.tomsguide.com/computing/android-tablets/i-just-held-the-worlds-thinnest-tablet-at-ces-2026-and-it-makes-the-ipad-pro-look-bloated">I just held the world's thinnest tablet at CES 2026 — and it makes the iPad Pro look bloated</a></li></ul><div data-widget-type="productname" data-model-name="Apple AirPods Pro 3"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I dismissed these Bose QuietComfort rivals at first, but a slew of software updates may have just changed my mind ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I will be the first to admit that I wasn't very kind to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Nothing Headphone (1)</a> when I reviewed them on launch. As much as I liked their standout design, premium materials and wicked controls, I simply didn't like the way that they sounded out of the box, especially when compared to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones</a> and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>.</p><p>Since their launch, however, Nothing has been piling software update after software update into the cans — and having had a play with them in 2026, I think they might have just shifted my perspective on the quirkiest headphones you can buy.</p><div class="product"><a data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5pxN6TrYSpvcerm5uQTcLP" name="Nothing Headphone (1).jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5pxN6TrYSpvcerm5uQTcLP.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262">Headphone (1): was $299 now $262</a></strong><br>Nothing's Headphones were already pretty good, but now they're even better thanks to some updates focused on their sound. They're cheaper than the Bose and Sony options, and get pretty close in performance.<a class="view-deal button" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262">View Deal</a></p></div><h2 id="what-was-once-a-con">What was once a con...</h2><p>... has since become a pro. The EQ was already very strong in the Nothing Headphone (1), with an incredible amount of adjustment to fix the underlying poor sound quality.</p><p>My issue was that it felt like you <em>had </em>to dip in and change the sound so that they were in any way listenable. Given you're spending triple figures on your new headphones, you should expect good sound out of the box.</p><p>When I picked them up again and checked the EQ menu, I was impressed by the custom EQ options available from the Nothing community. I'm used to these things being left by the wayside, forever sinking in a mire of forgotten headphone features.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4945px;"><p class="vanilla-image-block" style="padding-top:56.14%;"><img id="fMwTBSRtuBB2LorMP8Gh7g" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/fMwTBSRtuBB2LorMP8Gh7g.jpg" mos="" align="middle" fullscreen="" width="4945" height="2776" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Now, instead of presets straight from the factory, I can experience music the way others do. The creativity on display here is impressive — I've since had plenty of fun trying out other users' sound profiles. I still like mine the most (it's more subtle, more refined), but it might just be one of the biggest improvements to a pair of headphones I've ever seen.</p><p>It would<em> </em>be the biggest, but Nothing saw fit to add one of my favorite headphone things in, like, <em>forever</em>.</p><h2 id="more-custom-audio-options">More custom audio options</h2><div><blockquote><p>To assume that headphones should be a "one size fits all" sound profile would be reductive.</p></blockquote></div><p>Everyone's ears, and by extension, their ability to hear, are different. Perhaps you hear more bass than your mom, while she's able to hear more high-range frequencies. Maybe your dad needs more volume across the frequency range because he spent his youth at loud punk gigs.</p><p>Either way, to assume that headphones should be a "one size fits all" sound profile would be reductive. It's why reviewing headphones can be so contentious — someone else might like bass-heavy headphones because it means they can hear more of their music, while to others it can sound boomy.</p><p>Which is where audio customization engines like Audiodo are so helpful and, by extension, good. I <em>love </em>Audiodo. It's effectively a simple hearing test to see what frequencies you can hear and how well you can hear them. </p><p>From there, it changes the sound of your headphones, manipulating the core frequencies so that they sound their best for you.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="jQg9cGMmAfzit8cDbuC5Gg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/jQg9cGMmAfzit8cDbuC5Gg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You can then build on the Audiodo tuning with EQ to make them sound <em>just </em>the way you like. I've used Audiodo on more expensive options and cheaper ones alike, and every time it makes a big positive difference to the way headphones and earbuds sound.</p><p>So when I saw that Nothing had packed Audiodo tuning into the Headphone (1) with a software update, I was excited. No matter where I've seen Audiodo, it's been a massive improvement to sound, and thankfully, it's no different here.</p><p>It allows my slightly-less-useful left ear to hear <em>everything, </em>and improves clarity in the low end. For such a quick process, the improvement is immeasurable. I wouldn't say I no longer needed to dip into the EQ with the core sound, but the difference is still night and day.</p><h2 id="will-i-be-changing-the-review-score">Will I be changing the review score?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="TnJPciKSChwLDTxKFaMKBg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/TnJPciKSChwLDTxKFaMKBg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I gave the Nothing Headphone (1) a 3-star review thanks to the dark sound and other niggly bits. With the improvements to their software, I would be tempted to shift the review score — the core sound, thanks to Audiodo, has improved, and the incredible array of different user EQs to choose from is loads of fun.</p><p>That's not to say they'll be getting five stars. There are still issues here, like the lackluster call quality and horrible, grating clicking sounds when you use the controls.</p><p>But, after Nothing's Improvements in the software, they're now a viable alternative to the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> at a price that undercuts the Sony WH-1000XM6 and Bose QuietComfort Ultra Headphones 2.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/this-garmin-accessory-is-the-best-usd8-ive-spent-every-garmin-owner-should-get-one">This Garmin accessory is the best $8 I’ve spent — every Garmin owner should get one</a></li><li><a href="https://www.tomsguide.com/computing/android-tablets/i-just-held-the-worlds-thinnest-tablet-at-ces-2026-and-it-makes-the-ipad-pro-look-bloated">I just held the world's thinnest tablet at CES 2026 — and it makes the iPad Pro look bloated</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/new-netflix-shows-and-movies-january-5-11-2026">Netflix new releases — 7 shows and movies you need to stream this week (Jan. 5-11)</a></li></ul><div data-widget-type="review" data-model-name="Nothing Headphone (1)"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/i-dismissed-these-bose-quietcomfort-rivals-at-first-but-a-slew-of-software-updates-may-have-just-changed-my-mind</link>
                                                                            <description>
                            <![CDATA[ Nothing's weird looking headphones had some teething issues when they first launched — but have software updates made them worth picking up now? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kW4QL7qhfNStfNrhvGzEpZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/D2hLxD9x9b7v4wqBT4ApKg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 05 Jan 2026 11:15:47 +0000</pubDate>                                                                                                                                <updated>Mon, 05 Jan 2026 11:44:06 +0000</updated>
                                                                                                                                            <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/D2hLxD9x9b7v4wqBT4ApKg-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Nothing Headphone (1)]]></media:description>                                                            <media:text><![CDATA[Nothing Headphone (1)]]></media:text>
                                <media:title type="plain"><![CDATA[Nothing Headphone (1)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/D2hLxD9x9b7v4wqBT4ApKg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I will be the first to admit that I wasn't very kind to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/nothing-headphone-1-review">Nothing Headphone (1)</a> when I reviewed them on launch. As much as I liked their standout design, premium materials and wicked controls, I simply didn't like the way that they sounded out of the box, especially when compared to the <a href="https://www.tomsguide.com/audio/over-ear-headphones/bose-quietcomfort-ultra-headphones-2nd-generation-review">Bose QuietComfort Ultra Headphones</a> and the <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a>.</p><p>Since their launch, however, Nothing has been piling software update after software update into the cans — and having had a play with them in 2026, I think they might have just shifted my perspective on the quirkiest headphones you can buy.</p><div class="product"><a data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1509px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="5pxN6TrYSpvcerm5uQTcLP" name="Nothing Headphone (1).jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5pxN6TrYSpvcerm5uQTcLP.jpg" mos="" align="middle" fullscreen="" width="1509" height="1509" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262">Headphone (1): was $299 now $262</a></strong><br>Nothing's Headphones were already pretty good, but now they're even better thanks to some updates focused on their sound. They're cheaper than the Bose and Sony options, and get pretty close in performance.<a class="view-deal button" href="https://www.amazon.com/dp/B0F66XD5LF/" target="_blank" rel="nofollow" data-dimension112="4970d61c-5dbb-451b-8793-7ac1789da45c" data-action="Deal Block" data-label="Headphone (1)" data-dimension48="Headphone (1)" data-dimension25="$262">View Deal</a></p></div><h2 id="what-was-once-a-con">What was once a con...</h2><p>... has since become a pro. The EQ was already very strong in the Nothing Headphone (1), with an incredible amount of adjustment to fix the underlying poor sound quality.</p><p>My issue was that it felt like you <em>had </em>to dip in and change the sound so that they were in any way listenable. Given you're spending triple figures on your new headphones, you should expect good sound out of the box.</p><p>When I picked them up again and checked the EQ menu, I was impressed by the custom EQ options available from the Nothing community. I'm used to these things being left by the wayside, forever sinking in a mire of forgotten headphone features.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4945px;"><p class="vanilla-image-block" style="padding-top:56.14%;"><img id="fMwTBSRtuBB2LorMP8Gh7g" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/fMwTBSRtuBB2LorMP8Gh7g.jpg" mos="" align="middle" fullscreen="" width="4945" height="2776" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Now, instead of presets straight from the factory, I can experience music the way others do. The creativity on display here is impressive — I've since had plenty of fun trying out other users' sound profiles. I still like mine the most (it's more subtle, more refined), but it might just be one of the biggest improvements to a pair of headphones I've ever seen.</p><p>It would<em> </em>be the biggest, but Nothing saw fit to add one of my favorite headphone things in, like, <em>forever</em>.</p><h2 id="more-custom-audio-options">More custom audio options</h2><div><blockquote><p>To assume that headphones should be a "one size fits all" sound profile would be reductive.</p></blockquote></div><p>Everyone's ears, and by extension, their ability to hear, are different. Perhaps you hear more bass than your mom, while she's able to hear more high-range frequencies. Maybe your dad needs more volume across the frequency range because he spent his youth at loud punk gigs.</p><p>Either way, to assume that headphones should be a "one size fits all" sound profile would be reductive. It's why reviewing headphones can be so contentious — someone else might like bass-heavy headphones because it means they can hear more of their music, while to others it can sound boomy.</p><p>Which is where audio customization engines like Audiodo are so helpful and, by extension, good. I <em>love </em>Audiodo. It's effectively a simple hearing test to see what frequencies you can hear and how well you can hear them. </p><p>From there, it changes the sound of your headphones, manipulating the core frequencies so that they sound their best for you.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="jQg9cGMmAfzit8cDbuC5Gg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/jQg9cGMmAfzit8cDbuC5Gg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You can then build on the Audiodo tuning with EQ to make them sound <em>just </em>the way you like. I've used Audiodo on more expensive options and cheaper ones alike, and every time it makes a big positive difference to the way headphones and earbuds sound.</p><p>So when I saw that Nothing had packed Audiodo tuning into the Headphone (1) with a software update, I was excited. No matter where I've seen Audiodo, it's been a massive improvement to sound, and thankfully, it's no different here.</p><p>It allows my slightly-less-useful left ear to hear <em>everything, </em>and improves clarity in the low end. For such a quick process, the improvement is immeasurable. I wouldn't say I no longer needed to dip into the EQ with the core sound, but the difference is still night and day.</p><h2 id="will-i-be-changing-the-review-score">Will I be changing the review score?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.13%;"><img id="TnJPciKSChwLDTxKFaMKBg" name="Nothing Headphone (1)" alt="Nothing Headphone (1)" src="https://cdn.mos.cms.futurecdn.net/TnJPciKSChwLDTxKFaMKBg.jpg" mos="" align="middle" fullscreen="" width="6000" height="3368" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I gave the Nothing Headphone (1) a 3-star review thanks to the dark sound and other niggly bits. With the improvements to their software, I would be tempted to shift the review score — the core sound, thanks to Audiodo, has improved, and the incredible array of different user EQs to choose from is loads of fun.</p><p>That's not to say they'll be getting five stars. There are still issues here, like the lackluster call quality and horrible, grating clicking sounds when you use the controls.</p><p>But, after Nothing's Improvements in the software, they're now a viable alternative to the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> at a price that undercuts the Sony WH-1000XM6 and Bose QuietComfort Ultra Headphones 2.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/this-garmin-accessory-is-the-best-usd8-ive-spent-every-garmin-owner-should-get-one">This Garmin accessory is the best $8 I’ve spent — every Garmin owner should get one</a></li><li><a href="https://www.tomsguide.com/computing/android-tablets/i-just-held-the-worlds-thinnest-tablet-at-ces-2026-and-it-makes-the-ipad-pro-look-bloated">I just held the world's thinnest tablet at CES 2026 — and it makes the iPad Pro look bloated</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/new-netflix-shows-and-movies-january-5-11-2026">Netflix new releases — 7 shows and movies you need to stream this week (Jan. 5-11)</a></li></ul><div data-widget-type="review" data-model-name="Nothing Headphone (1)"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My pick for the best headphones you can buy just hit a new lowest price ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There were scant few things that surprised me like the PX7 S3 in 2025. They landed on my desk with little fanfare, and then wowed me with some of the best sound around — so much so that they unseated Sony, the wireless headphones kings in my estimation of the best headphones you can buy.</p><p>And now they're surprising me in 2026 as well. We're not even a couple of days into the new year, and there's already a massive saving on my favorite headphones of last year. The <a href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow">Bowers & Wilkins PX7 S3 are down to $364 at Amazon</a>, following a hefty $110 discount. That's their lowest price ever!</p><div class="product"><a data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364" href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1241px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JhYZKjwrPeYftruizU2vKX" name="Bowers & Wilkins Px7 S3.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JhYZKjwrPeYftruizU2vKX.jpg" mos="" align="middle" fullscreen="" width="1241" height="1241" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow" data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364">PX7 S3: was $479 now $364</a></strong><br>Note: This deal is only on the black colorway.</p><p>They're super comfortable and feel more premium than just about anything that sits around the same price. They sound excellent, as you might imagine, and you can enjoy that sound for a long time thanks to the 30 hours of battery life.<a class="view-deal button" href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow" data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364">View Deal</a></p></div><p>Pulling the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins PX7 S3</a>'s exemplary protective case out of the box when you get them home does enough to show you why they're our pick of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>. It's a solid and supremely sturdy entry into what (I think at least) is one of the most important parts of the portable wireless headphone experience. </p><p>Then you slide them from their molded inserts and slot them onto your head. The smooth armatures adjust easily to accommodate large and small heads alike, and the welcoming padding ensures they're comfortable from day one. That's another box in the checklist ticked off.</p><p>The materials feel expensive, too. From their luxurious feeling (and vegan-friendly) faux-leather-covered headband and earcups to the sturdy feeling earcup outer panels and headband, they feel much better put together than any Sony or Bose alternatives.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W7HnGPzL2yJmLi92sqP2zA" name="Bowers & Wilkins PX7 S3-06" alt="Bowers & Wilkins PX7 S3" src="https://cdn.mos.cms.futurecdn.net/W7HnGPzL2yJmLi92sqP2zA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls are physical, bucking the trend toward touch controls in recent years. They're easy to use (if a little small), and they won't let you down if your fingers get wet or if you're wearing thick gloves. </p><p>Press the play button, and you're treated to some of the best sound you'll find at this price point. They're warm without being too overly bassy, and feature plenty of detail to get really stuck into your tunes. The ANC is good enough that you'll not want for extra noise blocking, and the 30 hours of battery keep them chugging along for a few days of use.</p><p>I use my pair every day for listening to music — I can't imagine you'll be any different if you pick them up at this stellar deal price.</p><div data-widget-type="review" data-model-name="Bowers & Wilkins PX7 S3"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/my-pick-for-the-best-headphones-you-can-buy-just-hit-a-new-lowest-price</link>
                                                                            <description>
                            <![CDATA[ The Bowers & Wilkins PX7 S3 are my favorite pair of headphones, and they've just hit a new low price in the new year. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wNMVAP9XLugCRd5ndSAfvb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WP2FumNCRAthDNY9XRbZLW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 02 Jan 2026 10:11:35 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WP2FumNCRAthDNY9XRbZLW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bowers &amp; Wilkins PX7 S3 deal]]></media:description>                                                            <media:text><![CDATA[Bowers &amp; Wilkins PX7 S3 deal]]></media:text>
                                <media:title type="plain"><![CDATA[Bowers &amp; Wilkins PX7 S3 deal]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WP2FumNCRAthDNY9XRbZLW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There were scant few things that surprised me like the PX7 S3 in 2025. They landed on my desk with little fanfare, and then wowed me with some of the best sound around — so much so that they unseated Sony, the wireless headphones kings in my estimation of the best headphones you can buy.</p><p>And now they're surprising me in 2026 as well. We're not even a couple of days into the new year, and there's already a massive saving on my favorite headphones of last year. The <a href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow">Bowers & Wilkins PX7 S3 are down to $364 at Amazon</a>, following a hefty $110 discount. That's their lowest price ever!</p><div class="product"><a data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364" href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1241px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JhYZKjwrPeYftruizU2vKX" name="Bowers & Wilkins Px7 S3.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JhYZKjwrPeYftruizU2vKX.jpg" mos="" align="middle" fullscreen="" width="1241" height="1241" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow" data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364">PX7 S3: was $479 now $364</a></strong><br>Note: This deal is only on the black colorway.</p><p>They're super comfortable and feel more premium than just about anything that sits around the same price. They sound excellent, as you might imagine, and you can enjoy that sound for a long time thanks to the 30 hours of battery life.<a class="view-deal button" href="https://www.amazon.com/dp/B0F45CTLMM/" target="_blank" rel="nofollow" data-dimension112="b9e01155-9699-4130-babb-4dcac91e8148" data-action="Deal Block" data-label="PX7 S3" data-dimension48="PX7 S3" data-dimension25="$364">View Deal</a></p></div><p>Pulling the <a href="https://www.tomsguide.com/audio/bowers-and-wilkins-px7-s3-review">Bowers & Wilkins PX7 S3</a>'s exemplary protective case out of the box when you get them home does enough to show you why they're our pick of the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a>. It's a solid and supremely sturdy entry into what (I think at least) is one of the most important parts of the portable wireless headphone experience. </p><p>Then you slide them from their molded inserts and slot them onto your head. The smooth armatures adjust easily to accommodate large and small heads alike, and the welcoming padding ensures they're comfortable from day one. That's another box in the checklist ticked off.</p><p>The materials feel expensive, too. From their luxurious feeling (and vegan-friendly) faux-leather-covered headband and earcups to the sturdy feeling earcup outer panels and headband, they feel much better put together than any Sony or Bose alternatives.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W7HnGPzL2yJmLi92sqP2zA" name="Bowers & Wilkins PX7 S3-06" alt="Bowers & Wilkins PX7 S3" src="https://cdn.mos.cms.futurecdn.net/W7HnGPzL2yJmLi92sqP2zA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls are physical, bucking the trend toward touch controls in recent years. They're easy to use (if a little small), and they won't let you down if your fingers get wet or if you're wearing thick gloves. </p><p>Press the play button, and you're treated to some of the best sound you'll find at this price point. They're warm without being too overly bassy, and feature plenty of detail to get really stuck into your tunes. The ANC is good enough that you'll not want for extra noise blocking, and the 30 hours of battery keep them chugging along for a few days of use.</p><p>I use my pair every day for listening to music — I can't imagine you'll be any different if you pick them up at this stellar deal price.</p><div data-widget-type="review" data-model-name="Bowers & Wilkins PX7 S3"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AirPods Max 2 — where are they, why aren’t they here yet, and what we want from them ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/reviews/apple-airpods-max">AirPods Max</a> are, despite Apple's best efforts, an old pair of headphones. We first saw the Lightning model over five years ago, and then the USB-C version only changed the colors and added a new charging port in 2024. We still await the <a href="https://www.tomsguide.com/audio/airpods-max-2-rumors-everything-we-know-so-far">AirPods Max 2</a>.</p><p>So what do I think we'll see out of the AirPods Max, and why have we not seen them yet? And perhaps most importantly, what do we want from Apple's next pair of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a>?</p><h2 id="aripods-max-2-where-are-they">AriPods Max 2: Where are they?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hwY5N6FW94b26UuUefzdX" name="AirPods Max USB-C-12" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/hwY5N6FW94b26UuUefzdX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The AirPods Max 2 have long been rumored. Instead, all we got so far has been the <a href="https://www.tomsguide.com/audio/you-can-now-buy-the-brand-new-airpods-max-usb-c-but-you-should-get-the-lightning-version-instead">USB-C version of the AirPods Max</a>, launched to placate the EU and its need for a universal charging standard.</p><p>Sure, we also got the USB-C listening mode and some lovely new colors, but there was no way you could call them any kind of sequel. They were a stopgap, to keep us happy until the next version comes along.</p><p>So when can we expect them? Good question. Now that Apple has launched the USB-C version, I'm not sure we'll be seeing them any time soon. After all, there were 4 years between the Lightning and USB-C versions, so the timeline could well be that long again.</p><p>Having said that, I'd like to cast our minds back to the USB-C version of the <a href="https://www.tomsguide.com/reviews/airpods-pro-2-review">AirPods Pro 2</a>. They launched a mere year or so after the Lightning version, only to be replaced again another year later by the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>. Perhaps, then, we could have a similar situation with the AirPods Max 2, and we're only a few months out from a new version. </p><p>One can hope.</p><div class="product"><a data-dimension112="3af5cdf6-3202-4aa3-a117-152063cf0db4" data-action="Deal Block" data-label="AirPods Max" data-dimension48="AirPods Max" data-dimension25="$449" href="https://www.amazon.com/dp/B0DGHYDZSD/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1141px;"><p class="vanilla-image-block" style="padding-top:131.46%;"><img id="D2JwLPiXTpLWNJWs32ARJK" name="AirPods Max" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/D2JwLPiXTpLWNJWs32ARJK.png" mos="" align="middle" fullscreen="" width="1141" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The AirPods Max are Apple's most premium pair of headphones. Despite a pretty disappointing 20 hours of battery life, the AirPods make up for it with excellent noise canceling, a comfortable fit, and great sound quality.<a class="view-deal button" href="https://www.amazon.com/dp/B0DGHYDZSD/" target="_blank" rel="nofollow" data-dimension112="3af5cdf6-3202-4aa3-a117-152063cf0db4" data-action="Deal Block" data-label="AirPods Max" data-dimension48="AirPods Max" data-dimension25="$449">View Deal</a></p></div><h2 id="why-hasn-t-apple-launched-them">Why hasn't Apple launched them?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KHWarBmWHHK5G8GvjdsWY" name="AirPods Max USB-C-05" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/KHWarBmWHHK5G8GvjdsWY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This is a pertinent question. <a href="https://www.bloomberg.com/authors/AS7Hj1mBMGM/mark-gurman">Mark Gurman of Bloomberg</a> believes that it's because the AirPods Max have not been successful enough to warrant a new version, but they're selling well enough to justify leaving them on shelves. That suggests we may not see a new version at all.</p><p>There is some degree of "they're still great" that comes into play as well. Despite some points showing their age, like the 20 hour battery life, the current AirPods Max are still top performers. The ANC can hang with the best of them from Sony and Bose, and the sound is still some of the best around.</p><p>The true reason, however, remains a mystery. </p><h2 id="what-do-i-want-from-the-airpods-max-2">What do I want from the AirPods Max 2?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qafSzYKCHXU6TQBHCe4RZ" name="AirPods Max USB-C-07" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/qafSzYKCHXU6TQBHCe4RZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As much as I like the AirPods Max (and despite my many criticisms of the headphones), there is some work to be done to make them even better. For one, while the headband is comfortable and extremely cool looking, it loses its elasticity with age. </p><p>My Lightning pair has become loose and saggy, and when I wear them, the two metal arms that support the fabric rest on the top of my head. My USB-C version has survived better so far, but it still leaves me worried for the future.</p><p>Strengthen that material, and we're onto a winner. When it's taught, there's little more comfortable atop your head — let's see it stay that way.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G5tpjY2D6sDaShJRAgpnX" name="AirPods Max USB-C-11" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/G5tpjY2D6sDaShJRAgpnX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There are likely hundreds of thousands of words written about the abominable case that comes packed with the AirPods Max — some of them mine — so I won't labor the point too much. Only that it is bad, and I don't like it.</p><p>Some form of proper case with the next version would be very welcome, with a way to not only actually protect the headphones but store something like a cable. And make it out of something that doesn't gather dust and grease within a femtosecond.</p><p>Then there's the obvious: Battery life. 20 hours is just not enough, no matter how you slice it. The competition can last longer than the AirPods Max, sometimes over twice as long, so I'd like to see <em>at least </em>30 hours of life in the next model.</p><p>There's one thing that really needs to stay, though. The incredible, tactile controls that are a joy to use. There are few control methods built into a pair of headphones that even come close to the dial and button combo on the AirPods Max. If that's gone from the AirPods Max 2, I'll riot.</p><p>You have been warned, Apple.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/speakers/i-just-tested-this-all-in-one-music-streaming-amplifier-and-i-want-to-put-one-in-every-room-in-my-house">I just tested this all-in-one music streaming amplifier — and I want to put one in every room in my house</a></li><li><a href="https://www.tomsguide.com/audio/airpods/ive-been-using-the-airpods-pro-3-for-three-months-the-good-the-bad-and-the-ugly">I've been using the AirPods Pro 3 for three months — the good, the bad and the ugly</a></li><li><a href="https://www.tomsguide.com/ai/the-9-weirdest-ways-i-used-ai-in-2025-and-the-surprising-part-is-they-actually-worked">The 9 weirdest ways I used AI in 2025 — and the surprising part is they actually worked</a></li></ul><div data-widget-type="productname" data-model-name="Apple Airpods Max"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/airpods/airpods-max-2-where-are-they-why-arent-they-here-yet-and-what-we-want-from-them</link>
                                                                            <description>
                            <![CDATA[ The AirPods Max are getting a bit long in the tooth, even after their USB-C upgrade. So what's next for Apple's over-ear headphones? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RcRpySrW6AnjYwQrcGrtb8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/PKWiMkno2x5p2hpDh4TK9H-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 29 Dec 2025 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Airpods]]></category>
                                                    <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/PKWiMkno2x5p2hpDh4TK9H-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[AirPods Max 2 rumors ]]></media:description>                                                            <media:text><![CDATA[AirPods Max 2 rumors ]]></media:text>
                                <media:title type="plain"><![CDATA[AirPods Max 2 rumors ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/PKWiMkno2x5p2hpDh4TK9H-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/reviews/apple-airpods-max">AirPods Max</a> are, despite Apple's best efforts, an old pair of headphones. We first saw the Lightning model over five years ago, and then the USB-C version only changed the colors and added a new charging port in 2024. We still await the <a href="https://www.tomsguide.com/audio/airpods-max-2-rumors-everything-we-know-so-far">AirPods Max 2</a>.</p><p>So what do I think we'll see out of the AirPods Max, and why have we not seen them yet? And perhaps most importantly, what do we want from Apple's next pair of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones</a>?</p><h2 id="aripods-max-2-where-are-they">AriPods Max 2: Where are they?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hwY5N6FW94b26UuUefzdX" name="AirPods Max USB-C-12" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/hwY5N6FW94b26UuUefzdX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The AirPods Max 2 have long been rumored. Instead, all we got so far has been the <a href="https://www.tomsguide.com/audio/you-can-now-buy-the-brand-new-airpods-max-usb-c-but-you-should-get-the-lightning-version-instead">USB-C version of the AirPods Max</a>, launched to placate the EU and its need for a universal charging standard.</p><p>Sure, we also got the USB-C listening mode and some lovely new colors, but there was no way you could call them any kind of sequel. They were a stopgap, to keep us happy until the next version comes along.</p><p>So when can we expect them? Good question. Now that Apple has launched the USB-C version, I'm not sure we'll be seeing them any time soon. After all, there were 4 years between the Lightning and USB-C versions, so the timeline could well be that long again.</p><p>Having said that, I'd like to cast our minds back to the USB-C version of the <a href="https://www.tomsguide.com/reviews/airpods-pro-2-review">AirPods Pro 2</a>. They launched a mere year or so after the Lightning version, only to be replaced again another year later by the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>. Perhaps, then, we could have a similar situation with the AirPods Max 2, and we're only a few months out from a new version. </p><p>One can hope.</p><div class="product"><a data-dimension112="3af5cdf6-3202-4aa3-a117-152063cf0db4" data-action="Deal Block" data-label="AirPods Max" data-dimension48="AirPods Max" data-dimension25="$449" href="https://www.amazon.com/dp/B0DGHYDZSD/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1141px;"><p class="vanilla-image-block" style="padding-top:131.46%;"><img id="D2JwLPiXTpLWNJWs32ARJK" name="AirPods Max" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/D2JwLPiXTpLWNJWs32ARJK.png" mos="" align="middle" fullscreen="" width="1141" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The AirPods Max are Apple's most premium pair of headphones. Despite a pretty disappointing 20 hours of battery life, the AirPods make up for it with excellent noise canceling, a comfortable fit, and great sound quality.<a class="view-deal button" href="https://www.amazon.com/dp/B0DGHYDZSD/" target="_blank" rel="nofollow" data-dimension112="3af5cdf6-3202-4aa3-a117-152063cf0db4" data-action="Deal Block" data-label="AirPods Max" data-dimension48="AirPods Max" data-dimension25="$449">View Deal</a></p></div><h2 id="why-hasn-t-apple-launched-them">Why hasn't Apple launched them?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KHWarBmWHHK5G8GvjdsWY" name="AirPods Max USB-C-05" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/KHWarBmWHHK5G8GvjdsWY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This is a pertinent question. <a href="https://www.bloomberg.com/authors/AS7Hj1mBMGM/mark-gurman">Mark Gurman of Bloomberg</a> believes that it's because the AirPods Max have not been successful enough to warrant a new version, but they're selling well enough to justify leaving them on shelves. That suggests we may not see a new version at all.</p><p>There is some degree of "they're still great" that comes into play as well. Despite some points showing their age, like the 20 hour battery life, the current AirPods Max are still top performers. The ANC can hang with the best of them from Sony and Bose, and the sound is still some of the best around.</p><p>The true reason, however, remains a mystery. </p><h2 id="what-do-i-want-from-the-airpods-max-2">What do I want from the AirPods Max 2?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qafSzYKCHXU6TQBHCe4RZ" name="AirPods Max USB-C-07" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/qafSzYKCHXU6TQBHCe4RZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As much as I like the AirPods Max (and despite my many criticisms of the headphones), there is some work to be done to make them even better. For one, while the headband is comfortable and extremely cool looking, it loses its elasticity with age. </p><p>My Lightning pair has become loose and saggy, and when I wear them, the two metal arms that support the fabric rest on the top of my head. My USB-C version has survived better so far, but it still leaves me worried for the future.</p><p>Strengthen that material, and we're onto a winner. When it's taught, there's little more comfortable atop your head — let's see it stay that way.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G5tpjY2D6sDaShJRAgpnX" name="AirPods Max USB-C-11" alt="The AirPods Max USB-C in a photo studio" src="https://cdn.mos.cms.futurecdn.net/G5tpjY2D6sDaShJRAgpnX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There are likely hundreds of thousands of words written about the abominable case that comes packed with the AirPods Max — some of them mine — so I won't labor the point too much. Only that it is bad, and I don't like it.</p><p>Some form of proper case with the next version would be very welcome, with a way to not only actually protect the headphones but store something like a cable. And make it out of something that doesn't gather dust and grease within a femtosecond.</p><p>Then there's the obvious: Battery life. 20 hours is just not enough, no matter how you slice it. The competition can last longer than the AirPods Max, sometimes over twice as long, so I'd like to see <em>at least </em>30 hours of life in the next model.</p><p>There's one thing that really needs to stay, though. The incredible, tactile controls that are a joy to use. There are few control methods built into a pair of headphones that even come close to the dial and button combo on the AirPods Max. If that's gone from the AirPods Max 2, I'll riot.</p><p>You have been warned, Apple.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/speakers/i-just-tested-this-all-in-one-music-streaming-amplifier-and-i-want-to-put-one-in-every-room-in-my-house">I just tested this all-in-one music streaming amplifier — and I want to put one in every room in my house</a></li><li><a href="https://www.tomsguide.com/audio/airpods/ive-been-using-the-airpods-pro-3-for-three-months-the-good-the-bad-and-the-ugly">I've been using the AirPods Pro 3 for three months — the good, the bad and the ugly</a></li><li><a href="https://www.tomsguide.com/ai/the-9-weirdest-ways-i-used-ai-in-2025-and-the-surprising-part-is-they-actually-worked">The 9 weirdest ways I used AI in 2025 — and the surprising part is they actually worked</a></li></ul><div data-widget-type="productname" data-model-name="Apple Airpods Max"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Just got a pair of Sony WH-1000XM6s? Here’s what to do first ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I can't think of anything much more exciting than unboxing a brand new pair of <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> headphones. Releasing them from their cardboard prison and getting them in hand — glorious. You're the proud new owner of some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones </a>in the world.</p><p>But to get them working their best, there's a couple of things you'll want to do. Let me guide you through your new headphones and the first few hours that you'll be spending with your fresh audio companions.</p><div class="product"><a data-dimension112="d59d1bae-3b2c-4e32-b84c-dcbe5d338409" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The WH-1000XM6 are Sony's latest pair of ANC headphones. They're comfortable and offer excellent noise canceling. They last for 30 hours to boot, so you'll get plenty of use between charges.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="d59d1bae-3b2c-4e32-b84c-dcbe5d338409" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><h3 class="article-body__section" id="section-1-download-the-app"><span>1. Download the app</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="MoNdTfXh66cbTdFsGMk7rb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/MoNdTfXh66cbTdFsGMk7rb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As with so many recent ANC headphones, the majority of the WH-1000XM6's features are housed within an app that you need to download and install onto your phone. In this case, it's called the "Sound Connect" app.</p><p>You'll find it on the Apple App Store or the Google Play store on your device. Get that downloaded, and then get ready to connect your phone to get everything working properly.</p><p>Go to the settings menu of your phone, and pair the headphones with your device. For Android users, you'll find a pop-up when the headphones are near your phone for easy connection. Then, head back to the Sound Connect app.</p><p>Follow the on-screen instructions to connect the headphones with the application — and you're done! Now you can change the settings of your headphones to make sure they're working their best.</p><h3 class="article-body__section" id="section-2-create-your-spatial-audio-profile"><span>2. Create your spatial audio profile</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="m9nwmLgnDVg4LnMDCcNetb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/m9nwmLgnDVg4LnMDCcNetb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Spatial audio is all the rage right now, and Sony doesn't want to be left out of the party.  There are two spatial audio options in the WH-1000XM6, and they're both relatively easy to set up.</p><p>The first is standard spatial audio, and you'll find it in Device settings > Sound Quality/Volume > Spatial Sound Optimization. Click that option, and then follow the on-screen instructions. This is a very niche option, working with only the background audio setting and select Bravia TVs.</p><p>The Sony 360 Reality Audio setting above is the more in-depth setup. You'll need to sit down and get comfy for this one, as it guides you through the process. It also doesn't work with many services, unfortunately, now that Tidal has removed it from the service.</p><p>Instead, you can use Spatial Audio upmix for movies, games and other content. You can use it for music, but I wouldn't. You can access it through the "Sound Modes" section and by selecting Cinema. </p><h3 class="article-body__section" id="section-3-dial-in-your-sound-with-eq"><span>3. Dial in your sound with EQ</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e94eDhwrTmbmewFaVvrQ3D" name="Sony WH-1000XM6--01-LIST" alt="Black and white models of the Sony WH-1000XM6 noise-cancelling headphones outdoors in sunshine" src="https://cdn.mos.cms.futurecdn.net/e94eDhwrTmbmewFaVvrQ3D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Not a fan of the way that the WH-1000XM6 sound? That's easily fixed by a quick visit to Sony's very in-depth EQ tuner. There are 10 different bands you can adjust in a custom EQ, so you can really dial the sound quality in to your taste.</p><p>There are also several presets to choose from if building your own feels a bit too much like hard work. There are plenty of options sound-wise here, so you're sure to find something that suits you.</p><p>Just a note, however, that those EQ settings do not carry over if you use the spatial audio modes.</p><h3 class="article-body__section" id="section-4-initiate-high-quality-listening-no-matter-your-device"><span>4. Initiate high quality listening, no matter your device</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="i7SxoLAV925wiLKVDqGvpb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/i7SxoLAV925wiLKVDqGvpb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>iPhone users generally have to give up high-quality listening on non-Apple headphones thanks to codec limitations — you'll generally only get SBC and AAC with Apple devices, rather than the higher-quality AptX and LDAC codecs in Android devices.</p><p>Sony, not happy with this limitation, has built in upscaling called DSEE Extreme. Turning this setting on noticeably makes your headphones sound better, but be warned: the AI models used to make your music sound good do drain some extra battery life.</p><p>It works by filling in the gaps in your music left out by lossy compression — it's all very clever. It's also easy to turn on. Just head to the Sound Quality/Volume menu, select DSEE Extreme, and set it to "auto." Now your music will sound great no matter the source.</p><h3 class="article-body__section" id="section-5-dial-in-your-anc-settings"><span>5. Dial in your ANC settings</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="z4SZ7Xs4TKc3LZUUuqtyyC" name="Sony WH-1000XM6--09" alt="Side view of a woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/z4SZ7Xs4TKc3LZUUuqtyyC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The ANC found in the Sony WH-1000XM6 is excellent, and blocks out loads of noise. There are also different modes in the Sound Connect app so you can get it blocking out noise in different environments, depending on where you might be.</p><p>You'll find these in the "adaptive sound control" pane of the Sound Connect app. Here, you can allow the headphones to detect your actions (such as sitting down or moving around) and adjust the noise canceling accordingly.</p><p>You can also set them to change depending on what time you tend to things, so you don't have to worry about playing with settings. The headphones will learn your routine and react accordingly. It's well worth trying, but you might find — as I did — the accuracy is a little unnerving.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/entertainment/netflix/3-best-crime-miniseries-on-netflix-to-binge-watch-in-one-weekend">3 best crime miniseries on Netflix to binge-watch in one weekend</a></li><li><a href="https://www.tomsguide.com/ai/scammers-love-christmas-heres-how-ai-can-help-you-spot-holiday-frauds">Scammers love Christmas — here’s how AI can help you spot holiday frauds</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/just-got-a-pair-of-sony-wh-1000xm6s-heres-what-to-do-first</link>
                                                                            <description>
                            <![CDATA[ Just got some new Sony ANC headphones for the holidays? Here are the first things you should do with them to make sure they're working to their absolute best. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YebV9nv8hGTX2UAj3uZoFJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 27 Dec 2025 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table]]></media:description>                                                            <media:text><![CDATA[Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table]]></media:text>
                                <media:title type="plain"><![CDATA[Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I can't think of anything much more exciting than unboxing a brand new pair of <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">Sony WH-1000XM6</a> headphones. Releasing them from their cardboard prison and getting them in hand — glorious. You're the proud new owner of some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise-canceling headphones </a>in the world.</p><p>But to get them working their best, there's a couple of things you'll want to do. Let me guide you through your new headphones and the first few hours that you'll be spending with your fresh audio companions.</p><div class="product"><a data-dimension112="d59d1bae-3b2c-4e32-b84c-dcbe5d338409" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:120.00%;"><img id="x3hpHUb8bPXUJsBkoevKDN" name="Sony WH-1000XM6" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3hpHUb8bPXUJsBkoevKDN.jpg" mos="" align="middle" fullscreen="" width="1000" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The WH-1000XM6 are Sony's latest pair of ANC headphones. They're comfortable and offer excellent noise canceling. They last for 30 hours to boot, so you'll get plenty of use between charges.<a class="view-deal button" href="https://www.amazon.com/dp/B0F3PQHWTZ/" target="_blank" rel="nofollow" data-dimension112="d59d1bae-3b2c-4e32-b84c-dcbe5d338409" data-action="Deal Block" data-label="WH-1000XM6" data-dimension48="WH-1000XM6" data-dimension25="$398">View Deal</a></p></div><h3 class="article-body__section" id="section-1-download-the-app"><span>1. Download the app</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="MoNdTfXh66cbTdFsGMk7rb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/MoNdTfXh66cbTdFsGMk7rb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As with so many recent ANC headphones, the majority of the WH-1000XM6's features are housed within an app that you need to download and install onto your phone. In this case, it's called the "Sound Connect" app.</p><p>You'll find it on the Apple App Store or the Google Play store on your device. Get that downloaded, and then get ready to connect your phone to get everything working properly.</p><p>Go to the settings menu of your phone, and pair the headphones with your device. For Android users, you'll find a pop-up when the headphones are near your phone for easy connection. Then, head back to the Sound Connect app.</p><p>Follow the on-screen instructions to connect the headphones with the application — and you're done! Now you can change the settings of your headphones to make sure they're working their best.</p><h3 class="article-body__section" id="section-2-create-your-spatial-audio-profile"><span>2. Create your spatial audio profile</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="m9nwmLgnDVg4LnMDCcNetb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/m9nwmLgnDVg4LnMDCcNetb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Spatial audio is all the rage right now, and Sony doesn't want to be left out of the party.  There are two spatial audio options in the WH-1000XM6, and they're both relatively easy to set up.</p><p>The first is standard spatial audio, and you'll find it in Device settings > Sound Quality/Volume > Spatial Sound Optimization. Click that option, and then follow the on-screen instructions. This is a very niche option, working with only the background audio setting and select Bravia TVs.</p><p>The Sony 360 Reality Audio setting above is the more in-depth setup. You'll need to sit down and get comfy for this one, as it guides you through the process. It also doesn't work with many services, unfortunately, now that Tidal has removed it from the service.</p><p>Instead, you can use Spatial Audio upmix for movies, games and other content. You can use it for music, but I wouldn't. You can access it through the "Sound Modes" section and by selecting Cinema. </p><h3 class="article-body__section" id="section-3-dial-in-your-sound-with-eq"><span>3. Dial in your sound with EQ</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e94eDhwrTmbmewFaVvrQ3D" name="Sony WH-1000XM6--01-LIST" alt="Black and white models of the Sony WH-1000XM6 noise-cancelling headphones outdoors in sunshine" src="https://cdn.mos.cms.futurecdn.net/e94eDhwrTmbmewFaVvrQ3D.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Not a fan of the way that the WH-1000XM6 sound? That's easily fixed by a quick visit to Sony's very in-depth EQ tuner. There are 10 different bands you can adjust in a custom EQ, so you can really dial the sound quality in to your taste.</p><p>There are also several presets to choose from if building your own feels a bit too much like hard work. There are plenty of options sound-wise here, so you're sure to find something that suits you.</p><p>Just a note, however, that those EQ settings do not carry over if you use the spatial audio modes.</p><h3 class="article-body__section" id="section-4-initiate-high-quality-listening-no-matter-your-device"><span>4. Initiate high quality listening, no matter your device</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="i7SxoLAV925wiLKVDqGvpb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/i7SxoLAV925wiLKVDqGvpb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>iPhone users generally have to give up high-quality listening on non-Apple headphones thanks to codec limitations — you'll generally only get SBC and AAC with Apple devices, rather than the higher-quality AptX and LDAC codecs in Android devices.</p><p>Sony, not happy with this limitation, has built in upscaling called DSEE Extreme. Turning this setting on noticeably makes your headphones sound better, but be warned: the AI models used to make your music sound good do drain some extra battery life.</p><p>It works by filling in the gaps in your music left out by lossy compression — it's all very clever. It's also easy to turn on. Just head to the Sound Quality/Volume menu, select DSEE Extreme, and set it to "auto." Now your music will sound great no matter the source.</p><h3 class="article-body__section" id="section-5-dial-in-your-anc-settings"><span>5. Dial in your ANC settings</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="z4SZ7Xs4TKc3LZUUuqtyyC" name="Sony WH-1000XM6--09" alt="Side view of a woman wearing white Sony WH-1000XM6 noise-cancelling headphones" src="https://cdn.mos.cms.futurecdn.net/z4SZ7Xs4TKc3LZUUuqtyyC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The ANC found in the Sony WH-1000XM6 is excellent, and blocks out loads of noise. There are also different modes in the Sound Connect app so you can get it blocking out noise in different environments, depending on where you might be.</p><p>You'll find these in the "adaptive sound control" pane of the Sound Connect app. Here, you can allow the headphones to detect your actions (such as sitting down or moving around) and adjust the noise canceling accordingly.</p><p>You can also set them to change depending on what time you tend to things, so you don't have to worry about playing with settings. The headphones will learn your routine and react accordingly. It's well worth trying, but you might find — as I did — the accuracy is a little unnerving.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/entertainment/netflix/3-best-crime-miniseries-on-netflix-to-binge-watch-in-one-weekend">3 best crime miniseries on Netflix to binge-watch in one weekend</a></li><li><a href="https://www.tomsguide.com/ai/scammers-love-christmas-heres-how-ai-can-help-you-spot-holiday-frauds">Scammers love Christmas — here’s how AI can help you spot holiday frauds</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Just got a pair of Bose QuietComfort headphones? Here are the first 5 things you should do ]]></title>
                                                                                                <dc:content><![CDATA[ <p>So you've just opened your new pair of cans — a pair of <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-headphones">Bose QuietComfort headphones</a>, ready to block out all the worst noises of the world. But before you go out on a proper road test, there are a few things to make sure that they're working their best.</p><p>After all, they might be some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a>, but there are a few key things to do to make sure that you get the most out of them. So get your phone good to go, reset that App Store password so that you can get downloading and get those test tracks ready.</p><div class="product"><a data-dimension112="12571eb4-54f8-40d0-a3de-5ae4e19edf81" data-action="Deal Block" data-label="QuietComfort Headphones" data-dimension48="QuietComfort Headphones" data-dimension25="$199" href="https://www.amazon.com/dp/B0D4Z9C562/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YmXJvbwXhi7xr7vPRU4WYg" name="Bose QuietComfort Headphones on white.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YmXJvbwXhi7xr7vPRU4WYg.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Bose QuietComfort Headphones offer excellent ANC without breaking the bank. They're very light and comfortable as well, and boast solid sound quality. 24 hours of battery isn't the best, but they're a great option if you want Bose ANC without the Ultra price.<a class="view-deal button" href="https://www.amazon.com/dp/B0D4Z9C562/" target="_blank" rel="nofollow" data-dimension112="12571eb4-54f8-40d0-a3de-5ae4e19edf81" data-action="Deal Block" data-label="QuietComfort Headphones" data-dimension48="QuietComfort Headphones" data-dimension25="$199">View Deal</a></p></div><h3 class="article-body__section" id="section-1-download-the-bose-app"><span>1. Download the Bose app</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3934px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5abzM33f4QTrcNMRBgHHdn" name="IMG_0018.jpg" alt="Bose QuietComfort Ultra Earbuds" src="https://cdn.mos.cms.futurecdn.net/5abzM33f4QTrcNMRBgHHdn.jpg" mos="" align="middle" fullscreen="" width="3934" height="2213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The first thing to do is download the Bose app — it might sound obvious, but its easy enough to forget. A friend of mine didn't even know that his earbuds had an application, and missed out on loads of features.</p><p>The app in question is simply called "Bose." You'll find it in the iOS App Store or the Google Play store. Download it, and you can start playing with the features of your new headphones.</p><p>Once installed, you'll need to create an account. It's not <em>entirely </em>necessary, but you do get helpful updates from Bose about new products and features. Once logged in, you'll need to connect your headphones.</p><p>Make sure your headphones are connected to your phone in the settings menu, and then head back to the app. The app will detect your headphones, et voila — connected!</p><p>Now you can play with more features than you'll ever know what to do with.</p><h3 class="article-body__section" id="section-2-adjust-the-eq"><span>2. Adjust the EQ</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4EuSKxY4xk7PNJ2Bh5bcsG" name="TG_Bose-QC-Headphones-vs-Bose-700_7.jpg" alt="Reviewer testing ANC performance on QC Headphones outside" src="https://cdn.mos.cms.futurecdn.net/4EuSKxY4xk7PNJ2Bh5bcsG.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Out of the box, the QuietComfort Headphones are quite bassy. If you enjoy loads of low-end you're in for a sonic treat, but I prefer some extra detail for a more engaging audio experience.</p><p>If you're like me, then you'll want to adjust the sound slightly to get just the right level. Find the EQ section in the Bose app — it's aptly named "eq" — and then get adjusting.</p><p>I like to bring the bass down a couple of segments. Around -1 or -2 will do it. That will rein in the low end. Then, for some extra dimension, I like to raise the highs. Again, not by much, around +2 or +3. There are only three adjustment bands here, so there's not much to get wrong. And if you do, there's the ever helpful reset button.</p><h3 class="article-body__section" id="section-3-familiarize-yourself-with-the-controls"><span>3. Familiarize yourself with the controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2902px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CjReonujLN7p9ciSZovSjL" name="Bose QC Headphones-12.jpg" alt="Bose QuietComfort Headphones worn by reviewer Alex Bracetti" src="https://cdn.mos.cms.futurecdn.net/CjReonujLN7p9ciSZovSjL.jpg" mos="" align="middle" fullscreen="" width="2902" height="1632" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls attached to the Bose QuietComfort headphones are very intuitive, but as with all headphones, you can't see them when you want to use them. Spending a little time to get used to where they are and what they do makes sure you won't be feeling around when you need to change the ANC mode in a pinch.</p><p>The left earcup houses the ANC button, and then the right earcup has the playback controls. The button towards the rear of the right earcup acts as volume up and skip with a double tap, while the bottom button lowers volume and rewinds with a double tap.</p><p>The middle button plays and pauses your music. Unlike other headphones, you can't change what these controls do, so it's worth sitting down for a while to make sure you know what they all do.</p><h3 class="article-body__section" id="section-4-get-multipoint-working"><span>4. Get multipoint working</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2299px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="KFaznsQY5avMpPXcvgDw6n" name="Bose QC Headphones-4.jpg" alt="Bose QuietComfort Headphones held up against a painted backdrop" src="https://cdn.mos.cms.futurecdn.net/KFaznsQY5avMpPXcvgDw6n.jpg" mos="" align="middle" fullscreen="" width="2299" height="1293" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you've got a couple of devices that you'd like to use with your new headphones, there's a great way to instantly switch between the two without dipping into a settings menu every time. </p><p>In the Bose app, find the "Multi-point" pane, and then follow the on-screen instructions to get your headphones connected to your devices. From there, you just need to play audio on whatever device you want to listen with, and the headphones will switch over with a quick beep!</p><p>If you're going to be listening to music on your phone and then need your cans for a work call on your laptop, multi-point is a game-changer. It only works with two devices, but it's still very useful.</p><h3 class="article-body__section" id="section-5-create-some-noise-canceling-modes"><span>5. Create some noise canceling modes</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2680px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="Jbq8YEGVxyAhVGA9S9XPNC" name="Bose QC Headphones-5.jpg" alt="Bose QuietComfort Headphones on grass" src="https://cdn.mos.cms.futurecdn.net/Jbq8YEGVxyAhVGA9S9XPNC.jpg" mos="" align="middle" fullscreen="" width="2680" height="1508" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Straight out of the box, you have two ANC modes; On and transparency. There is no way of turning off the noise canceling system, unfortunately. However, you can create your own custom modes for different environments.</p><p>You can make your own modes in the "modes" panel. There you'll find the 'on' and 'aware' (transparency) modes, along with a custom option. Hit the custom option, and you can set ANC settings for different places.</p><p>You might want the highest level and wind-blocker for walking around, but only need light ANC for when you're working in an office. You can create these modes here, and then cycle through them with the ANC button.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/vr-ar/the-steam-frame-is-the-vr-headset-ive-longed-for-but-i-cant-get-over-this-one-key-spec">The Steam Frame is the VR headset I've longed for — but I can't get over this one key spec</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/i-found-an-lg-oled-tv-on-sale-for-usd549-and-it-feels-like-black-friday-never-ended">I found an LG OLED TV on sale for $549 and it feels like Black Friday never ended</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/just-got-a-pair-of-bose-quietcomfort-headphones-here-are-the-first-5-things-you-should-do</link>
                                                                            <description>
                            <![CDATA[ The QuietComfort line is filled with excellent headphones — here's what you should do with your brand new cans. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Nn9SueAkojtrAG4xH9g7EJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MwSL28MbxFN7bzc9BgL3v4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 25 Dec 2025 09:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MwSL28MbxFN7bzc9BgL3v4-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bose QuietComfort headphones held up against a blue sky]]></media:description>                                                            <media:text><![CDATA[Bose QuietComfort headphones held up against a blue sky]]></media:text>
                                <media:title type="plain"><![CDATA[Bose QuietComfort headphones held up against a blue sky]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MwSL28MbxFN7bzc9BgL3v4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So you've just opened your new pair of cans — a pair of <a href="https://www.tomsguide.com/reviews/bose-quietcomfort-headphones">Bose QuietComfort headphones</a>, ready to block out all the worst noises of the world. But before you go out on a proper road test, there are a few things to make sure that they're working their best.</p><p>After all, they might be some of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best noise canceling headphones</a>, but there are a few key things to do to make sure that you get the most out of them. So get your phone good to go, reset that App Store password so that you can get downloading and get those test tracks ready.</p><div class="product"><a data-dimension112="12571eb4-54f8-40d0-a3de-5ae4e19edf81" data-action="Deal Block" data-label="QuietComfort Headphones" data-dimension48="QuietComfort Headphones" data-dimension25="$199" href="https://www.amazon.com/dp/B0D4Z9C562/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="YmXJvbwXhi7xr7vPRU4WYg" name="Bose QuietComfort Headphones on white.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YmXJvbwXhi7xr7vPRU4WYg.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Bose QuietComfort Headphones offer excellent ANC without breaking the bank. They're very light and comfortable as well, and boast solid sound quality. 24 hours of battery isn't the best, but they're a great option if you want Bose ANC without the Ultra price.<a class="view-deal button" href="https://www.amazon.com/dp/B0D4Z9C562/" target="_blank" rel="nofollow" data-dimension112="12571eb4-54f8-40d0-a3de-5ae4e19edf81" data-action="Deal Block" data-label="QuietComfort Headphones" data-dimension48="QuietComfort Headphones" data-dimension25="$199">View Deal</a></p></div><h3 class="article-body__section" id="section-1-download-the-bose-app"><span>1. Download the Bose app</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3934px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5abzM33f4QTrcNMRBgHHdn" name="IMG_0018.jpg" alt="Bose QuietComfort Ultra Earbuds" src="https://cdn.mos.cms.futurecdn.net/5abzM33f4QTrcNMRBgHHdn.jpg" mos="" align="middle" fullscreen="" width="3934" height="2213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The first thing to do is download the Bose app — it might sound obvious, but its easy enough to forget. A friend of mine didn't even know that his earbuds had an application, and missed out on loads of features.</p><p>The app in question is simply called "Bose." You'll find it in the iOS App Store or the Google Play store. Download it, and you can start playing with the features of your new headphones.</p><p>Once installed, you'll need to create an account. It's not <em>entirely </em>necessary, but you do get helpful updates from Bose about new products and features. Once logged in, you'll need to connect your headphones.</p><p>Make sure your headphones are connected to your phone in the settings menu, and then head back to the app. The app will detect your headphones, et voila — connected!</p><p>Now you can play with more features than you'll ever know what to do with.</p><h3 class="article-body__section" id="section-2-adjust-the-eq"><span>2. Adjust the EQ</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4EuSKxY4xk7PNJ2Bh5bcsG" name="TG_Bose-QC-Headphones-vs-Bose-700_7.jpg" alt="Reviewer testing ANC performance on QC Headphones outside" src="https://cdn.mos.cms.futurecdn.net/4EuSKxY4xk7PNJ2Bh5bcsG.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Out of the box, the QuietComfort Headphones are quite bassy. If you enjoy loads of low-end you're in for a sonic treat, but I prefer some extra detail for a more engaging audio experience.</p><p>If you're like me, then you'll want to adjust the sound slightly to get just the right level. Find the EQ section in the Bose app — it's aptly named "eq" — and then get adjusting.</p><p>I like to bring the bass down a couple of segments. Around -1 or -2 will do it. That will rein in the low end. Then, for some extra dimension, I like to raise the highs. Again, not by much, around +2 or +3. There are only three adjustment bands here, so there's not much to get wrong. And if you do, there's the ever helpful reset button.</p><h3 class="article-body__section" id="section-3-familiarize-yourself-with-the-controls"><span>3. Familiarize yourself with the controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2902px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CjReonujLN7p9ciSZovSjL" name="Bose QC Headphones-12.jpg" alt="Bose QuietComfort Headphones worn by reviewer Alex Bracetti" src="https://cdn.mos.cms.futurecdn.net/CjReonujLN7p9ciSZovSjL.jpg" mos="" align="middle" fullscreen="" width="2902" height="1632" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The controls attached to the Bose QuietComfort headphones are very intuitive, but as with all headphones, you can't see them when you want to use them. Spending a little time to get used to where they are and what they do makes sure you won't be feeling around when you need to change the ANC mode in a pinch.</p><p>The left earcup houses the ANC button, and then the right earcup has the playback controls. The button towards the rear of the right earcup acts as volume up and skip with a double tap, while the bottom button lowers volume and rewinds with a double tap.</p><p>The middle button plays and pauses your music. Unlike other headphones, you can't change what these controls do, so it's worth sitting down for a while to make sure you know what they all do.</p><h3 class="article-body__section" id="section-4-get-multipoint-working"><span>4. Get multipoint working</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2299px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="KFaznsQY5avMpPXcvgDw6n" name="Bose QC Headphones-4.jpg" alt="Bose QuietComfort Headphones held up against a painted backdrop" src="https://cdn.mos.cms.futurecdn.net/KFaznsQY5avMpPXcvgDw6n.jpg" mos="" align="middle" fullscreen="" width="2299" height="1293" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you've got a couple of devices that you'd like to use with your new headphones, there's a great way to instantly switch between the two without dipping into a settings menu every time. </p><p>In the Bose app, find the "Multi-point" pane, and then follow the on-screen instructions to get your headphones connected to your devices. From there, you just need to play audio on whatever device you want to listen with, and the headphones will switch over with a quick beep!</p><p>If you're going to be listening to music on your phone and then need your cans for a work call on your laptop, multi-point is a game-changer. It only works with two devices, but it's still very useful.</p><h3 class="article-body__section" id="section-5-create-some-noise-canceling-modes"><span>5. Create some noise canceling modes</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2680px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="Jbq8YEGVxyAhVGA9S9XPNC" name="Bose QC Headphones-5.jpg" alt="Bose QuietComfort Headphones on grass" src="https://cdn.mos.cms.futurecdn.net/Jbq8YEGVxyAhVGA9S9XPNC.jpg" mos="" align="middle" fullscreen="" width="2680" height="1508" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Straight out of the box, you have two ANC modes; On and transparency. There is no way of turning off the noise canceling system, unfortunately. However, you can create your own custom modes for different environments.</p><p>You can make your own modes in the "modes" panel. There you'll find the 'on' and 'aware' (transparency) modes, along with a custom option. Hit the custom option, and you can set ANC settings for different places.</p><p>You might want the highest level and wind-blocker for walking around, but only need light ANC for when you're working in an office. You can create these modes here, and then cycle through them with the ANC button.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/vr-ar/the-steam-frame-is-the-vr-headset-ive-longed-for-but-i-cant-get-over-this-one-key-spec">The Steam Frame is the VR headset I've longed for — but I can't get over this one key spec</a></li><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/i-found-an-lg-oled-tv-on-sale-for-usd549-and-it-feels-like-black-friday-never-ended">I found an LG OLED TV on sale for $549 and it feels like Black Friday never ended</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The WH-1000XM6's spatial audio settings aren't very good — here's how I'd improve them ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Nearly every brand right now has its own version of spatial audio. Apple has the imaginatively named "Spatial Audio," and arguably leads the Dolby Atmos pack. The Sonos Ace contain Dolby Atmos programming for music and movies, and then the Bose QuietComfort Ultra have "Immersive Audio," the brand's own take that works with existing stereo mixes.</p><p>Sony, too, has its own version. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">WH-1000XM6</a> (and the XM5 that came before them) have "360 Reality Audio," and it <em>used </em>to be a viable option for spatial audio on the go. Now, though, it's all gotten a bit weird.</p><p>As Tidal removed the format from its service, the XM-series of headphones has been left without its primary source of spatial-mixed tunes. Instead, you're now left with a couple of services that play recorded concerts, and the so-called "Spatial Audio Upmix," which is better suited to movies and TV than it is music.</p><p>So what's going on — and how should Sony move on in the future?</p><h2 id="i-hope-you-like-japanese-jazz-concerts">I hope you like Japanese Jazz concerts</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="FP8ouWYoG2nhsxPHVnRArb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/FP8ouWYoG2nhsxPHVnRArb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Sony headphones feature one of the most involved spatial audio setups around. While most just kind of work, with minimal setup, the XM6 plays sounds from different directions so that it can determine where you are and how you perceive spatial sounds.</p><p>It's not quite as annoying as the old setup from previous headphones — those saw you taking pictures of your ears. It would also be less irritating if you got something good out of it.</p><p>But you just kind of don't. Once you've finished ticking boxes and selecting where sounds are coming from, you're asked to optimize some services. The list for me was as follows:</p><ul><li>Artist Connection</li><li>Nugs</li><li>360 Reality Audio Live</li></ul><p>Never heard of those three streaming services? Me neither, until Sony spat them out at me once I'd finished my 360 Reality Audio setup. Artist Connection is a streaming service for live concerts. So is Nugs. And so is 360 Reality Audio Live.</p><p>The former costs $15 a month, Nugs costs the same, leaving 360 Reality Audio as the only free option. It contains, as you might have already guessed, live recordings of concerts. Mostly Japanese Jazz concerts. So, I hope you like complex drum rhythms and scat — because that's about all you're going to get.</p><p>Tidal used to be on the list, but then it pulled its spatial audio offerings, leaving Sony users high and dry. If you really want to get some spatial audio, then you're going to have to head over to Amazon Music Unlimited — a music service I pay for only for work.</p><h2 id="upmix-this">Upmix this</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EqLwiimJxmTAnfouHsqjxC" name="Sony WH-1000XM6--02" alt="Side view of black Sony WH-1000XM6 noise-cancelling headphones held outdoors in sunshine" src="https://cdn.mos.cms.futurecdn.net/EqLwiimJxmTAnfouHsqjxC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There remains another option if you want your music to sound more spacious. It's called "360 Upmix," and, much like Bose's Immersive Audio, it takes existing music mixes and makes them wider. There's a large hitch, though. It's designed for movies and TV, and it's called cinema.</p><p>Turn it on for your visual content, and it's pretty cool. You get a great surround bubble for your movies, and sounds feel like they're coming from all around you. It's fun. I like it.</p><p>Turn it on for music, however, and things aren't as rosy. Your listening is thinner, with some frequencies that seem to completely evaporate. Instruments come from bizarre places, and all of the impact is gone. Not good.</p><h2 id="what-can-be-done">What can be done?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GtiecLR9sgtikA7pFybayC" name="Sony WH-1000XM6--15" alt="Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table" src="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Amazon Music Unlimited is a few things: expensive, irritating and not particularly widely adopted. <a href="https://www.tomsguide.com/entertainment/music-streaming/i-just-ditched-spotify-for-apple-music-and-these-3-unique-features-already-have-me-hooked">Apple Music</a> is more widely used, and it features the (personally) superior Dolby Atmos mixes. The Sonos Ace headphones work with both versions of spatial audio, so why can't Sony's?</p><p>There's the first step to making the spatial audio inside the XM-series work better. Support more music services, including those from the arch enemy. </p><p>Improving 360 Upmix for music is the other part. At the moment, it works very well for movies, but Bose's feature works great for both. Perhaps we need two modes for 360 Upmix: a movie mode and a music mode. </p><p>Either way, spatial audio in Sony's <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> is irritating at best and downright nonsense at worst. Thankfully, it's all software, so I don't see why Sony can't improve on the formula without releasing a new pair of headphones.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/3-best-crime-miniseries-on-netflix-to-binge-watch-in-one-weekend">3 best crime miniseries on Netflix to binge-watch in one weekend</a></li><li><a href="https://www.tomsguide.com/ai/scammers-love-christmas-heres-how-ai-can-help-you-spot-holiday-frauds">Scammers love Christmas — here’s how AI can help you spot holiday frauds</a></li></ul><div data-widget-type="productname" data-model-name="Sony WH-1000XM6"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/the-wh-1000xm6s-spatial-audio-settings-arent-very-good-heres-how-id-improve-them</link>
                                                                            <description>
                            <![CDATA[ Spatial audio is trying its best to take off, but the implementation of it in the likes of the Sony WH-1000XM6 seems to be holding it back. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Doqse6FVJwATJFD8Xm8fgT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/e94eDhwrTmbmewFaVvrQ3D-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 23 Dec 2025 10:53:25 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/e94eDhwrTmbmewFaVvrQ3D-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Black and white models of the Sony WH-1000XM6 noise-cancelling headphones outdoors in sunshine]]></media:description>                                                            <media:text><![CDATA[Black and white models of the Sony WH-1000XM6 noise-cancelling headphones outdoors in sunshine]]></media:text>
                                <media:title type="plain"><![CDATA[Black and white models of the Sony WH-1000XM6 noise-cancelling headphones outdoors in sunshine]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/e94eDhwrTmbmewFaVvrQ3D-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Nearly every brand right now has its own version of spatial audio. Apple has the imaginatively named "Spatial Audio," and arguably leads the Dolby Atmos pack. The Sonos Ace contain Dolby Atmos programming for music and movies, and then the Bose QuietComfort Ultra have "Immersive Audio," the brand's own take that works with existing stereo mixes.</p><p>Sony, too, has its own version. The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sony-wh-1000xm6-review">WH-1000XM6</a> (and the XM5 that came before them) have "360 Reality Audio," and it <em>used </em>to be a viable option for spatial audio on the go. Now, though, it's all gotten a bit weird.</p><p>As Tidal removed the format from its service, the XM-series of headphones has been left without its primary source of spatial-mixed tunes. Instead, you're now left with a couple of services that play recorded concerts, and the so-called "Spatial Audio Upmix," which is better suited to movies and TV than it is music.</p><p>So what's going on — and how should Sony move on in the future?</p><h2 id="i-hope-you-like-japanese-jazz-concerts">I hope you like Japanese Jazz concerts</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="FP8ouWYoG2nhsxPHVnRArb" name="Sony WH-1000XM6" alt="Sony WH-1000XM6" src="https://cdn.mos.cms.futurecdn.net/FP8ouWYoG2nhsxPHVnRArb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Sony headphones feature one of the most involved spatial audio setups around. While most just kind of work, with minimal setup, the XM6 plays sounds from different directions so that it can determine where you are and how you perceive spatial sounds.</p><p>It's not quite as annoying as the old setup from previous headphones — those saw you taking pictures of your ears. It would also be less irritating if you got something good out of it.</p><p>But you just kind of don't. Once you've finished ticking boxes and selecting where sounds are coming from, you're asked to optimize some services. The list for me was as follows:</p><ul><li>Artist Connection</li><li>Nugs</li><li>360 Reality Audio Live</li></ul><p>Never heard of those three streaming services? Me neither, until Sony spat them out at me once I'd finished my 360 Reality Audio setup. Artist Connection is a streaming service for live concerts. So is Nugs. And so is 360 Reality Audio Live.</p><p>The former costs $15 a month, Nugs costs the same, leaving 360 Reality Audio as the only free option. It contains, as you might have already guessed, live recordings of concerts. Mostly Japanese Jazz concerts. So, I hope you like complex drum rhythms and scat — because that's about all you're going to get.</p><p>Tidal used to be on the list, but then it pulled its spatial audio offerings, leaving Sony users high and dry. If you really want to get some spatial audio, then you're going to have to head over to Amazon Music Unlimited — a music service I pay for only for work.</p><h2 id="upmix-this">Upmix this</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EqLwiimJxmTAnfouHsqjxC" name="Sony WH-1000XM6--02" alt="Side view of black Sony WH-1000XM6 noise-cancelling headphones held outdoors in sunshine" src="https://cdn.mos.cms.futurecdn.net/EqLwiimJxmTAnfouHsqjxC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There remains another option if you want your music to sound more spacious. It's called "360 Upmix," and, much like Bose's Immersive Audio, it takes existing music mixes and makes them wider. There's a large hitch, though. It's designed for movies and TV, and it's called cinema.</p><p>Turn it on for your visual content, and it's pretty cool. You get a great surround bubble for your movies, and sounds feel like they're coming from all around you. It's fun. I like it.</p><p>Turn it on for music, however, and things aren't as rosy. Your listening is thinner, with some frequencies that seem to completely evaporate. Instruments come from bizarre places, and all of the impact is gone. Not good.</p><h2 id="what-can-be-done">What can be done?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GtiecLR9sgtikA7pFybayC" name="Sony WH-1000XM6--15" alt="Black, white and blue models of the Sony WH-1000XM6 noise-cancelling headphones on a marble table" src="https://cdn.mos.cms.futurecdn.net/GtiecLR9sgtikA7pFybayC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Amazon Music Unlimited is a few things: expensive, irritating and not particularly widely adopted. <a href="https://www.tomsguide.com/entertainment/music-streaming/i-just-ditched-spotify-for-apple-music-and-these-3-unique-features-already-have-me-hooked">Apple Music</a> is more widely used, and it features the (personally) superior Dolby Atmos mixes. The Sonos Ace headphones work with both versions of spatial audio, so why can't Sony's?</p><p>There's the first step to making the spatial audio inside the XM-series work better. Support more music services, including those from the arch enemy. </p><p>Improving 360 Upmix for music is the other part. At the moment, it works very well for movies, but Bose's feature works great for both. Perhaps we need two modes for 360 Upmix: a movie mode and a music mode. </p><p>Either way, spatial audio in Sony's <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> is irritating at best and downright nonsense at worst. Thankfully, it's all software, so I don't see why Sony can't improve on the formula without releasing a new pair of headphones.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness/ditch-the-push-ups-this-dumbbell-workout-will-help-you-carve-out-a-stronger-upper-body-and-core-in-just-30-minutes">Ditch the push-ups — this dumbbell workout will help you carve out a stronger upper body and core in just 30 minutes</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/3-best-crime-miniseries-on-netflix-to-binge-watch-in-one-weekend">3 best crime miniseries on Netflix to binge-watch in one weekend</a></li><li><a href="https://www.tomsguide.com/ai/scammers-love-christmas-heres-how-ai-can-help-you-spot-holiday-frauds">Scammers love Christmas — here’s how AI can help you spot holiday frauds</a></li></ul><div data-widget-type="productname" data-model-name="Sony WH-1000XM6"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The headphones I use for long haul travel are down to their lowest price ever — save $170 on the Sonos Ace ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When I know I'm in for a longer journey, be that on a train, in a car, or packed inside an airliner, there's only one pair of headphones that I turn to — the Sonos Ace. Not only do they sound great for music, they're my preferred way of watching movies on the go.</p><p>They're now back down to their lowest price, so you can get a pair for your lengthier traveling. The <a href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow">Sonos Ace are now just $279 at Amazon</a>, $170 off their full price. The perfect last minute Holiday gift for a loved one (or yourself).</p><div class="product"><a data-dimension112="d0785db4-7d21-45f9-8c59-071c76208c69" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$279" href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JTt9aiToSsVUxLAaakrBED" name="sonos axce" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JTt9aiToSsVUxLAaakrBED.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sonos Ace are a great pair of travel headphones. The ANC is excellent, and they sound good to boot. They're perfect for watching movies on the go, thanks to their great Spatial Audio component. They're comfortable, and last for 30 hours — what more could you want?<a class="view-deal button" href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow" data-dimension112="d0785db4-7d21-45f9-8c59-071c76208c69" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$279">View Deal</a></p></div><p>The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> are one of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best pairs of wireless headphones</a> if you're looking for a great spatial audio experience. Sonos, known more for surround sound soundbars and smart speakers, put every ounce of Dolby Atmos experience into the Sonos Ace, and we've ended up with the best pair of headphones for spatial listening.</p><p>They're a more convincingly natural-sounding spatial listen than the likes of even the AirPods Max, and they work way better for movies than just about anything else. That makes them great for travel.</p><p>After all, what better way to wear away the hours of a long-haul flight than to watch your favorite movies? The Sonos Ace are the final piece of the puzzle, bringing the surround sound and impactful bass for a cinema experience on the go. I love it — Transformers (don't judge me) never sounded better in the back of a car than with the Sonos Ace.</p><p>They're great at everything else, of course. The ANC makes blocks out for your fellow passengers, so you can enjoy your movies, and their comfortable fit ensures you can wear them for the whole trip.</p><p>30 hours of battery life is more than enough for even the longest flight, and it will also get you to your hotel when you arrive. Looking for a lovely Holiday gift for your movie buff family member? Forget that new 4K Blu-ray player — this is what they want.</p><div data-widget-type="review" data-model-name="Sonos Ace"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/over-ear-headphones/the-headphones-i-use-for-long-haul-travel-are-down-to-their-lowest-price-ever-save-usd170-on-the-sonos-ace</link>
                                                                            <description>
                            <![CDATA[ The Sonos Ace are my chosen long travel headphones, and they're now down to a their lowest price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YxTonDrMNayzhv39JGT3SK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XYCCtBz6LUNF8uLRRqtEU5-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 22 Dec 2025 10:50:55 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Over-Ear Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy and her generous collection of headphones have found a new home — Tom&#039;s Guide! After a two-and-a-half-year stint as iMore&#039;s resident audiophile, Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XYCCtBz6LUNF8uLRRqtEU5-1280-80.jpg">
                                                            <media:credit><![CDATA[Sonos]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sonos Ace with deals tag]]></media:description>                                                            <media:text><![CDATA[Sonos Ace with deals tag]]></media:text>
                                <media:title type="plain"><![CDATA[Sonos Ace with deals tag]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XYCCtBz6LUNF8uLRRqtEU5-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When I know I'm in for a longer journey, be that on a train, in a car, or packed inside an airliner, there's only one pair of headphones that I turn to — the Sonos Ace. Not only do they sound great for music, they're my preferred way of watching movies on the go.</p><p>They're now back down to their lowest price, so you can get a pair for your lengthier traveling. The <a href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow">Sonos Ace are now just $279 at Amazon</a>, $170 off their full price. The perfect last minute Holiday gift for a loved one (or yourself).</p><div class="product"><a data-dimension112="d0785db4-7d21-45f9-8c59-071c76208c69" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$279" href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="JTt9aiToSsVUxLAaakrBED" name="sonos axce" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/JTt9aiToSsVUxLAaakrBED.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Sonos Ace are a great pair of travel headphones. The ANC is excellent, and they sound good to boot. They're perfect for watching movies on the go, thanks to their great Spatial Audio component. They're comfortable, and last for 30 hours — what more could you want?<a class="view-deal button" href="https://www.amazon.com/dp/B0CYHGTMNH?" target="_blank" rel="nofollow" data-dimension112="d0785db4-7d21-45f9-8c59-071c76208c69" data-action="Deal Block" data-label="Ace" data-dimension48="Ace" data-dimension25="$279">View Deal</a></p></div><p>The <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> are one of the <a href="https://www.tomsguide.com/us/best-noise-cancelling-headphones,review-5566.html">best pairs of wireless headphones</a> if you're looking for a great spatial audio experience. Sonos, known more for surround sound soundbars and smart speakers, put every ounce of Dolby Atmos experience into the Sonos Ace, and we've ended up with the best pair of headphones for spatial listening.</p><p>They're a more convincingly natural-sounding spatial listen than the likes of even the AirPods Max, and they work way better for movies than just about anything else. That makes them great for travel.</p><p>After all, what better way to wear away the hours of a long-haul flight than to watch your favorite movies? The Sonos Ace are the final piece of the puzzle, bringing the surround sound and impactful bass for a cinema experience on the go. I love it — Transformers (don't judge me) never sounded better in the back of a car than with the Sonos Ace.</p><p>They're great at everything else, of course. The ANC makes blocks out for your fellow passengers, so you can enjoy your movies, and their comfortable fit ensures you can wear them for the whole trip.</p><p>30 hours of battery life is more than enough for even the longest flight, and it will also get you to your hotel when you arrive. Looking for a lovely Holiday gift for your movie buff family member? Forget that new 4K Blu-ray player — this is what they want.</p><div data-widget-type="review" data-model-name="Sonos Ace"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>