<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="https://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/samsung" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from Tom's Guide in Samsung ]]></title>
                <link>https://www.tomsguide.com/tag/samsung</link>
        <description><![CDATA[ All the latest samsung content from the Tom's Guide team ]]></description>
                                    <lastBuildDate>Wed, 29 Jul 2026 11:46:15 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 review: Wide for the win ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-review-wide-for-the-win</link>
                                                                            <description>
                            <![CDATA[ I tested the Galaxy Z Fold 8 and really like the compact and wide design, eye-popping Flex Titanium display and smart AI features. But the lack of telephoto zoom is a bummer. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">27Jmty7SGrhhXELtrwG3zi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4RtoBDsrwS8sGu7dtM78Xh-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 29 Jul 2026 11:46:15 +0000</pubDate>                                                                                                                                <updated>Wed, 29 Jul 2026 17:41:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/4RtoBDsrwS8sGu7dtM78Xh-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 shown open on a stone bench]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 shown open on a stone bench]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 shown open on a stone bench]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4RtoBDsrwS8sGu7dtM78Xh-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been reviewing <a href="https://www.tomsguide.com/best-picks/best-foldable-phones"><u>foldable phones</u></a> since the very first Galaxy Z Fold, and there’s something that’s “just right” about the Galaxy Z Fold 8. It’s super light, gives you a wide front display, and the big inside screen has two distinct orientations for video watching and browsing or reading.</p><p>Other perks include a much less noticeable crease, an anti-reflective coating for the main display and handy new AI features that take full advantage of the wide canvas.</p><p>But Samsung has definitely made some trade-offs, like no telephoto zoom lens. But now that I’ve been living with the Fold 8, this feels like the future of foldables — and not just because Apple is reportedly making one just like this.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-review-release-date-and-price"><span>Galaxy Z Fold 8 review: Release date and price</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="F6qr2SDN3gLqxsmgpqVYsY" name="Fold 8 back 2" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/F6qr2SDN3gLqxsmgpqVYsY.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 Galaxy Z Fold 8 is just 7 ounces and easy to slip into a pocket. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 has a release date of August 7th and is available to pre-order now.</p><p>This foldable has a starting price of $1,899/£1,699/AU$2,699 for 12GB of RAM and 256GB of storage. You’ll pay $2,099 or $200 more for the 512GB model and $2,499 for the 1TB Fold 8 with 16GB of RAM and 1TB of storage.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p><strong>RAM</strong></p></td><td  ><p><strong>United States</strong></p></td><td  ><p><strong>United Kingdom</strong></p></td><td  ><p><strong>Australia</strong></p></td></tr><tr><td class="firstcol " ><p><strong>256GB</strong></p></td><td  ><p>12GB</p></td><td  ><p>$1,899.99</p></td><td  ><p>£1,699.00</p></td><td  ><p>AU$2,699.00</p></td></tr><tr><td class="firstcol " ><p><strong>512GB</strong></p></td><td  ><p>12GB</p></td><td  ><p>$2,099.99</p></td><td  ><p>£1,869.00</p></td><td  ><p>AU$2,999.00</p></td></tr><tr><td class="firstcol " ><p><strong>1TB</strong></p></td><td  ><p>16GB</p></td><td  ><p>$2,499.99</p></td><td  ><p>£2,209.00</p></td><td  ><p>AU$3,599.00</p></td></tr></tbody></table></div><p>The Galaxy Z Fold 8 Ultra starts at a steeper $2,099, but it also gives you bigger displays, a telephoto zoom and larger battery.</p><h2 id="galaxy-z-fold-8-specs">Galaxy Z Fold 8 specs</h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $1,899 / £1,699 /  AU$2,699</p></td></tr><tr><td class="firstcol " ><p><strong>Release Date</strong></p></td><td  ><p>August 7</p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong></p></td><td  ><p>5.5 inches </p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong></p></td><td  ><p>7.6 inches </p></td></tr><tr><td class="firstcol " ><p><strong>Chip </strong></p></td><td  ><p>Snapdragon 8 Elite </p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB, 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>50MP wide, 50MP Ultra wide (10x digital zoom)</p></td></tr><tr><td class="firstcol " ><p><strong>Selfie cameras</strong></p></td><td  ><p>10MP (main), 10MP (cover)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery </strong></p></td><td  ><p>4,800 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Wired/Wireless Charging</strong></p></td><td  ><p>45W, 20W</p></td></tr><tr><td class="firstcol " ><p><strong>Size open</strong></p></td><td  ><p>161.4 x 123.9 x 4.5 mm (unfolded)</p></td></tr><tr><td class="firstcol " ><p><strong>Size closed</strong></p></td><td  ><p>123.9 x 81.9 x 9.7 mm (4.88 × 3.22 × 0.38 inches)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>201 grams (7.09 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Lavender, Graphite, Cream, Pistachio (online)</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-what-i-like"><span>What I Like</span></h3><h2 id="the-passport-like-design">The passport-like design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2380px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="mvgDxNKt4bSCeKgLQJrseY" name="Galaxy Z Fold 8 review-5" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/mvgDxNKt4bSCeKgLQJrseY.jpg" mos="" align="middle" fullscreen="" width="2380" height="1339" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The 5.5-inch cover display is short but wide enough to run apps comfortably. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Galaxy Z Fold 8 is about the same size as a passport, which makes it really easy to slip into a front pocket. And at 201 grams (7.1 ounces), this is the lightest book-style foldable in the world.</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:3540px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="xWJMf4qbWeA7HP2ocEhjbZ" name="Galaxy Z Fold 8 review-7" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/xWJMf4qbWeA7HP2ocEhjbZ.jpg" mos="" align="middle" fullscreen="" width="3540" height="1991" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The front screen is tailor-made for TikTok scrolling. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I really like the 10:16 front display for scrolling through TikTok videos, and there’s plenty of room for typing with two hands. Reaching across the display with one hand can be a stretch, but overall using the Fold 8 just feels right compared to the taller Fold 8 Ultra.</p><p>Plus, opening the display is a lot easier versus the Galaxy Z Fold 7 and the Fold 8 unfolds almost perfectly flat. </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:2693px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="xsfHUrdQAp5k99yND4fgSY" name="Galaxy Z Fold 8 review-26" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/xsfHUrdQAp5k99yND4fgSY.jpg" mos="" align="middle" fullscreen="" width="2693" height="1515" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Thanks to Flex Titanium tech, the Galaxy Fold 8 is flat when unfolded. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As for colors, the Fold 8 comes in Lavender, Graphite and Cream, and there’s a Pistachio option online only. I prefer the Lavender hue on our review unit because it has more personality.</p><h2 id="the-display-is-awesome-especially-anti-glare-coating">The display is awesome (especially anti-glare coating)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2188px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Yi3SX3rGdTkh5HdALu76vY" name="Galaxy Z Fold 8 review-LIST2" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/Yi3SX3rGdTkh5HdALu76vY.jpg" mos="" align="middle" fullscreen="" width="2188" height="1231" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The anti-reflective 7.6-inch screen cuts down on glare outdoors.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If the crease on foldable phones has always bugged you, the Galaxy Z Fold 8’s main 7.6-inch display will make you happy. Thanks to Flex Titanium tech, the crease is much less visible than before.</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:2274px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="PP6Mk9VYuCweU6oJKijdcZ" name="Galaxy Z Fold 8 review-17" alt="Galaxy Z Fold 8 (right)" src="https://cdn.mos.cms.futurecdn.net/PP6Mk9VYuCweU6oJKijdcZ.jpg" mos="" align="middle" fullscreen="" width="2274" height="1279" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Fold 8 has smaller black bars but the viewing area is the same as Fold 8 Ultra. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung paired a titanium alloy film with a titanium base plate with micro-perforations that allow the display stack to adhere flush to the plate with virtually no air gaps. The result is a crease you can still feel but almost disappears when you’re viewing content. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@mspoonyg/video/7666429528071294222" data-video-id="7666429528071294222" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@mspoonyg" href="https://www.tiktok.com/@mspoonyg">@mspoonyg</a>                            <p></p><a target="_blank" title="♬ Thank You for Sunshine - House Duduk Music" href="https://www.tiktok.com/music/Thank-You-for-Sunshine-7650727836295612417">♬ Thank You for Sunshine - House Duduk Music</a></section>                    </blockquote></div>                <p>The bigger deal for me is the anti-reflective coating. It drastically cuts down on glare when viewing the Fold 8 outside. Check out the difference between the new Fold and the Fold 7.</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="XviVgfrucnRziFPJAYgcpA" name="Fold 8 display spider-man" alt="Galaxy Z Fold 8 Spider Man Brand New Day trailer" src="https://cdn.mos.cms.futurecdn.net/XviVgfrucnRziFPJAYgcpA.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 main 7.6-inch display has a 4:3 aspect ratio when you open it up. The benefit here is that you get smaller black bars above and below the display when watching videos versus the more square 8-inch Fold 8 Ultra.</p><p>The viewing area itself is not larger, but I found watching the Red Hot Chili Peppers documentary on Netflix pretty immersive, as well as the “Avengers: Doomsday” trailer.</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="rN8FsPNnJYUuecJ9J2oHpA" name="Fold 8 display 3.4" alt="Galaxy Z Fold 8 3:4 display for reading" src="https://cdn.mos.cms.futurecdn.net/rN8FsPNnJYUuecJ9J2oHpA.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>When you flip the Fold 8 around into portrait mode with the main display open, you get a 3:4 aspect ratio. This gives you more real estate vertically, making it the better option for surfing the web and reading ebooks.</p><h2 id="helpful-ai-features">Helpful AI 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aU3ngqVpjk6ewWQungWboA" name="Fold 8 Now Nudge" alt="Galaxy Z Fold 8 Now Nudge AI feature" src="https://cdn.mos.cms.futurecdn.net/aU3ngqVpjk6ewWQungWboA.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">Now Nudge will suggest apps to open in multi-window mode. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 8 has some AI features that I really like.</p><p>My favorite is Now Nudge, which prompts you to open a related app in Split View without having to leave the app you’re currently using.</p><p>For example, I received a text message asking if I was free for dinner next Friday at 7 p.m. A little calendar icon appeared, and when I tapped that I opened the Calendar app in split screen mode. That’s pretty handy.</p><p>Another super useful AI feature is My FanCam. When editing a video with multiple people in the frame, you can select the subject you want, and the Fold 8 will crop in and “follow” that person throughout the clip.</p><p>You can even choose the aspect ratio. This is great for sports parents, concert lovers and more, though it only works on humans — and only one at a time.</p><h2 id="very-snappy-performance">Very snappy performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3508px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CnV2R6YCsPFej5e7GpiWfZ" name="Galaxy Z Fold 8 review-24" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/CnV2R6YCsPFej5e7GpiWfZ.jpg" mos="" align="middle" fullscreen="" width="3508" height="1973" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Fold 8 is a blast for playing games on the go. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p><br>Powered by a Snapdragon 8 Elite Gen 5 for Galaxy chip, the Galaxy Z Fold 8 offers flagship-level performance on par with the Galaxy S26 Ultra. I mowed down several enemies in Call of Duty Mobile and raced around tracks in Asphalt 8 without seeing any slowdowns.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench (Single/Multicore)</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI </strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>3,659/11,020</p></td><td  ><p>47.35/12,454</p></td><td  ><p>72242</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Fold </strong></p></td><td  ><p>2.711/9,134</p></td><td  ><p>35.12/9,413</p></td><td  ><p>59663</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>3,052/9,735</p></td><td  ><p>41.21/10,812</p></td><td  ><p>61,299</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 (TensorFlow Lite QNN)</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3,871 / 9,968</p></td><td  ><p>46.6 / 12,260</p></td><td  ><p>48549 (Quantitized Score ML/Neural Engine)</p></td></tr></tbody></table></div><p>The Fold 8 is also a multitasking champ. I could run up to three apps on screen at once without any noticeable lag. For example, I scrolled through my inbox in Gmail while playing 311 Radio on Spotify and skimming through and zooming in on my photos in the Gallery app.</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:2879px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="77ZTA3cHAT3JoQVSNWAUNW" name="Galaxy Z Fold 8-15" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/77ZTA3cHAT3JoQVSNWAUNW.jpg" mos="" align="middle" fullscreen="" width="2879" height="1619" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">The Galaxy Z Fold 8 can run three apps at once. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Galaxy Z Fold 8 performed very well on our lab tests, too. It beats the iPhone 17 Pro Max on multi-core performance in Geekbench and in the 3DMark graphics benchmark.</p><h2 id="solid-battery-life-faster-charging">Solid battery life, faster charging</h2><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="2RjVPjGpSRDgg7JtX5ooKg" name="Fold 8 back" alt="Galaxy Z Fold 8 back side" src="https://cdn.mos.cms.futurecdn.net/2RjVPjGpSRDgg7JtX5ooKg.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 Galaxy Z Fold 8 is one of the first Samsung phones to offer a silicon carbon battery, which allows for more capacity without adding thickness to the phone. The Fold 8 has a 4,800 mAh battery, compared to just a 4,400 mAh Li-ion battery on the previous Fold 7.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p><strong>Hours : Minutes</strong></p></td><td  ><p><strong>Charging % in 30 minutes</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>12:19</p></td><td  ><p>70%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>14:33</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy 7 Fold 7</strong></p></td><td  ><p>10:44</p></td><td  ><p>54%</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Fold</strong></p></td><td  ><p>14:44</p></td><td  ><p>73%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>16:10</p></td><td  ><p>77%</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>17:54</p></td><td  ><p>64%</p></td></tr></tbody></table></div><p>On the Tom’s Guide battery test, which consists of web surfing over 5G, the Fold 8 lasted a pretty good 12 hours and 19 minutes. That beats the Fold 7 by nearly 1.5 hours, though the Fold 8 isn’t good enough to make our <a href="https://www.tomsguide.com/us/smartphones-best-battery-life,review-2857.html"><u>best phone battery life</u></a> list.</p><p>In my time with the phone I enjoyed fairly strong endurance. For example, after a day of mixed usage, including checking email, capturing photos and videos and playing music, the battery meter was at 52%.</p><p>Still, other foldables last longer. The Galaxy Z Fold 8 Ultra with its 5,000 mAh silicon carbon battery lasted 14:33, and the Razr Fold’s 6,000 mAh battery lasted 14:44.</p><p>The Galaxy Z Fold 8 benefits from 45W charging, up from 25W on the Fold 7. At 30 minutes the Fold 8 reached 70%, compared to 54% for the Fold 7.</p><p>Wireless charging sees a boost for the Fold 8, too, going from 15W to 20W. Unfortunately, you need to buy a case if you want to get magnets for Qi 2 charging, as they’re still not built into the phone.</p><h3 class="article-body__section" id="section-what-i-mostly-like"><span>What I Mostly Like</span></h3><h2 id="cameras-are-good-but-where-s-the-telephoto">Cameras are good, but where's the telephoto?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3289px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FubpnqgwBc2ZYYL8PnptdZ" name="Galaxy Z Fold 8 review-23" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/FubpnqgwBc2ZYYL8PnptdZ.jpg" mos="" align="middle" fullscreen="" width="3289" height="1850" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Taking photos on the Fold 8 feels pretty natural through the cover display </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Don’t get me wrong. The dual rear 50MP cameras on the Fold 8 are solid. But not having a telephoto zoom is pretty frickin’ lame for a $1,900 flagship.</p><p>On the plus side, check out the excellent dynamic range in this photo of a street in London dappled in sunlight. This close-up of a zinnia flower is vibrant and detailed and the richer colors in this shot of peppers versus the more washed-out Razr Fold.</p><iframe allow="" height="400" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=0a38d302-8aec-11f1-ba1b-0e6f42328d7d"></iframe><p>The 50MP ultrawide lens is a major upgrade over the 12MP Fold 7. I actually give the edge to the Fold 8 over the <a href="https://www.tomsguide.com/phones/iphones/ive-spent-one-month-with-the-iphone-17-pro-max-5-things-i-like-and-2-i-dont"><u>iPhone 17 Pro Max</u></a> in this ultrawide shot of a beach. The green trees pop a pit more, and there’s more detail in the rocks along the sand.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/i6m3A8UkGfAhhgKhjUQit.jpg" alt="Galaxy Z Fold 8" /><figcaption>Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hoYB9NWMBrGxyAfyg8VAt.jpg" alt="iPhone 17 Pro Max" /><figcaption>iPhone 17 Pro Max<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/J6AnFUR7YkysLLqbNnfdt.jpg" alt="Galaxy Z Fold 8 Ultra" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FFDak359qecvRxR8vQVau.jpg" alt="Razr Fold" /><figcaption>Razr Fold<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Samsung also improved the Nightography on the Fold 8 for better low-light shots. And you can see the difference in these photos of a clock tower. It’s brighter and crisper. And in this image of string lights the Fold 8’s makes everything brighter and you can make out the individual bulbs easier.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2wrLiHk9ZWEcSGxey9L9Z.jpg" alt="Galaxy Z Fold 8" /><figcaption>Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SUcD6rpmHhu9jHCeakWVSo.jpg" alt="Galaxy Z Fold 8" /><figcaption>Galaxy Z Fold 7<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/kitekqAd3iuKFXhuN3cef.jpg" alt="Razr Fold" /><figcaption>Razr Fold<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>What makes the Z Fold 8 Ultra an Ultra camera phone is its 200MP main camera. In this fountain shot you can make out more detail in the water bubbles and in the rocks. You just have more freedom to crop in overall.</p><iframe allow="" height="400" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=3f242512-8aec-11f1-ba1b-0e6f42328d7d"></iframe><p>But the biggest Z Fold 8 vs Fold 8 Ultra difference is the lack of telephoto zoom. At 4x, the Fold 8 delivers a crisper image of this Queen Anne statue in London. Check out the lines in the stonework.</p><iframe allow="" height="400" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=6e5ac7e6-8aec-11f1-ba1b-0e6f42328d7d"></iframe><p>But this 10x digital zoom shot of a tree stump rising from water shows the Fold 8’s limitations. The lines in the bark look blurrier compared to the 10MP Fold 8 Ultra with 3x optical. And the Razr Fold’s 50MP telephoto is even sharper.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/skfjecoYsDxcAXKKEePmH.jpg" alt="Galaxy Z Fold 8" /><figcaption>Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/a9wbSK4tv3mPNXB8ppuze.jpg" alt="iPhone 17 Pro Max" /><figcaption>iPhone 17 Pro Max<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bEMZu2hqsLsuUJeShFLPk.jpg" alt="Galaxy Z Fold 8 Ultra" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bs8w92ZUjCBxMPAA3opbs.jpg" alt="Razr Fold" /><figcaption>Razr Fold<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>I don’t have any complaints about the selfies from the Galaxy Fold 8. The front 10MP camera. My blue shirt pops, and there’s plenty of detail in my hair and the surrounding grass. The inside 10MP produced a vivid but somewhat blurrier image.</p><p>Plus, you can always flip the display around and use the main 50MP wide camera to take selfies. The results look sharp though the shadows are more pronounced than I’d like.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nAvTT6ssuQQNM4e6RXUqj.jpg" alt="Galaxy Z Fold 8" /><figcaption>Inside Camera - Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3AbR4H4oHUbcLUSYYrbkj.jpg" alt="Galaxy Z Fold 8" /><figcaption>Front Camera - Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Hs4g68QEV8JhnocgjsTyY.jpg" alt="Galaxy Z Fold 8" /><figcaption>Main Camera - Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure></figure><h3 class="article-body__section" id="section-what-i-don-t-like"><span>What I Don't Like</span></h3><h2 id="more-apps-need-optimization-for-the-big-screen">More apps need optimization for the big screen</h2><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="xk5KeA75WpyRNUfgTjXLuY" name="Fold 8 multitasking" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/xk5KeA75WpyRNUfgTjXLuY.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">Two apps running side by side on the Galaxy Z Fold 8 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>There’s a fair number of apps that are truly optimized for the Fold 8’s wide display. In Gmail, you can see your inbox on the left and the content of your images on the right. And in TikTok the comments will pop up on the right side of the display while the video plays on the left. Spotify looks pretty slick, too, with your playlists here and play window there.</p><p>However, some apps just feel like stretched out phone experiences. Slack should have you rooms and contacts on the left and messages on the right instead of just really wide conversation windows. Other apps that could use the dual-pane treatment include Reddit and especially X.</p><p>I get that the iPhone Ultra isn’t out yet. But you know there's going to be a better app experience right from day one. Just look at iPadOS on the iPad mini.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YNuV6vT8MHbh6YZ4XQtbdZ.jpg" alt="Galaxy Z Fold 8 shown held in-hand" /><figcaption>The split-screen keyboard on the Galaxy Z Fold 8<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HLiQi7svQtipSGHmWC9sSZ.jpg" alt="Galaxy Z Fold 8 shown held in-hand" /><figcaption>The Fold 8's cover display is roomy enough for comfortable typing.<small role="credit">Tom's Guide</small></figcaption></figure></figure><h2 id="where-is-the-dust-resistance">Where is the dust resistance?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3330px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tgL6AweqbNKzVVmQctz95Z" name="Galaxy Z Fold 8 review-22" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/tgL6AweqbNKzVVmQctz95Z.jpg" mos="" align="middle" fullscreen="" width="3330" height="1873" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Don't get sand or dust in the Fold 8. It's not IP68 rated. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, you’re stuck with the same IP48 durability rating on the Galaxy Z Fold 8. That means this device can withstand being submerged in water for 30 minutes but is not dust resistant. I’d like to see Samsung take the leap to IP68 so you can actually take foldables like this to the beach.</p><p>Other foldables like the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-10-pro-fold-review">Google Pixel 10 Pro Fold</a> and <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-fold-review">Motorola Razr Fold</a> are IP68 rated.</p><p>During a roundtable discussion, a Samsung exec told us that the company is not chasing numbers but real-world scenarios. But I’d argue dust and sand are “real world.”</p><h2 id="flex-view-is-ultra-exclusive">Flex view is Ultra exclusive</h2><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="FTAPbqnyMxnn72TGFVq4Eg" name="Galaxy Z Fold 8 Ultra-29" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/FTAPbqnyMxnn72TGFVq4Eg.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 Galaxy Z Fold 8 Ultra has Flex View but the Fold 8 does not. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Because of the way the hinge was designed, there’s no Flex Mode on the Fold 8 — that’s exclusive to the Fold 8 Ultra. So that means you can’t use the Fold 8 as a mini laptop. I missed not being able to watch YouTube videos in this mode or do quick Google Meet calls.</p><h2 id="still-no-s-pen">Still no S Pen</h2><p>The Galaxy Fold 8 one again eschews the S Pen. While I’ve never been a heavy user, there’s lot of people who would like a stylus for taking notes, editing photos and drawing, especially on such a wide canvas.</p><p>Samsung has clearly prioritized thinness and the lack of a crease over including a digitizer. Company reps have told us they are <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">open to exploring the possibility of the S Pen’s return</a>. But that will have to be another foldable.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-review-verdict"><span>Galaxy Z Fold 8 review: Verdict</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:2080px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bPd7ZTJvXjFWH9MbVievUY" name="Galaxy Z Fold 8 review-13" alt="Galaxy Z Fold 8 shown held in-hand" src="https://cdn.mos.cms.futurecdn.net/bPd7ZTJvXjFWH9MbVievUY.jpg" mos="" align="middle" fullscreen="" width="2080" height="1170" attribution="" endorsement="" class="inline"></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’m a big fan of the Galaxy Z Fold 8. It’s the foldable design I’d rather carry and use every day over any other foldable. It’s lighter and more compact than the Fold 8 Ultra, and the main display is big enough for split-screen multitasking and binge watching.</p><p>I also really appreciate that the crease is less visible and especially the anti-glare coating, as well as the strong performance and pretty solid battery life. And while I’m getting AI fatigue, features like Now Nudge just make sense on a foldable.</p><p>On the other hand, I don’t like that I have to give up a telephoto lens. And while I personally don’t mind the lack of an S Pen, there are apparently many people who do.</p><p>I <em>do care</em> about the lack of dust resistance, and that some pretty high-profile apps aren’t optimized for the big screen — when you know the iPhone Ultra will likely have an advantage on day one. </p><p>So for now the Galaxy Z Fold 8 is the foldable I want. But Samsung please give us a better zoom next time. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Verizon is knocking up to $1,200 off Galaxy Z Fold 8 preorders: how to get yours ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/verizon-is-knocking-up-to-usd1-200-off-galaxy-z-fold-8-preorders-how-to-get-yours</link>
                                                                            <description>
                            <![CDATA[ Verizon is knocking up to $1,200 off Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra preorders. Here's how you can save big on Samsung's newest foldables. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rLBQSzSbnrz4PeYcBgHdQ8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JFBEU989UXH8gTTU2HryEL-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Jul 2026 21:32:05 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ louis.ramirez@futurenet.com (Louis Ramirez) ]]></author>                    <dc:creator><![CDATA[ Louis Ramirez ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYF2xVwCb4pTGhAJi8Yqr5.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As deals editor-in-chief at Tom’s Guide, Louis refuses to pay full price for anything. He has over 10 years of experience finding the best deals and coupons to bring readers. Louis price checks&amp;nbsp;against multiple retailers and searches high and low for sales on 4K TVs, Apple devices, streaming services, mattresses, kitchen appliances, and more.&amp;nbsp;He&#039;s also always looking for the the best coupon codes to turn good deals into stellar buys.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has covered major retail events like Amazon Prime Day, Black Friday, and Cyber Monday for more than a decade and knows how to spot an epic deal from a fake discount. He&#039;s also great at helping people negotiate better prices on everything from gym memberships to their home internet service. Louis&#039; work has also helped readers find PS5 restock, baby formula, Clorox wipes, and everything in between. For his next major purchase, Louis is hoping to find a killer deal on an M3-based Mac.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A born-and-bred New Yorker, Louis is always in search of the perfect cup of coffee. On his free time, he enjoys swimming, running, and any workout that pushes his Apple Watch to the max. He&#039;s also a big fan of international films, horror movies, and K-dramas. His work has appeared on Gizmodo, CNET, Digital Trends, Dealnews, and Time Out New York.&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/JFBEU989UXH8gTTU2HryEL-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 held in front of a wall with graffiti]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 held in front of a wall with graffiti]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 held in front of a wall with graffiti]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JFBEU989UXH8gTTU2HryEL-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We're still days away from the official release of Samsung's new foldable phones, but if you want to get your preorder on, one carrier is offering an epic deal you can't miss. </p><p>For a limited time, <a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow">Verizon is taking up to $1,200 off Galaxy Z Fold 8 preorders</a> or <a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?sku=sku6049270?isMyPlanFlow=true" target="_blank" rel="nofollow">up to $1,200 off Galaxy Z Fold 8 Ultra preorders</a>. Both offers require a trade-in and eligible data plan. Nevertheless, they're an excellent way to shave a few hundred dollars off Samsung's new phones. </p><p>For more personal recommendations, make sure to check out the <a href="https://www.tomsguide.com/savings-squad">Tom's Guide Savings Squad</a> homepage and our <a href="https://www.tomsguide.com/news/ultimate-back-to-school-guide">back to school deals</a> guide. Also make sure to bookmark our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-preorder-deals-heres-how-im-saving-up-to-usd1-200-on-samsungs-new-phones">Galaxy Z Fold 8 preorder deals</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/best-galaxy-z-flip-8-deals-get-samsungs-new-foldable-for-free">Galaxy Z Flip 8 preorder deals</a> for the latest discounts.</p><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><div class="product"><a data-dimension112="23f2c0be-8a01-11f1-b1a9-4d464d99c996" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:954px;"><p class="vanilla-image-block" style="padding-top:98.95%;"><img id="4EngEpxMLxWVDrp7aAo2xi" name="Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4EngEpxMLxWVDrp7aAo2xi.jpg" mos="" align="middle" fullscreen="" width="954" height="944" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="23f2c0be-8a01-11f1-b1a9-4d464d99c996" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25=""><strong>up to $1,200 off w/ trade-in + unlimited @ Verizon</strong></a><br>Verizon is taking up to $1,200 off the Galaxy Z Fold 8 with trade-in and select data plans. The phone features a 7.6-inch AMOLED (1848 x 2448) 120Hz main display, 5.5-inch AMOLED (1248 x 1972) 120Hz cover display, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. On the rear you get a 50MP main wide-angle lens and 50MP ultra-wide lens. Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Galaxy Z Fold 8 hands-on</a>, we called it our favorite foldable to date. It loses the telephoto zoom, but multitasking is way more suitable on its canvas, with up to four apps running simultaneously.<a class="view-deal button" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="23f2c0be-8a01-11f1-b1a9-4d464d99c996" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="23f2c136-8a01-11f1-a81c-1dca9152d175" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?sku=sku6049270?isMyPlanFlow=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1327px;"><p class="vanilla-image-block" style="padding-top:64.28%;"><img id="9Rhpe6TtrVFSNo9Vtn27Tm" name="Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9Rhpe6TtrVFSNo9Vtn27Tm.jpg" mos="" align="middle" fullscreen="" width="1327" height="853" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?sku=sku6049270?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="23f2c136-8a01-11f1-a81c-1dca9152d175" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25=""><strong>up to $1,200 off w/ trade-in + unlimited @ Verizon</strong></a><br>Verizon is taking up to $1,200 off the Galaxy Z Fold 8 Ultra with trade-in and select data plans. The phone features an 8-inch AMOLED (2504 x 2256) 120Hz main display, 6.5-inch AMOLED (1080 x 2520) 120Hz cover display, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. On the rear you get a 200MP main wide-angle lens, 50MP ultra-wide lens, and 10MP telephoto lens (3x optical). Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra hands-on</a>, we said its greatly reduced crease, upgraded silicon carbon battery, faster charging, and upgraded ultrawide camera make it a meaningful upgrade.<a class="view-deal button" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?sku=sku6049270?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="23f2c136-8a01-11f1-a81c-1dca9152d175" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25="">View Deal</a></p></div><p>One of the biggest differences between the Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra comes to down to display size. The Galaxy Z Fold 8 has a wider design that gives it an aspect ratio similar to an iPad mini, making it more suitable for watching videos.</p><p>It also steals the most unique features of the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-trifold-review">Galaxy Z TriFold</a>: its three-app side-by-side multitasking. While the more expensive <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra</a> can run up to four apps simultaneously, the Z Fold 8 has the inherent advantage because of how it lays them out. It can run three apps in their own windows, all at the same time — which it can do thanks to its 7.6-inch main display. What's great about this layout is that all three windows remain proportionate, with the ability to save them as an app pair shortcut for quick access later. And if you need just one more app, you can launch a fourth in a separate floating window.</p><p>Meanwhile, the Galaxy Z Fold 8 Ultra has a more square aspect ratio when opened. We tried running three apps on the Galaxy Z Fold 8 Ultra's 8-inch main display, but it would only let you run two properly. Sure, you can introduce a third app, but it forces the layout to change so that one app remains in full view on one side, while the other two share the remaining half. This isn’t ideal because those two apps get shrunken down to the point where they're almost unusable.</p><p>Bottom line: If you're looking to multitask Galaxy Z Fold 8 is the winner. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Z Fold 8</p></th><th  ><p>Samsung Galaxy Z Fold 8 Ultra</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $1,899 / £1,699</p></td><td  ><p>From $2,099 / £1,899</p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong></p></td><td  ><p>7.6 inches AMOLED (1848 x 2448, 1-120Hz)</p></td><td  ><p>8 inches AMOLED (2504 x 2256, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong></p></td><td  ><p>5.5 inches AMOLED (1248 x 1972, 1-120Hz) </p></td><td  ><p>6.5 inches AMOLED (1080 x 2520, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB/512GB/1TB</p></td><td  ><p>256GB/512GB/1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>50MP wide, 50MP Ultra wide (10x digital zoom)</p></td><td  ><p>200MP wide, 50MP ultra-wide, 10MP telephoto (3x optical)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover camera</strong></p></td><td  ><p>10MP</p></td><td  ><p>10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Main display camera</strong></p></td><td  ><p>10MP (f/2.2)</p></td><td  ><p>10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired / 20W wireless</p></td><td  ><p>45W wired / 20W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>4,800 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>123.9 x 81.9 x 9.7 mm (folded), 161.4 x 123.9 x 4.5 mm (unfolded)</p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.16 inches) unfolded</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>201 grams (7 ounces)</p></td><td  ><p>215 grams (7.5 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP48</p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong> </p></td><td  ><p>Lavender, Graphite, Cream, Pistachio (online)</p></td><td  ><p>Violet shadow, Cream, Graphite, Violet Green (online exclusive)</p></td></tr></tbody></table></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just realized the Samsung Galaxy Z Fold 8 Ultra fixes the worst thing about fingerprint scanners ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-just-realized-the-samsung-galaxy-z-fold-8-ultra-fixes-the-worst-thing-about-fingerprint-scanners</link>
                                                                            <description>
                            <![CDATA[ The Galaxy Z Fold 8 Ultra and other foldables managed to solve my biggest issue with biometric security, and made mapping my fingerprints a breeze. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kbYaArGnFJvwygJXXUqsTR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DMGaUbC3Xm5ezapCKdrW9f-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Jul 2026 05:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/DMGaUbC3Xm5ezapCKdrW9f-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DMGaUbC3Xm5ezapCKdrW9f-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One thing I really hate about getting a new phone is the setup process. Not only is it somewhat tedious, the actual process is incredibly inconsistent across different devices. The last few years have seen some major improvements to the way phones are set up, but the one thing that continually gets on my nerves is registering my fingerprints for biometric security.</p><p>That changed earlier this week when I set up the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z Fold 8 Ultra</a>, and realized that I should probably go through the process correctly. Only then did I realize that Samsung has been sitting on one of the simplest fingerprint mapping tools I've ever come across.</p><h2 id="galaxy-foldables-have-mastered-fingerprint-mapping-on-phones">Galaxy foldables have mastered fingerprint mapping on phones</h2><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="LoK247UUzdmF83TQmayS6g" name="Galaxy Z Fold 8 Ultra-12" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/LoK247UUzdmF83TQmayS6g.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 majority of devices that I have used over the past few years have had fingerprint scanners embedded in their display. Something about that design means that the actual process of registering a fingerprint for security reasons is a wearying experience that requires constantly tapping your chosen digit against the screen to capture the entire print.</p><p>Some systems are better than others, admittedly. Samsung's fingerprint registration is a fairly speedy affair, all things considered, while Google Pixels are among the slowest and laborious options on offer. This is still true following Google's decision to switch from optical fingerprint scanners to the more advanced (and secure) ultrasonic sensors. </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:563px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="BxNRbJaK22Du2rxwcYySMb" name="ezgif-779ac4320ee377cb" alt="samsung galaxy z fold 8 ultra fingerprint scanner" src="https://cdn.mos.cms.futurecdn.net/BxNRbJaK22Du2rxwcYySMb.gif" mos="" align="middle" fullscreen="" width="563" height="315" 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 Galaxy foldables do it in a totally different way. Instead of being asked to constantly lift and move your chosen digit, all you need to do is move your fingerprint over the sensor. You don't have to remove your finger unless absolutely necessary, and the whole process takes less than ten seconds to do from start to finish.</p><p>The only kind of biometric security I've set up that comes close is Apple's Face ID. Since Apple's facial recognition only requires you to rotate your head around in a circle, it's extremely easy to do. But not even devices that still utilize Apple's Touch ID can map fingerprints quite so easily.</p><p>This feature isn't limited to the new Galaxy Z Fold 8 Ultra either. The process is exactly the same on the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> and older Galaxy foldables, too. I was just too lazy to notice before, because I had foolishly assumed modern fingerprint scanners were all the same.</p><h2 id="it-s-a-reminder-how-much-better-physical-fingerprint-scanners-are">It's a reminder how much better physical fingerprint scanners are</h2><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="bNxK6GPNEgU8BWTJwTXshC" name="fingerprint-android.jpg" alt="Fingerprint reader on an Android phone." src="https://cdn.mos.cms.futurecdn.net/bNxK6GPNEgU8BWTJwTXshC.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: Shutterstock)</span></figcaption></figure><p>It's been seven years since I regularly used a phone with a physical fingerprint scanner, but my short time with the Galaxy Z Fold 8 Ultra has reminded me just how much more convenient they are compared to modern alternatives. Not just in terms of the speedy mapping, which feels rather new to me, but also in the way they perform.</p><p>Day to day I use a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>, which features an ultrasonic in-display fingerprint scanner. Google's scanner isn't slow or inefficient by any means, but there is a brief delay between placing your finger on the scanner and the phone unlocking. That's especially true if you're not using an always-on display, as I tend to do, because you need to turn on the screen as well.</p><p>The physical fingerprint scanner takes all that out of the equation. The unlocking process is almost instant, and the fact you can feel the scanner without looking means you could potentially initiate the unlocking process before you've even looked at the phone screen. Those fractions of seconds don't matter much at the time, but if you consider how often you unlock your phone those extra fractions of seconds can add up.</p><h2 id="how-to-set-up-fingerprint-scanning-on-galaxy-z-fold-8-and-other-foldables">How to set up fingerprint scanning on Galaxy Z Fold 8 and other foldables</h2><section class="howto-block">                    <h3>1. Open biometric security</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/stAd3PmzKAuohqbmLz3ec7.jpg"                                        alt="samsung galaxy z fold 8 fingerprint scanner"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/stAd3PmzKAuohqbmLz3ec7.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>First up you need to open up the biometric security settings menu. You can do this by heading to <strong>Settings > Screen lock and biometrics > Fingerprints</strong></p></p>                </section><section class="howto-block">                    <h3>2. Add a new fingerprint</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/vJszKs6MpyZP7CnKV5mkP7.jpg"                                        alt="samsung galaxy z fold 8 fingerprint scanner"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/vJszKs6MpyZP7CnKV5mkP7.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>You'll need to start the process by tapping the <strong>Add fingerprint</strong> option half way down the page.</p></p>                </section><section class="howto-block">                    <h3>3. Start the mapping process</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/Cy49jiKXrLAEL733zQMqaT.jpg"                                        alt="galaxy z fold 8 ultra fingerprint scanner"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/Cy49jiKXrLAEL733zQMqaT.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>On the next screen, tap the <strong>Register</strong> button at the bottom of the screen.</p></p>                </section><section class="howto-block">                    <h3>4. Map your fingerprint</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/SGLcpf35ypVSoRn4fMfSkT.jpg"                                        alt="galaxy z fold 8 ultra fingerprint scanner"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/SGLcpf35ypVSoRn4fMfSkT.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>Next up you'll be prompted to map your fingerprint. Simply swipe your fingerprint across the power button/fingerprint scanner until you hit 100%</p></p>                </section><section class="howto-block">                    <h3>5. Test your fingerprint</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/eHytnaSi83dCH3WJCq6pgT.jpg"                                        alt="galaxy z fold 8 ultra fingerprint scanner"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/eHytnaSi83dCH3WJCq6pgT.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future)</div></figure>                    <p><p>The Galaxy Z Fold 8 Ultra will then prompt you to test your fingerprint before letting you go. Just tap your finger against the scanner, and it'll tell you if everything has been registered successfully.</p></p>                </section><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/phones/samsung-phones/my-first-36-hours-with-the-samsung-galaxy-z-fold-8-i-was-wrong-about-the-passport-screen-but-that-usd1-899-price-still-stings">My first 36 hours with the Samsung Galaxy Z Fold 8: I was wrong about the passport screen (but that $1,899 price still stings)</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-delay-leak-right-after-samsungs-triumphant-galaxy-fold-8-launch-has-me-sick-of-waiting-for-apples-foldable">iPhone Ultra delay leak right after Samsung's triumphant Galaxy Fold 8 launch has me sick of waiting for Apple's foldable</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just tested the brand-new Samsung QS90H — and it’s one of the best all-in-one soundbars money can buy ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/audio/soundbars/samsung-qs90h-review</link>
                                                                            <description>
                            <![CDATA[ The Samsung QS90H is a powerful all-in-one soundbar. No need for a separate subwoofer or rears here: 7.1.2 channel in just one device. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">eStcsbW422XXh5ZwWU7hLj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9tzn4VbLc2oXygTDjgo8VN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Soundbars]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Speakers]]></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/9tzn4VbLc2oXygTDjgo8VN-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom&#039;s guide background]]></media:description>                                                            <media:text><![CDATA[the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom&#039;s guide background]]></media:text>
                                <media:title type="plain"><![CDATA[the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom&#039;s guide background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9tzn4VbLc2oXygTDjgo8VN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Samsung QS09F is a beast of a soundbar. With a 7.1.2 channel configuration for under $999, this could be one of the <a href="https://www.tomsguide.com/us/best-soundbar-speakers,review-2004.html">best soundbars</a> if you need something compact yet powerful. There’s a built-in subwoofer and two side-firing surrounds for truly wide sound and immersive Dolby Atmos. </p><p>As per Samsung’s naming conventions, the QS90H is a part of 2026’s new soundbar lineup. Last year’s models had an “F” suffix. Unsure why Samsung skipped “G”, but if you see a soundbar with an “H” in the name, it’s new in 2026 (and old thereafter). </p><p>So what separates the Samsung QS90H from the rest of the new lineup? The QS90H can do it <em>all</em>. It’s one soundbar with a four-woofer built-in sub, surrounds, and thirteen speakers in the soundbar itself. This is an incredible performance for a one-bar device. Want to find out more? Keep reading this Samsung QS90H review.</p><h2 class="article-body__section" id="section-samsung-qs90h-review-specs"><span>Samsung QS90H review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p><a href="https://www.bestbuy.com/product/samsung-q-series-soundbar-hw-qs90h-za-7-1-2-ch-with-built-in-woofers-graphite-black/JJGRF3TGVQ" target="_blank" rel="nofollow">$999</a> / <a href="https://www.amazon.co.uk/Samsung-7-1-2ch-Soundbar-Subwoofer-AirPlay/dp/B0GTMH3M2M" target="_blank" rel="nofollow">£899</a></p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>HDMI eARC, optical, Bluetooth, Wi-Fi</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>14.8 pounds</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>2.7 x 49 x 4.9 inches</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>Subwoofer</strong></p></td><td  ><p>Built-in</p></td></tr><tr><td class="firstcol " ><p><strong>Dolby Atmos</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Channel</strong></p></td><td  ><p>7.1.2</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-samsung-qs90h-review-price-availability"><span>Samsung QS90H 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="ZeEfgNrDotQgnMsQTwJyfM" name="Samsung QS90H 01 4.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/ZeEfgNrDotQgnMsQTwJyfM.jpg" 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 Samsung QS90H is <a href="https://www.bestbuy.com/product/samsung-q-series-soundbar-hw-qs90h-za-7-1-2-ch-with-built-in-woofers-graphite-black/JJGRF3TGVQ" target="_blank" rel="nofollow">$999 from Best Buy</a> and <a href="https://www.amazon.co.uk/Samsung-7-1-2ch-Soundbar-Subwoofer-AirPlay/dp/B0GTMH3M2M" target="_blank" rel="nofollow">£899 from Amazon U.K.</a> Although an objectively huge amount of money, you get a soundbar, a subwoofer, and surrounds for that $999 — <em>and</em> you don’t have to make extra space in your living room. </p><p>I’ve also tested the fantastic-value <a href="https://www.tomsguide.com/audio/soundbars/samsung-qs750f-review">Samsung QS750F</a> ($899) and the gorgeous mid-range <a href="https://www.tomsguide.com/audio/soundbars/samsung-q600f-review">Samsung Q600F</a> ($599). I’d recommend the Q600F if you’re not concerned with Wi-Fi music playback and the QS750F if you want separate sub and rears. However, these are 2025’s models now. I would be more than happy to use a 2025 models — the sound is still industry-leading as I write this in 2026 — but it’s just something to note if you’re the kind of person who always wants the newest tech. </p><p>I’ve also reviewed the fantastic <a href="https://www.tomsguide.com/audio/soundbars/jbl-bar-1300xmk2-review">JBL Bar 1300XMK2</a>. I would recommend this wholeheartedly if you want the best home cinema setup without needing to fork out on AVRs, floor standers, and the like.</p><h2 class="article-body__section" id="section-samsung-qs90h-review-design"><span>Samsung QS90H 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="SZeiqFmnzsCnvoHTRaEqTN" name="Samsung QS90H 01 1.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/SZeiqFmnzsCnvoHTRaEqTN.jpg" 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 QS90H looks like any other soundbar. It won’t win any design awards, but it won’t steer attention away from your TV, either. It’s a pretty long 49 inches, so anything smaller than a 55” TV will look strange. I tested with the LG G6 OLED 55” and I’d say even that looked a bit weird. </p><p>The only frustrating design aspect is the HDMI port. Both the power port and HDMI port are angled, so you need a side-oriented cable. Of course, the soundbar comes with an angled power cable and HDMI, but if you want an aftermarket HDMI, you’ll need to find one that fits under the soundbar. </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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PiR7TWTBek6f2aRGhkCrmN" name="Samsung QS90H 01 3.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/PiR7TWTBek6f2aRGhkCrmN.jpg" 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 are a few controls on the soundbar itself: volume up/down and power. There’s the classic Samsung remote with all the usual controls: input, Bluetooth, volume, woofer volume, sound mode, channel volume, and settings. I honestly did most of the controlling via the SmartThings virtual remote on my phone. </p><h2 id="features">Features</h2><p>I’ll go into app features in more detail below, but you’ve got all the expected features: sound modes, a few AI features, EQ adjustment, channel level adjustment, night mode, virtual mode, bass enhancement, and dialogue enhancement. </p><h2 class="article-body__section" id="section-samsung-qs90h-review-app"><span>Samsung QS90H review: App</span></h2><p>SmartThings is <em>by far</em> my favorite smart home app. It just makes sense. It’s easy to navigate, straightforward for newcomers, and has zero connectivity hiccups. </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="AHsh4VBmVyM4Ewmv8VK6Nn" name="samsung qs90h screenshots 1" alt="three screenshots from the samsung smart things app" src="https://cdn.mos.cms.futurecdn.net/AHsh4VBmVyM4Ewmv8VK6Nn.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: Samsung / Tom's Guide)</span></figcaption></figure><p>As you can see, there’s a huge array of smart features: “SpaceFit Sound Pro”, “Active Voice Amplifier Pro”, “Sound Elevation”, and “Auto Volume”. Last year, “SpaceFit Sound Pro” only worked with an AI-powered Samsung TV, but I was able to turn it on with my LG G6 OLED. However, SpaceFit Sound Pro isn’t a traditional room calibration tool that sends out sound waves and analyzes them with built-in microphones, <em>à la</em> Klipsch or JBL. Honestly, I didn’t notice a huge difference between SpaceFit on and off, which is a shame. </p><p>You can also adjust each channel individually. </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="msGF36KfjdfNU5i2mCTGdP" name="samsung app screenshotrs 2" alt="three screenshots from the samsung smartthings app" src="https://cdn.mos.cms.futurecdn.net/msGF36KfjdfNU5i2mCTGdP.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: Samsung / Tom's Guide)</span></figcaption></figure><p>You can control the woofer volume, “side”, “center”, “wide”, and “front top”. I got the best sound with “side” and “wide” up to the max. I got a touch more height with “front top” set to max, but I still didn’t reach the huge highs I did with the JBL Bar 1300XMK2. </p><p>Finally, there’s wireless Dolby Atmos — but this <em>is</em> locked behind recent AI-enabled Samsung TVs. You can also sync up your Roon, Spotify, Tidal, and Alexa. </p><h3 class="article-body__section" id="section-samsung-qs90hs-review-sound-quality"><span>Samsung QS90HS review: Sound quality</span></h3><p>I test every soundbar with “Top Gun: Maverick” on 4K Blu-Ray, TV streaming, and music on <a href="https://www.whathifi.com/qobuz/review">Qobuz</a> via AirPlay.</p><h2 id="movies">Movies</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nGwKfjPMyRvPj5aCsT3NkN" name="Samsung QS90H 01.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/nGwKfjPMyRvPj5aCsT3NkN.jpg" 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 watched “Top Gun: Maverick”, “The Super Mario Galaxy Movie”, and “Fight Club” on 4K Blu-ray. </p><p>The opening scene in “Top Gun: Maverick” is ideal for testing width, height, high-frequency sound, and bass simultaneously. I activated “Voice enhancement” and “Bass enhancement” in the SmartThings app, which brought all the high-frequency sounds to the center of the soundstage. Whooshing planes, whirring engines, flicking ropes, and tinkling metal diegetic sounds were focal and loud without pinching or overpowering the bass-heavy “Danger Zone”. I didn’t struggle to hear anything — this was a perfect performance. </p><p>Dialogue was clear, even in flight scenes with distortion from the radio. Engines were loud and clear, layered under the dialogue with zero overpowering. There was a <em>touch</em> of over-processing in some of Maverick’s radioed dialogue, but this was seriously negligible. It didn’t impact my viewing experience in the slightest. </p><p>There wasn’t as much height as I would like, which is a consistent issue with Samsung soundbars. The <a href="https://www.tomsguide.com/audio/soundbars/samsung-qs750f-review">QS750F</a> sounded expansive, but not massively high. If you want serious, room-filling height, you might want something like the JBL Bar 1300XMK2. </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="KqAszSmfRCondDM9Ru7TkN" name="Samsung QS90H 01 2.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/KqAszSmfRCondDM9Ru7TkN.jpg" 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 the first dogfighting scene, the planes whooshed around the side of the soundscape, while the radioed dialogue and soundtrack were clear in the foreground. When the planes spiralled, I could feel it around me. However, I couldn’t hear the planes that were supposed ot be above me, which means the soundbar struggles with height. I think some more sophisticated room calibration might mitigate this in the future. </p><p>Next, I watched “The Super Mario Galaxy Movie”. The soundtrack in this movie was super expansive. Each violin motif sounded like it was coming from around me. The twinkling sound effects were particularly powerful. </p><p>It’s unlikely your kids would notice this, but the treble crackled when the spaceship took off in the opening scene. I didn’t notice any treble issues during the rest of the movie, though, or elsewhere in testing.</p><p>Lastly, I watched “Fight Club”. The sped-up sound effects squelched through the soundbar with fantastic width. Dialogue was clear and audible and the soundtrack sounded textured and controlled. Again — this was a perfect experience. No notes.</p><h2 id="tv">TV</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S3BDkGTgPKMKBDH7dHFQ9N" name="Samsung QS90H 01 5.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/S3BDkGTgPKMKBDH7dHFQ9N.jpg" 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 TV performance, I watched “Heated Rivalry” on NOWTV, a British streaming service. I watched using “AI Adaptive Sound” in the SmartThings app, and upped the width and side channel volume to the max. </p><p>The soundbar heightened surround sound: in a locker room celebration scene, I could hear the spraying champagne and excited chatter in the background clearly, even over the exuberant soundtrack. There’s an aquarium scene later in the episode and the underwater-style diegetic sound effects married perfectly with the ethereal ambient OST. </p><h2 id="music">Music</h2><p>To test music playback, I listened to a number of songs on Qobuz. “Beatback” by Fcukers is an electronic track with a powerful bassline and groovy synth modulations in the verses and a breathy female vocal. The bass sounded particularly excellent, clear, rich, and propulsive, but the percussion sounded a <em>touch</em> underwater. Even so, the vocals were textured and sonorous. </p><p>Next, I played a psych-rock track, “Apocalypse Dreams” by Tame Impala. I switched off “Voice enhancement”, which massively improved the sound quality. It’s a shame there’s no dedicated music mode, but I recommend turning off both “Active Voice Amplifier Pro” and “Voice enhancement” to get the best from your music. The bass, again, was powerful and rich, but the treble was a touch pinchy. </p><p>Lastly, I played a guitar-led bluesy track: “Pigeon” by Faye Webster. This song has smooth guitars, nostalgic keys, and a soft female vocal. The vocals sounded particularly beautiful; super complex and warm. There’s some really nice stereo imaging after the first chorus that sounds immersive and all-consuming. The softer percussion didn’t pinch — the guitars were smooth throughout. This song sounded the best out of all the tracks I listened to, likely due to the sparser, warmer, smoother soundscape. </p><h2 class="article-body__section" id="section-samsung-qs90h-review-verdict"><span>Samsung QS90H 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="9tzn4VbLc2oXygTDjgo8VN" name="Samsung QS90H 01_ 1.JPG" alt="the samsung qs90h soundbar in a living room set with a tv and photographed with the blue tom's guide background" src="https://cdn.mos.cms.futurecdn.net/9tzn4VbLc2oXygTDjgo8VN.jpg" 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 Samsung QS90H is the best all-in-one soundbar I’ve tested, and I’d go so far as to say it’s the best all-in-one on the market right now. I knocked off half a star for the sound height issues, but this isn’t to say the soundbar is lackluster, because that’s completely untrue. This is a powerful, controlled, and adept soundbar with a monumental soundstage. </p><p>If you want the “best” home cinema experience possible, you should probably look to spend a little more on something like the JBL Bar 1300XMK2 or the Samsung Q990H. However, if you’re short on space or don’t want to spend more than $1,000, then you will not be disappointed by the QS90H. </p><p>I loved testing the Samsung QS90H and would have zero reservations about buying this soundbar for myself. If you want a multi-channel experience without needing rears and a sub, there’s very little else I’d recommend. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried using the Galaxy Z Fold 8’s MyFanCam on my dogs, but I hit a major wall ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-tried-using-the-galaxy-z-fold-8s-myfancam-on-my-dogs-but-i-hit-a-major-wall</link>
                                                                            <description>
                            <![CDATA[ I had hoped MyFanCam could work its magic on videos of my hyperactive dogs, but it only works on people. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Z7nQeoCiM8EK3DKokiKDEZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 07:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z 8</a> series seems mostly focused on hardware upgrades, but there are still some excellent new AI and software features for you to take advantage of. My current favorite is MyFanCam, which edits a video to follow an individual rather than including the entire frame. Unfortunately, having tested the feature, there's one downside I didn't anticipate.</p><p>I have two very energetic dogs, and I had hoped MyFanCam would help make videos of them playing a little easier to follow. Unfortunately the AI is only capable of recognizing people, which means my dreams of more stable and easy to follow videos of my dog chasing a ball have been dashed — for now.</p><div class="product"><a data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" 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="airedale-K3AQ3stDNey4NiS8bxtM7X-0" name="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $600 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $600 off its Galaxy Z Flip 8 preorder when you trade-in an older phone. Or you can get a $150 Samsung credit with no trade-in. <br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><div class="product"><a data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" 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="airedale-QJ4rKzJiVJEYbAeupkwY9m-1" name="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in.<br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><h2 id="what-is-myfancam">What is MyFanCam?</h2><p>MyFanCam is a new Galaxy AI feature that's been released on the Galaxy Z Fold 8 Ultra, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Z Fold 8</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Z Flip 8</a>. The idea behind it is that you can reframe existing videos and shift the focus onto individual subjects rather than everything as a whole. Samsung's example videos feature people dancing together and utilizing MyFanCam to focus on a single member of the troupe. </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/N2AtiagWdxA" allowfullscreen></iframe></div></div><p>This isn't a dedicated camera mode that follows people in frame, though. That feature has existed for a few years, and it's called Video Auto Framing. Instead, this is an AI editing feature, which takes videos you've already recorded and applies the principles of MyFanCam to the people in shot. </p><p>I was able to do it with videos I recorded as far back as 2019 on a non-Samsung phone. That's helpful, because it means you could breathe new life into your old videos, without having to worry about whether they have the right markers for Galaxy AI to do what needs to be done.</p><p>The other obvious benefit here is that you don't need to worry about getting the perfect shot while you're busy recording. In the same way that <a href="https://www.tomsguide.com/phones/iphones/i-just-installed-the-ios-27-beta-and-reframe-is-unlike-any-other-ai-feature-ive-come-across">Reframe in iOS 27</a> will let you tweak the perspective of your photos, MyFanCam lets you change the main focus of the video so that viewers can hone in on what's important.</p><p>It's also worth noting that MyFanCam can't focus on more than one subject at a time, because that defeats the whole purpose of the feature. However you can always go back and make another MyFanCam video that focuses on someone else. </p><p>So in that group of three dancers, you could potentially end up with three additional takes on the very same video.</p><h2 id="it-only-seems-to-work-on-people-right-now">It only seems to work on people right now</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1723px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="trjgZiS9afkr2BxJb2oaZL" name="Screenshot_20260724_171511_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/t:381,l:299,cw:1723,ch:1723,q:80/trjgZiS9afkr2BxJb2oaZL.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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 like taking photos and shooting videos of my dogs. They're adorable for one, but you never know when they're going to do something stupid and hilarious. The problem is keeping track of them when they're off their leash, and bolting around the local park. They're moving so quickly, and are often so far away, that I just can't keep track of them with my camera.</p><p>Sadly, running videos of my dogs playing through MyFanCam did... nothing. The AI didn't register that the dogs were there, which obviously meant that it wasn't able to focus on one of them and edit the video accordingly. </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:1729px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ErCuynTe3khLM7kcAJJiRK" name="Screenshot_20260724_171351_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/t:381,l:321,cw:1729,ch:1729,q:80/ErCuynTe3khLM7kcAJJiRK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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 then went back and checked it against a video of me and one of my dogs clearly in frame, just to see what happened. As expected, it picked me up right away, but was apparently oblivious to my furry companion. </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:1873px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MKjqWSQsnayNcMHYG9dB8K" name="Screenshot_20260724_171324_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/t:242,l:631,cw:1873,ch:1873,q:80/MKjqWSQsnayNcMHYG9dB8K.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>Oddly intrigued, I tried to find some bizarre videos of people, and see how well Galaxy AI was able to pick up people in situations that are a little out of the ordinary. It had no problem focusing on a Berlin street performer that was doing a handstand on a skateboard, but it had trouble recognizing that a mid-performance routine was a human being. Similarly, adolescent gorillas at the zoo straight-up didn't register.</p><p>If you want to know something quite funny, MyFanCam was able to focus on certain characters on the parade floats at Disney World, including Pluto and Chip — but it struggled with Goofy. Clearly not even AI is sure what Goofy is supposed to be, because he's sure as heck not a dog.</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:1711px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QqHaq5XK2MHEFu3AmMVxXK" name="Screenshot_20260724_171418_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/t:417,l:321,cw:1711,ch:1711,q:80/QqHaq5XK2MHEFu3AmMVxXK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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 can't tell you whether Samsung has done this deliberately or not, but in my experience attempting to use AI camera features, I've noticed that it only really plays along when people are involved. <a href="https://www.tomsguide.com/phones/google-pixel-phones/how-to-use-google-pixel-9-add-me-tool">Google's Add me</a> feature is a very good example of this, since it also wouldn't register that my dogs were living, moving creatures that could move in and out of photos as they saw fit.</p><p>As for why, I can only assume that it's because the AI utilized by these camera features has only been trained on people. Tech companies likely figured that people would mostly want to photograph or video their friends and family. </p><p>Try and get the AI to register something slightly out of the usual parameters and it'll struggle. I guess people are easier for AI models to understand, whereas animals and pets come in all kinds of different shapes and sizes.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORMNzW"></div>                            </div>                            <script src="https://kwizly.com/embed/ORMNzW.js" async></script><h2 id="bottom-line">Bottom line</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2772px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="sG4D9mpBszMGgWBxFvE29W" name="Galaxy Z Fold 8-38" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/sG4D9mpBszMGgWBxFvE29W.jpg" mos="" align="middle" fullscreen="" width="2772" height="1559" attribution="" endorsement="" class="inline"></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 that obvious flaw, I feel as though MyFanCam has potential. The idea that you can go back to a video and completely reshape what people see, and without resorting to changing things with generative AI, is quite impressive. </p><p>I'm disappointed by the lack of support for pets, though. As anyone with energetic animals in their lives can likely attest, capturing them on camera can be rather difficult. I was so looking forward to getting MyFanCam to get to work on the videos of my dogs, but sadly that wasn't meant to be. Hopefully it's something Samsung can work on, and roll out to Galaxy phones and roll out as a software update in the near future.</p><p>In the meantime, just make sure to keep your editing focused on people.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">Galaxy Z Fold 8 Ultra doesn't have a crease-free display — but it's the closest Samsung has ever got to one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung S95H vs S90H: After testing both, here's the OLED TV you should buy ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-vs-s90h-after-testing-both-heres-the-oled-tv-you-should-buy</link>
                                                                            <description>
                            <![CDATA[ The Samsung S95H is one of the best OLED TVs of 2026, but the mid-range S90H is more affordable and offers many of the same features. Here's how they compare — from performance to design and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FwbLxfx3TyQAiSLLumRDrm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:description>                                                            <media:text><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:text>
                                <media:title type="plain"><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Not only is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a> one of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> of the year, it's one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> I've ever seen, period. It recently earned our rare five-star rating on account of its incredible picture quality and its laundry list of features, but its price is steep and its metal-frame design won't be everyone's cup of tea.</p><p>Sitting beneath the S95H in the TV-maker's OLED TV lineup is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a>. This mid-range OLED isn't as bright or as colorful as the S95H, but it offers many of the same features for a significantly lower price.</p><p>If you're in the market for an OLED TV this year — especially a Samsung-branded OLED — both of these TVs will surely make your short list of candidates. That's where I come in. I've got over a decade of TV-testing experience and I'm quite familiar with both models. Here's how the Samsung S95H and S90H OLED TVs compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="f66aea70-86a6-11f1-9a57-75404e1a4e07">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review" data-model-name="Samsung S95H" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GCY7vSV95z9MLgp7waombF.jpg" alt="Samsung S95H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S95H</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"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="100" /></span></div>                                        <p><p>The Samsung S95H is one of the best OLED TVs ever made, as it delivers incredible, quantum dot-enhanced picture quality and nearly every streaming- and gaming-related feature one could ask for. It's much pricier than the S90H, however, and comes with a design that won't be everyone's cup of tea.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="8b7dcf1a-86ac-11f1-a59a-f56060434cba">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</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>As the brand's mid-range OLED for 2026, the Samsung S90H's picture isn't nearly as bright or as colorful as the flagship-level S95H. That said, it's much more affordable and shares many of the same features. It's a terrific option if you want the S95H's matte-style screen but not its metal-frame design.</p></p>                </div>                            </div>        </div><h2 id="samsung-s95h-vs-s90h-specs-compared">Samsung S95H vs S90H: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 77", 83"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Tizen OS</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>NQ4 AI Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Despite their difference in price, the S95H and S90H are quite similar on paper. Like all Samsung TVs, neither set supports Dolby Vision, one of the most popular, enhanced HDR formats.</p><p>These OLEDs are among the first Samsung TVs to support <a href="https://www.tomsguide.com/tvs/dolby-vision-2-vs-hdr10-advanced-read-this-before-you-buy-your-next-tv">HDR10+ Advanced</a>, an all-new, royalty-free Dolby Vision alternative. HDR10+ Advanced is meant to compete with <a href="https://www.tomsguide.com/tvs/dolby-vision-2-helps-your-tv-make-better-choices-whether-its-a-premium-oled-or-budget-lcd-and-you-dont-have-to-do-anything-at-all">Dolby Vision 2</a>, the newest version of Dolby Vision HDR, but content for both is still scarce.</p><p>One major difference has to do with size availability. The S90H comes in two smaller screen sizes: 42 and 48 inches. And, while it won't make a difference to the average viewer, it's worth noting that the S95H supports an optional, external One Connect Box that unlocks four additional HDMI ports.</p><p><em><strong>Winner:</strong></em><em> Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-design">Samsung S95H vs S90H: Design</h2><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="GAb2zLXjveaTTdLRkMjPq9" name="Samsung-S95H--6" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/GAb2zLXjveaTTdLRkMjPq9.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><div><blockquote><p>The Samsung S95H's most eye-catching feature is its metal frame.</p></blockquote></div><p>The Samsung S95H's design is quite divisive, as it's unlike anything else on the market. As you can see in the photo above, the S95H features an eye-catching, metallic frame, and it can't be detached from the screen itself. The brushed-metal material plays the part of a premium design flourish, but based on conversations I've had with readers, you'll either love it or hate it.</p><p>I don't mind the look of the S95H's frame when the TV is mounted on a wall, as the entire point is to emphasize the picture, similar to a portrait's frame. That said, the frame draws more attention to itself when the S95H is set up on a media console.</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="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.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><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</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="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.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: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>The S90H, on the other hand does <em>not</em> come with a big metal frame. Its OLED screen sits atop a pedestal-style stand. It's sturdy enough to minimize wobble, but some people might prefer the approach of the S95H's setup, which trades a pedestal-style stand for a pair of L-shaped feet.</p><p>Last year, Samsung's flagship OLED was the only OLED TV in the brand's lineup to feature Samsung's Glare Free display. This year, the Glare Free display has made its way to the mid-range S90H. </p><p>This matte-style finish is the best in the business at eliminating direct glare, but there's a catch: During daytime viewing (or in well-lit rooms), the Glare Free display scatters light in such a way that black levels on the S95H and S90H appear purplish-gray instead of deep, inky black. This would not be the case with a glossy-style screen.</p><p>Both TVs ship with Samsung's Solar Cell remote control, which automatically charges its lithium-ion battery via indoor/outdoor light. This convenient feature saves on the waste that comes with disposable batteries, but the Solar Cell remote's lack of an input button is a bit inconvenient.</p><p>There's no denying that the S95H features a more luxurious look and feel. But the S90H's design is far less divisive.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-performance">Samsung S95H vs S90H: Performance</h2><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="M79zQxVBgVMFEYLUetsB6o" name="Samsung-55-inch-S90H--8" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/M79zQxVBgVMFEYLUetsB6o.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>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were set to Samsung's Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Samsung S95H</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>253</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>2.2</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,721</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.92%</p></td><td  ><p>99.34%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.6%</p></td><td  ><p>77.83%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.7</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>Both TVs deliver the performance-related benefits that we've come to expect from OLED TVs: perfect black levels, pixel-level dimming and ultra-accommodating viewing angles. Because of these benefits, pretty much everything look superb on both the S95H and S90H.</p><p>However, compared to the S90H, the S95H offers a superior picture. The differences come down to two key areas of performance: brightness and color.</p><p>Almost every size in the S95H leverages Samsung Display's quantum dot-enhanced OLED technology (also known as QD-OLED). Samsung's mid-range S90 series featured a QD-OLED display last year, but this year, every size in the S90H series makes use of a standard WOLED display.</p><p>There are many <a href="https://www.tomsguide.com/tvs/oled-tvs/qd-oled-vs-woled-whats-the-difference-in-2025">differences between QD-OLED and WOLED</a>, but for our purposes, here's what you need to know: The S95H offers better HDR brightness and color volume than what you'll see on WOLED-equipped OLED TVs like the S90H.</p><p>As you can see from our test results, the S95H is capable of pumping nearly twice the level of brightness to HDR highlights than the S90H. During HDR movies, shows and games, highlights — like the sharp reflection of sunlight off the hood of a car — are appear much brighter on the S95H.</p><p>This added highlight brightness adds tremendously to the S95H's ability to create visual depth. It also allows for better detail around said highlights.</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="ddhs67cP7D9Efs3irU7iy9" name="Samsung-S95H--8" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/ddhs67cP7D9Efs3irU7iy9.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><div><blockquote><p>The added range of colors makes for a more color-rich viewing experience on the S95H.</p></blockquote></div><p>But the primary benefit of the S95H's quantum dots can be seen in its color volume. Thanks to Samsung Display's enhanced OLED display, it covers 89% - 90% of the BT.2020 color space (compared to about 78% on the S90H).</p><p>The added range of colors makes for a more color-rich viewing experience on the S95H, particularly during cinematic, HDR content. Bold, bright primary colors are punchier, but the S95H is particularly good at rendering accurate skin tones and low-luminance colors like dark blue.</p><p>Despite its shortcomings when compared to the S95H, the Samsung S90H is nevertheless a sensational TV. Its roughly 1,500 nits of HDR highlight brightness is more than enough for an eye-popping, cinematic picture. It's an OLED TV, after all, so it's not saddled with light bloom and haloing around bright objects.</p><p>I'm willing to bet that nearly everyone who spends time with the S90H will walk away impressed with its accurate, OLED-driven performance. The S95H is just brighter, more colorful and guided by more-advanced processing. In a side-by-side comparison, the S95H's advantages really shine.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-smart-platform-and-features">Samsung S95H vs S90H: Smart platform and 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wd3dKWhjgyNN5NN3e3Zbt9" name="Samsung-S95H--11" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/wd3dKWhjgyNN5NN3e3Zbt9.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>Both the S95H and the S90H are built around a newly refreshed version of Samsung's Tizen-based smart platform, Smart Hub. This version is similar to what we saw across the brand's 2025 lineup, but there are some subtle changes to the user interface that improve the overall experience. For instance, new this year is a menu bar at the top of the screen that provides quick access to important settings.</p><p>I suspect that most people that choose to rely on Smart Hub as their daily streaming platform will find it decent enough. Navigation and load times are similar across both TVs.</p><p>When it comes to additional features and enhancements, these TVs are nearly identical. Both sets support 4K/120Hz gaming (the highest 4K spec on current-gen consoles), and with a gaming PC linked up, both OLEDs can support 4K titles at up to 165Hz.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-verdict">Samsung S95H vs S90H: 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="LAiT9M2XhwKcGgSJPKgJDo" name="Samsung-55-inch-S90H--18" alt="The remote for a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/LAiT9M2XhwKcGgSJPKgJDo.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><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>25</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>96</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>The Samsung S95H is an astonishing TV. Its quantum-dot color is nearly unmatched among OLED TVs, and it's also one of the brightest OLEDs you can buy right now. This makes it a safer bet than the S90H for brighter-than-average rooms, all while creating a truly impressive sense of visual depth.</p><p>But all of this performance upside comes at a steep cost. Right now, the <a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow">65-inch Samsung S95H is $2,999 at Best Buy</a>, which is prohibitively pricey for the average consumer — even those willing to spend over a thousand bucks on an impressive, new TV.</p><p>This is the primary reason why I recommend the Samsung S90H over its flagship-level sibling. The <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch S90H is currently $1,799 at Best Buy</a>, and while it's not as bright and colorful as the S95H, you're still getting a near-identical set of features for gaming and streaming. In addition, the S90H's frame-free design is a safer bet for the average shopper.</p><p>I won't tell you that the S95H's sensational performance isn't worthy of the S95H's added cost. For home theater enthusiasts who've been saving up for a life-changing TV, the S95H is probably worth its price.</p><p>The S90H has far greater appeal for most people shopping for a higher-end TV. I suspect it'll be the more popular model in 2026.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.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/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/micro-rgb-vs-oled-tvs-whats-the-difference">Micro RGB vs OLED TVs: What’s the difference?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8, Fold 8 Ultra, and Flip 8 battery life tested — silicon carbon pays off ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-battery-tests-silicon-carbon-pays-off</link>
                                                                            <description>
                            <![CDATA[ Armed with silicon-carbon batteries, Samsung’s new foldables deliver massive generational battery gains led by the Z Fold 8 Ultra. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Znp6ZXPf4UfqPWZWfDpivF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Lrz7DaxqAmqjxTXCRxXmTQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.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/Lrz7DaxqAmqjxTXCRxXmTQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Samsung Galaxy Z 8 lineup in hand]]></media:description>                                                            <media:text><![CDATA[The Samsung Galaxy Z 8 lineup in hand]]></media:text>
                                <media:title type="plain"><![CDATA[The Samsung Galaxy Z 8 lineup in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Lrz7DaxqAmqjxTXCRxXmTQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As much as I rave about the extra utility that the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a> have over traditional slabs, there’s one unspoken compromise they make: subpar battery life. Even though I personally don't mind topping off at some point during the workday, doing so can be a deal breaker for anyone who craves all-day endurance.</p><p>With the launch of Samsung’s new foldables, they certainly have a lot to prove — more so when they’re also some of the thinnest and lightest models to date. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8</a>, <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Z Fold 8</a>, and <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Z Fold 8 Ultra</a> are notable as the first Samsung devices to adopt silicon-carbon batteries, which pack more capacity without adding extra bulk.</p><p>Paired with the power-efficient <a href="https://www.tomsguide.com/phones/android-phones/qualcomms-snapdragon-8-elite-gen-5-promises-big-performance-and-ai-upgrades-and-we-could-see-them-in-the-galaxy-s26-ultra">Snapdragon 8 Elite Gen 5 </a>silicon, they’re bound to be some of the longest-lasting foldables to pass through the Tom’s Guide labs. After putting them through a barrage of battery drain tests, I can tell you they don’t disappoint.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-battery-life-results"><span>Galaxy Z Fold 8 vs Fold 8 Ultra vs Flip 8: Battery life results</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Battery Capacity (mAh)</strong></p></td><td  ><p><strong>Battery Life (hrs:mins)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 8</strong></p></td><td  ><p>4,300 mAh</p></td><td  ><p>12:50</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 7</strong></p></td><td  ><p>4,300 mAh</p></td><td  ><p>12:24</p></td></tr><tr><td class="firstcol " ><p><strong>Razr Ultra (2026)</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>16:20</p></td></tr></tbody></table></div><p>Interestingly, the Z Flip 8’s battery life performance doesn’t seem as dramatic as the other phones — especially considering it packs the same 4,300 mAh capacity as before. What’s different this time is how Samsung engineered the phone to be thinner and lighter than its predecessor without compromising on battery capacity.</p><p>The new flip-style phone clocks in at 12 hours and 50 minutes, representing a 3.5% increase over the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-hands-on-review-feels-like-flip-phone-perfection">Flip 7’s</a> 12:24 runtime. Against its biggest rival, the <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-ultra-2026-review">Razr Ultra (2026)</a>, Motorola still holds the title of the longest-lasting flip phone with a time of 16 hours and 20 minutes. That’s a huge gap, primarily aided by Motorola's massive 5,000 mAh battery.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Battery Capacity (mAh)</strong></p></td><td  ><p><strong>Battery Life (hrs:mins)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>4,800 mAh</p></td><td  ><p>12:20</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>14:09</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>4,400 mAh</p></td><td  ><p>10:44</p></td></tr><tr><td class="firstcol " ><p><strong>Razr Fold</strong></p></td><td  ><p>6,000 mAh</p></td><td  ><p>14:44</p></td></tr><tr><td class="firstcol " ><p><strong>Pixel 10 Pro Fold</strong></p></td><td  ><p>5,015 mAh</p></td><td  ><p>12:16</p></td></tr></tbody></table></div><p>Despite this, where Samsung truly makes a massive leap is in its flagship book-style foldables. The premier Galaxy Z Fold 8 Ultra logs an extraordinary 14 hours and 9 minutes, blowing past the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Z Fold 7’s</a> 10 hours and 44 minutes. That’s an<strong> impressive 31.8% increase in endurance</strong>. Likewise, the Galaxy Z Fold 8 also sees a substantial gain at 12 hours and 20 minutes — a 14.8% improvement compared to last year's Fold 7.</p><p>Against its key rivals, the Z Fold 8 Ultra proves it can hold its ground with the best in the business. Clocking in at 14 hours and 9 minutes, Samsung's premium foldable comfortably outperforms the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-10-pro-fold-review">Google Pixel 10 Pro Fold</a> by a margin of 15.3%.</p><h2 class="article-body__section" id="section-galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-charging-speeds"><span>Galaxy Z Fold 8 vs Fold 8 Ultra vs Flip 8: Charging speeds</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Charging Speed (in 15 minutes)</strong></p></td><td  ><p><strong>Charging Speed (in 30 minutes)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>43%</p></td><td  ><p>70%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>49%</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>28%</p></td><td  ><p>54%</p></td></tr><tr><td class="firstcol " ><p><strong>Razr Fold</strong></p></td><td  ><p>41%</p></td><td  ><p>73%</p></td></tr><tr><td class="firstcol " ><p><strong>Pixel 10 Pro Fold</strong></p></td><td  ><p>28%</p></td><td  ><p>58%</p></td></tr></tbody></table></div><p>Charging is another area where Samsung’s new phones make noticeable gains — specifically with a bump to 45W wired charging across all three models. That’s a welcome increase from the previous 25W cap, allowing them to juice up much faster in the same timeframe.</p><p>The Galaxy Z Fold 8 Ultra leads the pack, <strong>hitting 49% in 15 minutes and 76% in 30 minutes</strong>. That’s an impressive leap over the Z Fold 7’s 54% mark, even outstripping the Motorola Razr Fold’s 73%. The standard Z Fold 8 also impresses by reaching 70% in half an hour.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Charging Speed (in 15 minutes)</strong></p></td><td  ><p><strong>Charging Speed (in 30 minutes)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 8</strong></p></td><td  ><p>35%</p></td><td  ><p>59%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 7</strong></p></td><td  ><p>29%</p></td><td  ><p>55%</p></td></tr><tr><td class="firstcol " ><p><strong>Razr Ultra (2026)</strong></p></td><td  ><p>42%</p></td><td  ><p>74%</p></td></tr></tbody></table></div><p>Meanwhile, the Z Flip 8 offers a slighter improvement over its predecessor, reaching 59% in 30 minutes compared to the Flip 7’s 55% — a surprisingly modest gain given the wattage upgrade. While that still trails the Motorola Razr Ultra’s blazing 74% charge result, Samsung’s entire 2026 lineup comfortably outpaces rivals like the Google Pixel 10 Pro Fold (58%), ensuring less time tethered to a wall adapter.</p><h2 class="article-body__section" id="section-galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-verdict"><span>Galaxy Z Fold 8 vs Fold 8 Ultra vs Flip 8: 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:4318px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PEQ4Xb5Gy5qwqg5NJJmYv" name="Samsung Galaxy Z 8 lineup" alt="Samsung Galaxy Z 8 lineup." src="https://cdn.mos.cms.futurecdn.net/PEQ4Xb5Gy5qwqg5NJJmYv.jpg" mos="" align="middle" fullscreen="" width="4318" height="2429" attribution="" endorsement="" class="inline"></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 weren’t convinced already, I’ll state it again: silicon-carbon batteries are making a massive impact — and Samsung’s new foldables cement my sentiment. Foldable phones have come a long way, and battery performance is no longer one of their compromises.</p><p>By introducing silicon-carbon battery technology alongside 45W wired charging, Samsung’s 2026 Galaxy Z lineup delivers meaningful upgrades where it matters most and makes them solid <a href="https://www.tomsguide.com/us/smartphones-best-battery-life,review-2857.html">best phone battery life </a>contenders. These improvements should translate to tangible real-world gains, powering you through a full workday without the constant need to top off.</p><p>While Motorola continues to push the upper boundaries of battery life with its Razr series, Samsung’s Galaxy Z Fold 8 Ultra stands out as the ultimate powerhouse, comfortably outlasting rivals like the Pixel 10 Pro Fold while charging faster than ever before. Whether you prefer a compact flip or an immersive book-style screen, you can finally enjoy foldable productivity without constantly watching your battery level.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-e47Y4X"></div>                            </div>                            <script src="https://kwizly.com/embed/e47Y4X.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/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview">‘We're pretty confident': How Samsung plans to fight the first foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Galaxy Z Fold 8 vs Fold 8 Ultra vs Flip 8 benchmarked — the results are in ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-benchmarked-the-results-are-in</link>
                                                                            <description>
                            <![CDATA[ We benchmark Samsung’s new Galaxy Z Fold 8 Ultra, Z Fold 8, and Z Flip 8 to see how the Snapdragon 8 Elite Gen 5 performs against the competition. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UDpKo9PbwXUMeioND3wrZT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/8V5LZu98LotXf8VAQDiLu-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 20:00:38 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 21:27:52 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.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/8V5LZu98LotXf8VAQDiLu-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z 8 lineup.]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z 8 lineup.]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z 8 lineup.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/8V5LZu98LotXf8VAQDiLu-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung’s new foldables were announced at <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a>, and despite their vastly different form factors, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8</a>, <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Z Fold 8</a>, and <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Z Fold 8 Ultra</a> all share one crucial component: Qualcomm’s <a href="https://www.tomsguide.com/phones/android-phones/qualcomms-snapdragon-8-elite-gen-5-promises-big-performance-and-ai-upgrades-and-we-could-see-them-in-the-galaxy-s26-ultra">Snapdragon 8 Elite Gen 5 chip</a>.</p><p>That’s a big deal. Last year, Samsung opted for its in-house <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-launches-exynos-2500-just-ahead-of-unpacked-chip-rumored-to-power-galaxy-z-flip-7">Exynos 2500</a> chipset on the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-hands-on-review-feels-like-flip-phone-perfection">Z Flip 7</a> while saving Qualcomm’s flagship silicon for the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Z Fold 7</a>. This year’s rollout puts all three foldable contenders on even ground — and after putting them through a full suite of benchmark tests, I can tell you they’re easily the most powerful foldables to ever pass through the Tom’s Guide labs.</p><p>However, subtle performance variations between the three reveal which device actually reigns supreme. Here’s how the numbers break down.</p><div class="product"><a data-dimension112="86c3022e-87a6-11f1-a99c-29cf8f4aba64" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Z8JQhsbfoEz3hniEDEyqBV" name="Samsung Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Z8JQhsbfoEz3hniEDEyqBV.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="86c3022e-87a6-11f1-a99c-29cf8f4aba64" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in. The phone features an 7.6-inch AMOLED (1848 x 2448) 120Hz main display, 5.5-inch AMOLED (1248 x 1972) 120Hz cover display, Snapdragon 8 Elite CPU, 12GB of RAM, and 256GB of storage. On the rear you get a 50MP main wide-angle lens and 50MP ultra-wide lens. Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Galaxy Z Fold 8 hands-on</a>, we called it our favorite foldable to date. It loses the telephoto zoom, but you get a greatly reduced crease, brighter main screen, and lighter design.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="86c3022e-87a6-11f1-a99c-29cf8f4aba64" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="86c302a6-87a6-11f1-b943-c9f803c3f9d4" data-action="Deal Block" data-label="If you want the premier foldable, the Galaxy Z Fold 8 Ultra packs a larger 8-inch main display, a more robust triple camera, and a large 5,000 mAh battery capacity. For a limited time, Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra." data-dimension48="If you want the premier foldable, the Galaxy Z Fold 8 Ultra packs a larger 8-inch main display, a more robust triple camera, and a large 5,000 mAh battery capacity. For a limited time, Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra." data-dimension25="$2099.99" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XUkFwYXYpdYjL4TYYivxEg" name="Samsung Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XUkFwYXYpdYjL4TYYivxEg.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you want the premier foldable, the Galaxy Z Fold 8 Ultra packs a larger 8-inch main display, a more robust triple camera, and a large 5,000 mAh battery capacity. For a limited time, Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra.<a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J/" target="_blank" rel="nofollow" data-dimension112="86c302a6-87a6-11f1-b943-c9f803c3f9d4" data-action="Deal Block" data-label="If you want the premier foldable, the Galaxy Z Fold 8 Ultra packs a larger 8-inch main display, a more robust triple camera, and a large 5,000 mAh battery capacity. For a limited time, Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra." data-dimension48="If you want the premier foldable, the Galaxy Z Fold 8 Ultra packs a larger 8-inch main display, a more robust triple camera, and a large 5,000 mAh battery capacity. For a limited time, Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra." data-dimension25="$2099.99">View Deal</a></p></div><div class="product"><a data-dimension112="86c3030a-87a6-11f1-ba9e-fda16b9a064b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1199px;"><p class="vanilla-image-block" style="padding-top:125.10%;"><img id="rTkAPNzBbP77RUVHtMufoZ" name="Galaxy Z Flip 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rTkAPNzBbP77RUVHtMufoZ.jpg" mos="" align="middle" fullscreen="" width="1199" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="86c3030a-87a6-11f1-ba9e-fda16b9a064b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension25=""><strong>up to $1,200 off w/ trade-in + $200 gift card @ Best Buy</strong></a><br>Best Buy is offering one of the best Galaxy Z Flip 8 deals right now. This flip style phone might look the same, but it's actually thinner and lighter. Plus, it's packing some new features, like Horizon Lock when you shoot videos. Purchase your phone at Best Buy and you'll get up to $1,200 off via trade-in and a free $200 Best Buy gift card. <a class="view-deal button" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="86c3030a-87a6-11f1-ba9e-fda16b9a064b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-galaxy-z-flip-8-vs-fold-8-vs-fold-8-ultra-geekbench"><span>Galaxy Z Flip 8 vs Fold 8 vs Fold 8 Ultra: GeekBench</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>GeekBench 6 (single / multi-core)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 8</strong></p></td><td  ><p>3,627 / 11,215</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 7</strong></p></td><td  ><p>2,286 / 8,079</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>3,659 / 11,020</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>3,733 / 11,457</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>3,052 / 9,735</p></td></tr></tbody></table></div><p>When it comes to raw processing power, the Z Fold 8 Ultra leads the pack, breaking the 3,700 barrier in Geekbench 6.7 with an average single-core score of 3,733 and a multi-core score of 11,457.</p><p>A surprising trend emerges between the other two foldables. While the standard Galaxy Z Fold 8 posts a slightly higher single-core score (3,659), the compact Z Flip 8 actually outperforms it in multi-core performance, hitting 11,215 compared to the Fold 8’s 11,020.</p><div><blockquote><p>What’s really notable here is how the Z Flip 8 yields a massive 59% jump in single-core performance</p></blockquote></div><p>What’s really notable here is how the <strong>Z Flip 8 yields a massive 59% jump in single-core performance</strong> and an equally compelling 39% increase in multi-core power — starkly highlighting the gap between Samsung's previous Exynos silicon and the Snapdragon 8 Elite Gen 5.</p><p>While the generational leap isn’t quite as dramatic for the Z Fold 8 Ultra, it remains a marked improvement. Samsung's <strong>top-tier foldable still delivers a solid 22.3% boost in single-core power</strong> and a 17.7% bump in multi-core performance over the Fold 7.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>GeekBench 6 (single / multi-core)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Ultra (2026)</strong></p></td><td  ><p>2,886 / 8,982</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Fold</strong></p></td><td  ><p>2,711 / 9,134</p></td></tr><tr><td class="firstcol " ><p><strong>Google Pixel 10 Pro Fold</strong></p></td><td  ><p>2,344 / 6,332</p></td></tr></tbody></table></div><p>Against their biggest rivals, Samsung’s new foldables still come out on top hands down. The Z Flip 8 comfortably outperforms the <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-ultra-2026-review">Razr Ultra (2026)</a> in Geekbench 6, boasting a superb 25.7% advantage in single-core speeds and a 24.9% lead in multi-core performance.</p><p>Meanwhile, the Z Fold 8 Ultra delivers 37.7% faster single-core and 25.4% higher multi-core output compared to the <a href="https://www.tomsguide.com/phones/motorola-phones/motorola-razr-fold-review">Razr Fold</a>. The contrast is even starker against the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-10-pro-fold-review">Google Pixel 10 Pro Fold</a>, where Samsung’s flagship foldable completely blows past Google’s offering with a 59.3% higher single-core score and an astonishing 80.9% lead in multi-core performance.</p><h2 class="article-body__section" id="section-galaxy-z-flip-8-vs-fold-8-vs-fold-8-ultra-3dmark"><span>Galaxy Z Flip 8 vs Fold 8 vs Fold 8 Ultra: 3DMark</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Wild Life Unlimited (score / FPS)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 8</strong></p></td><td  ><p>29,723 / 177.9</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Flip 7</strong></p></td><td  ><p>19,144 / 114.64</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>26,608 / 165.3</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>30,980 / 185.51</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>20,529 / 123.83</p></td></tr></tbody></table></div><p>Out of the bunch, the Galaxy Z Fold 8 Ultra once again claims the top spot, breaking past the 30,000 threshold with a high score of 30,980 and an average frame rate of 185.51 fps. The latter is honestly mind boggling and shows the kind of graphic processing muscle power it’s packing.</p><p>The compact Galaxy Z Flip 8 delivers another impressive showing, taking second place with a score of 29,723 and 177.90 fps, outperforming the Galaxy Z Fold 8, which logged a score of 26,608 and 165.30 fps. While all three foldables deliver plenty of graphical muscle for mobile gaming, the Ultra and Flip 8 demonstrate a noticeable edge in peak rendering speeds for those who can’t afford a sliver of choppy gameplay.</p><p>Again, the biggest year-over-year improvement goes to the Z Flip 8, which achieves a 55.3% higher score and a 55.2% boost in average frame rate over the Z Flip 7. I can’t stress enough the immense graphical power boost it’s getting going from an Exynos to a Snapdragon.</p><p>As for the Z Fold 8 Ultra? It tells a similar story of dominant growth by delivering a 50.9% increase in overall score and a 49.8% jump in frame rate performance compared to the Z Fold 7. This, obviously, should result in gameplay being a lot smoother.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Wild Life Unlimited (score / FPS)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Ultra (2026)</strong></p></td><td  ><p>24437 / 146.33</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Fold</strong></p></td><td  ><p>21,580 / 129.23</p></td></tr><tr><td class="firstcol " ><p><strong>Google Pixel 10 Pro Fold</strong></p></td><td  ><p>13,306 / 79.68</p></td></tr></tbody></table></div><p>In the battle of the clamshells, the Z Flip 8 holds a commanding lead over its primary rival, the Motorola Razr Ultra (2026). In fact, Samsung's flip phone maintains a solid 21.6% advantage in both overall score and frame rate rendering.</p><p>Samsung’s dominance is even more pronounced in the book-style category, where the Galaxy Z Fold 8 Ultra delivers 43.6% higher graphical performance than the Razr Fold. That gap widens tremendously against the Pixel 10 Pro Fold, with the Z Fold 8 Ultra boasting a mind-boggling 132.8% lead over Google’s flagship foldable.</p><h2 class="article-body__section" id="section-galaxy-z-flip-8-vs-fold-8-vs-fold-8-ultra-verdict"><span>Galaxy Z Flip 8 vs Fold 8 vs Fold 8 Ultra: 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:2797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="jDQR6ZY2cx8T5NxgCddxW" name="Samsung Galaxy Z 8 lineup" alt="Samsung Galaxy Z 8 lineup." src="https://cdn.mos.cms.futurecdn.net/jDQR6ZY2cx8T5NxgCddxW.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: Tom's Guide)</span></figcaption></figure><p>Samsung’s decision to go all-in on Qualcomm’s Snapdragon 8 Elite Gen 5 silicon across its entire 2026 lineup pays off. All three foldables deliver generational leaps in raw CPU processing and peak graphical output.</p><p>However, if you want the absolute pinnacle of performance, the Galaxy Z Fold 8 Ultra reigns supreme — dominating every metric while outpacing rivals like the Pixel 10 Pro Fold and Motorola Razr Fold.</p><p>Meanwhile, the compact Galaxy Z Flip 8 emerges as the surprise hero of the bunch, proving that big things come in small packages. While the standard Galaxy Z Fold 8 remains a dependable workhorse, Samsung’s new devices aren't just incremental upgrades — they set a new benchmark for foldables.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XYddRO"></div>                            </div>                            <script src="https://kwizly.com/embed/XYddRO.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/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview">‘We're pretty confident': How Samsung plans to fight the first foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My first 36 hours with the Samsung Galaxy Z Fold 8: I was wrong about the passport screen (but that $1,899 price still stings) ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/my-first-36-hours-with-the-samsung-galaxy-z-fold-8-i-was-wrong-about-the-passport-screen-but-that-usd1-899-price-still-stings</link>
                                                                            <description>
                            <![CDATA[ I spent 36 hours with the new Samsung Galaxy Z Fold 8. Here is why the new passport display, Flex Titanium crease, and battery life won me over. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jmy3pUQsyZxCmkqHWbv4Tc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 09:58:13 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 11:48:50 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You may have seen that Samsung showed me all of its <a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">canceled prototypes of the Galaxy Z Fold 8</a>. That moment combined with my time flying to China and checking out this <a href="https://www.tomsguide.com/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">future of passport foldables that the iPhone Ultra</a> looks set to adopt made me nervous that this stubbier size isn’t quite right.</p><p>But after my first 36 hours with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Z Fold 8</a>, I’m coming around to the idea of this aspect ratio choice. Maybe the weight of my previous experiences clouded my judgement, but now out in the real world, it’s starting to click and make sense. </p><p>Throw in a strong camera, good battery life and beasty internals, and this has been a great first day of using Samsung’s new blower. I’ve seen a bunch of questions and thoughts in our comments, so these 24 hours have been more focused on answering these.</p><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><h2 id="what-s-the-aspect-ratio-like">What’s the aspect ratio like?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9twLgAps2V4aAgB93fMayR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/9twLgAps2V4aAgB93fMayR.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>We’ve been used to taller foldables that open out to a much more squared-off display for years now. Of course, other companies have tried the squished form factor like this, but this is Samsung’s first stab at it.</p><p>And honestly? At first I was feeling weird about it. Don’t get me wrong here, the smaller design does feel great to hold, and the one-handed operation feels like a blast from the past when small phones were cool.</p><p>That being said, the aspect ratio choice made here is a tough one to make — forming an awkward balance that black bars vertical content on the outside screen, as well as landscape on that 4:3 screen on the inside. Given the way “<a href="https://www.tomsguide.com/entertainment/movies/the-odyssey-review">The Odyssey</a>” is filmed in 70mm IMAX, this phone must be Christopher Nolan’s dream come true.</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pY2CmKMLZLmC2oGDYKPT7S" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/pY2CmKMLZLmC2oGDYKPT7S.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 compared to the square of the Ultra, the size of content on this phone is <strong>much </strong>better. Catching up on Netflix is a joy on this screen, though the audio sounds a bit lop-sided when both speakers are on the left side, so headphones are a must.</p><p>And when it comes to getting stuff done, of course the Ultra is more angled towards that, but flipping this into a portrait 3:4 ratio is great for this specific job. Samsung worked on the software to optimize the keyboard for typing away, while the extra height does give you a lot of real estate for multi-tasking. </p><p>Also, big screen TikTok is fun, web browsing feels much better with this vertical canvas, and I now have a foldable Kindle in my pocket. Pretty sweet!</p><h2 id="is-the-crease-visible">Is the crease visible?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6bxGdiam3BDqcSojZNdkyR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/6bxGdiam3BDqcSojZNdkyR.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>Samsung made a whole thing about the use of a <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">titanium alloy film</a> atop the inside screen and titanium plate beneath it — with the mission being to improve durability and eliminate the crease.</p><p>Now, does it eliminate it? No. It’s a lot better than it has been before, but at certain angles with the light bouncing off it, you can see the outline of it. But you have to be <em>very </em>specific about it to see the thing.</p><p>Also, shout-out to that anti-reflective coating. Of course, the naming of it may feel a little misleading when you still see reflections bounce off of it. However, there is a noticeable reduction in the glare, and light sources have been dimmed quite a bit by whatever the coating is doing here.</p><h2 id="zippy-and-long-lasting">Zippy and long-lasting</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ouPQLdrqRKCXrqcAc6vDuR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/ouPQLdrqRKCXrqcAc6vDuR.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>With Snapdragon 8 Elite Gen 5 for Galaxy inside with 12GB RAM does keep things nice and spritely under multitasking pressures for sure. And now that we’ve had these benchmarked in the lab, you can see this reflected in the numbers too.</p><div ><table><thead><tr><th class="firstcol " ><p>Phone</p></th><th  ><p>Geekbench 6 single-core</p></th><th  ><p>Geekbench 6 multicore</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8</strong></p></td><td  ><p>3603</p></td><td  ><p>10949</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td><td  ><p>3785</p></td><td  ><p>11563</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3871</p></td><td  ><p>9968</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Ultra</strong></p></td><td  ><p>2886</p></td><td  ><p>8982</p></td></tr><tr><td class="firstcol " ><p><strong>Google Pixel 10 Pro Fold</strong></p></td><td  ><p>2334</p></td><td  ><p>6332</p></td></tr></tbody></table></div><p>That single-core speed especially manifests itself in a snappy, responsive UI and opening apps at breakneck speeds, while the multicore comes into effect when I’m hopping between apps running in the background.</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:3919px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="i9cFmSQeutRkXafFNF5UTX" name="Galaxy Z Fold 8-LIST2" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/i9cFmSQeutRkXafFNF5UTX.jpg" mos="" align="middle" fullscreen="" width="3919" height="2204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Then there’s the battery — a 4,800 mAh cell that embraces silicon carbon battery tech to add a little more juice while keeping it thin and light. In our lab testing, we’ve been able to get 12 hours and 20 minutes out of it on one charge.</p><p>In real-life, I’ve been able to get through an entire day of standard use with no real worries. Starting from 100%:</p><ul><li><strong>Two hours at the gym with music playing and regular screen opening to read news between sets: </strong>Battery went down to 92%</li><li><strong>Two hours on the phone with my wife — visiting websites on inside screen to finalize wedding celebration plans: </strong>Battery went down to 84%</li><li><strong>TikTok wormhole on inside screen for an hour: </strong>Battery went down to 79%</li><li><strong>Photography trip around London, multitasking between messaging apps, TikTok on the Underground, a couple phone calls, web browsing, and taking many photos: </strong>Battery went down to 64%</li></ul><p>By the time I got to the Nvidia afterparty at 10pm, the battery was at around 50%. Of course, if I’m more sparing with my use, you can make this run much longer. But it’s clear you’re getting all-day usage with no problems.</p><h2 id="snap-happy">Snap happy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oamV7tYGgYvikv5tkwbSFS" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/oamV7tYGgYvikv5tkwbSFS.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 always have a beef with Samsung about its camera science. The hardware is always good, but coming from being an iPhone user, the focus on vividity always makes me feel like the phones of old have just vomited color all over the screen.</p><p>Not anymore. These dual 50MP shooters are <strong>impressive</strong>. Detail preservation is good and while color balance does lean towards the warmer tones, they’re not as distractingly vivid as before — keeping natural skin tones looking realistic.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/29iQeBJUpQQUAbSetehJpS.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PGxQecLCXiBnVC3CQjqQfS.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QNP5MEL6HrDsn53sTA8JSS.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>And shout-out to night time photography too. I know Samsung made a whole song and dance about Nightography with the Ultra’s 200MP lens, but you’re getting more than enough of that experience with a quarter of the megapixels here.</p><h2 id="outlook">Outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gW5R8PkMJxqWV74zHBrCpR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/gW5R8PkMJxqWV74zHBrCpR.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>This is the first foldable I’ve properly daily driven. I have tested others in the past of course, but this is my first concerted effort to ditch a candy bar and give folds a chance. And after my first day and a half, I get the attraction to it.</p><p>There was a part of me that feared this would be a pure gimmick. And to many of you reading this, chances are it will be. You’ve got to have very specific use cases on lock to make the most of this — the work and content needs for that bigger screen if you’re always on-the-go.</p><p>If you have them, this more easily pocketable foldable is a real conversation starter, and a genuinely nice form factor. My only real problem is that $1,899 price tag. It’s massive to say the least! You can feel the premium nature of this phone, but that’s a huge cost to put on people. </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/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Gemini Notebook just sold me on foldables — here's why I finally get the hype ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/gemini-notebook-just-sold-me-on-foldables-heres-why-i-finally-get-the-hype</link>
                                                                            <description>
                            <![CDATA[ Google's Gemini Notebooks and NotebookLM are positioned as similar tools, but they shine in different areas. Here's how to use them together. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WazR2tLZaroMHoeMgCEkHE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/SFMre9eVbGTMvHoUo58FPS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.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/SFMre9eVbGTMvHoUo58FPS-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Best foldable phones.]]></media:description>                                                            <media:text><![CDATA[Best foldable phones.]]></media:text>
                                <media:title type="plain"><![CDATA[Best foldable phones.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/SFMre9eVbGTMvHoUo58FPS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I've been impressed with Samsung's launch of a new foldable every summer, but have held on to my iPhone because my thought was always, "That's cool, but why wouldn't I just use my laptop?" </p><p>Even after reviewing plenty of AI features over the last couple of years, I still couldn't justify carrying a phone that unfolded into a small tablet. I really didn't feel as though I had a purpose for it. But, <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a> finally changed my mind.</p><p>Oddly enough, it wasn't the thinner design that caught my attention or the cameras tht stood out to me. This year it was the ability to use Gemini Notebook (formally<a href="https://www.tomsguide.com/ai/i-used-notebooklm-to-make-a-family-wiki-and-now-everything-i-need-to-run-the-household-is-a-click-away"> NotebookLM</a>) on the phone. </p><p>When Google announced that Gemini Notebook will come preinstalled on Samsung's new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-official-renders-just-leaked-before-unpacked-here-it-is-in-every-single-color">Galaxy Z Fold lineup</a>, alongside a broader push to make Gemini work across dozens of apps, I was sold. For the first time, I looked at a foldable and thought: <em>"That's actually the device this was built for."</em></p><h2 id="gemini-notebook-feels-cramped-on-a-normal-phone">Gemini Notebook feels cramped on a normal phone </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:696px;"><p class="vanilla-image-block" style="padding-top:56.61%;"><img id="hMBysPJZniSW3QEz4fLz5R" name="Screenshot 2026-07-20 105328" alt="samsung foldable 2026 leaked marketing materials" src="https://cdn.mos.cms.futurecdn.net/hMBysPJZniSW3QEz4fLz5R.png" mos="" align="middle" fullscreen="" width="696" height="394" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>I already use Gemini Notebook almost every day. It's actually one of my very favorite AI tools. It lets me dump messy notes, PDFs, YouTube videos, research papers and random thoughts into one place before asking questions or generating summaries. <br><br>It's incredible for professionals as well as students who want to stay organized and prepared. But as much as I love it, using it on my iPhone hasn't been ideal. The screen makes a difference with Gemini Notebooks becuase it's not really a chatbot. It's more like a workspace. </p><p>Because of the nature of the platform, I want to see my sources while asking questions. And I need to be able to scroll through notes without constantly switching views. Sometimes I want an AI-generated study guide on one side and the original document on the other. I didn't realize it, but having the ability to do that is what was keeping me from successfully using Gemini Notebooks on mobile. On a regular smartphone, that experience feels squeezed into a screen that was never designed for it.</p><h2 id="a-foldable-finally-has-room-to-breathe">A foldable finally has room to breathe </h2><p>Watching Google's demos during Unpacked, something clicked. Open the Fold and suddenly there's enough space to treat Notebook like an actual research desk instead of another messaging app. Using a foldable phone would make reading a research paper so much easier, especially while Gemini explains confusing sections on the other side. <br><br>Or, even planning a vacation with hotel websites open alongside Notebook as it organizes my itinerary. I could see it useful for comparing recipes, watching a cooking video on one side while asking Gemini questions on the other without jumping between apps or trying to zoom in. </p><p>That's the kind of multitasking foldables have always promised, but I've ignored until now. AI finally gives that extra space a real purpose.</p><h2 id="ai-is-giving-foldables-a-reason-to-exist">AI is giving foldables a reason to exist </h2><p>Samsung has spent years trying to convince people that foldables are productivity devices, but I wasn't buying it even though the hardware kept improving. But this year's announcement made all the difference to me. </p><p>Now that Gemini can now automate tasks across more than 40 apps, it makes the larger screen useful for workflows that previously required bouncing between windows. Instead of simply opening multiple apps, the phone becomes a place where AI helps connect them.</p><h2 id="final-thoughts">Final thoughts </h2><p>I know Foldables aren't for everyone. They are expensive and much bulkier than standard phones. Most people don't need an 8-inch display for checking emails or scrolling social media. <br><br>But, I can see Foldables being a real game changer for those who spend their day writing, studying, planning or researching. I think that's the audience Samsung has been searching for all along, and Gemini has sealed the deal for me. </p><p>For the first time, I didn't leave Galaxy Unpacked thinking about the hardware, instead, I thought about how I would actually use the phone in real life. For someone who uses Gemini Notebooks for just about everything, I'm looking forward to taking advantage of AI that works alongside me.  The extra screen suddenly feels like a necessity now that Gemini is baked in. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Does your Samsung TV keep adjusting its own volume? Here’s how to turn off Active Voice Amplifier ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/samsung-tv-keep-adjusting-its-own-volume-heres-how-to-turn-off-active-voice-amplifier</link>
                                                                            <description>
                            <![CDATA[ Wonder why your Samsung TV gets louder by itself? It's Active Voice Amplifier at work. Here's how this listening feature works and how to turn it off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2SiWKwz8RweTqXZFo6iWZJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mC56WgepBrpRfdzJSPmw73-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 07:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G.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/mC56WgepBrpRfdzJSPmw73-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Samsung S95H OLED TV in a wall-mounted position displaying a scene from &quot;Star Wars: The Rise of Skywalker&quot;]]></media:description>                                                            <media:text><![CDATA[The Samsung S95H OLED TV in a wall-mounted position displaying a scene from &quot;Star Wars: The Rise of Skywalker&quot;]]></media:text>
                                <media:title type="plain"><![CDATA[The Samsung S95H OLED TV in a wall-mounted position displaying a scene from &quot;Star Wars: The Rise of Skywalker&quot;]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mC56WgepBrpRfdzJSPmw73-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If your Samsung TV automatically turns up its volume when life gets loud, it’s all thanks to a built-in feature called Active Voice Amplifier (AVA). </p><p>I caught this feature in action during a routine sweep of my living room. Pushing my vacuum cleaner toward the TV stand, I noticed something strange: the show I was watching suddenly cranked up its own volume. When I pulled the vacuum away, the sound dropped back down. </p><p>At first, I thought I was standing on the remote control. Turns out the TV was just working exactly as Samsung intended, which then sent me down a rabbit hole into its audio settings.</p><h2 id="what-is-active-voice-amplifier-ava">What is Active Voice Amplifier (AVA)?</h2><p>Not every Samsung TV does this. Active Voice Amplifier (AVA) (or its upgraded cousin, AVA Pro), is a feature exclusive to Samsung’s mid-to-high-range models (typically the <a href="https://www.tomsguide.com/reviews/samsung-q70t-qled-tv">Q70 series</a> and up), as it relies on a dedicated built-in microphone sensor on the set itself.</p><p>Part of Samsung’s Intelligent Mode suite, AVA constantly monitors the ambient noise in your living room. When the microphone detects a sudden spike in background noise like a vacuum cleaner, blender, or hair dryer, it automatically boosts the dialogue frequencies on screen so you don't miss a line. Once the noise stops, the volume settles right back down to normal.</p><p>On paper, it’s a brilliant feature for anyone who likes to multitask while watching TV. But the dark price of this convenience is clear: your TV is constantly listening. To catch that vacuum the second it turns on, the TV’s microphone has to stay permanently active, sampling the audio environment in your home.</p><h2 id="the-soundbar-exception">The soundbar exception </h2><p>If you use external speakers, there's an important catch. Plug in a standard soundbar or AV receiver, and AVA is automatically disabled because the TV passes audio control over to your external hardware.</p><p>There is one exception: Samsung’s Q-Series soundbars equipped with Q-Symphony. Because Q-Symphony syncs the TV’s built-in speakers and microphone directly with the soundbar, the system keeps its 'ears' open, allowing Active Voice Amplifier to keep running even through your external sound system.  </p><h3 class="article-body__section" id="section-how-to-turn-off-ava-on-your-samsung-tv"><span>How to turn off AVA on your Samsung TV </span></h3><p>While it’s a clever piece of tech, I prefer controlling my own volume, and having my TV react every time I do chores was a bit unsettling. If you feel the same way, or just find the sudden, drastic volume jumps annoying, you can easily disable 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZoeysftAqSk4xh5nsBRpwF" name="Samsung-S95F-Remote-1" alt="Remote for the Samsung S95F OLED TV" src="https://cdn.mos.cms.futurecdn.net/ZoeysftAqSk4xh5nsBRpwF.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><strong>Press the Home button</strong> on your Samsung remote and <strong>navigate to Settings</strong> (or All Settings). Then <strong>scroll down to</strong> <strong>General</strong> (or General & Privacy on newer models).</p><p><strong>Select Intelligent Mode Settings </strong>and<strong> Toggle Intelligent Mode</strong> off completely, or leave it on and<strong> scroll down to disable just</strong> <strong>Active Voice Amplifier</strong>.</p><p>If the option is greyed out, make sure you are using the TV's internal speakers. If you have a non-Samsung soundbar plugged in, the feature will already be disabled automatically.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O6kKBX"></div>                            </div>                            <script src="https://kwizly.com/embed/O6kKBX.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/tvs/your-samsung-tv-is-watching-you-how-to-turn-off-data-collection">Your Samsung TV is watching you — how to turn off data collection</a></li><li><a href="https://www.tomsguide.com/tvs/change-these-5-samsung-tv-settings-to-make-it-look-and-perform-better">5 Samsung TV settings to change right now to make your TV look and perform better</a></li><li><a href="https://www.tomsguide.com/tvs/i-love-my-samsung-tv-but-this-one-annoying-feature-was-driving-me-crazy-and-wasting-my-money">Your Samsung TV could be quietly driving up your electric bill — here is the setting to change</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt</link>
                                                                            <description>
                            <![CDATA[ Samsung galaxy Z Fold 8 is shaping up to be a great phone, but after 24 hours with the phone there are definitely some things I'd change. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Fti5JmQj4Fg6aqTrXwFdAQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's always exciting to try a brand new phone, and those first 24 hours can be pretty telling. That's especially true when you're making the jump from a regular phone to a foldable, because the fold-out large screen design opens a whole new world of possibilities.</p><p>That's certainly how I felt while unpackaging the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z Fold 8 Ultra </a>— a phone that has so far been living up to its new designation. But a brief hands-on can only tell you so much about a phone, and it's only after spending several hours (or days) with your device that you can get a much clearer idea of what it has to offer.</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/oFT-YOrakEg" allowfullscreen></iframe></div></div><p>The Galaxy Z Fold 8 Ultra could be one of the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a>, pending our full review, thanks to the sheer amount of upgrades Samsung has added this year. But is it really all that? Let's go through my first day with this Ultra foldable, so you can experience the highs (and lows) of picking one up for yourself.</p><h2 id="setting-up">Setting up</h2><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="SxUXvGmQvGJ82W3KnAuTYm" name="PXL_20260723_153353658" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/SxUXvGmQvGJ82W3KnAuTYm.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: Future)</span></figcaption></figure><p>The great thing about modern phones is that they've made the set up process an absolute breeze compared to what it used to be like. Samsung is easily one of the best I've used, especially if you're copying data over from another Samsung phone.</p><p>In fact my<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review"> Galaxy S26 Ultra</a> detected the Z Fold 8 Ultra right away, and brought up the QR code scanner to link these two devices together. The most troublesome part of the whole experience was flicking through the many menus asking you to confirm various permissions, and which search engine you'd like set as your default. </p><p>The actual transfer process happens in the background, beaming over apps, accounts, default settings and everything else you had sitting on your own phone. Since my S26 Ultra doesn't get a ton of use, that process was pretty quick, and your experience will differ depending on how much you actually need to beam to your new phone.</p><p>I also find myself pretty impressed with the way Galaxy foldables set up fingerprint recognition. Samsung phones are usually some of the easiest and fastest devices for setting up biometric security, but with the physical fingerprint scanner all you need to do is wiggle your chosen digit around during the mapping process. None of the tedious lifting and replacing motions that you get with under-display fingerprint scanners. </p><h2 id="adapting-to-new-displays">Adapting to new displays</h2><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="eLMVZ9zvqMV9V9gmY4nUfm" name="PXL_20260723_153800876" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/eLMVZ9zvqMV9V9gmY4nUfm.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: Future)</span></figcaption></figure><p>Switching to a foldable phone means adapting to a brand new set of displays. The 6.5-inch cover display offers a 21:9 aspect ratio, which is noticeably narrower than the 19:5:9 aspect ratio you'd find on most phones. </p><p>Having been used to using  6.3-inch non-folding phones for so long, the narrower form factor is taking some getting used to. To the point where I gravitate towards the 8-inch foldable display instead. It seems like a paradox, but I find the larger screen is a lot more comfortable to use — especially considering the doubled-screen is the perfect size for two-handed use.</p><p>As Samsung says, it's like having two 6.5-inch phones in a single phone.</p><p>One thing I noticed was that the Samsung web browser defaulted to the desktop view on both screens, and to my surprise I actually found it more comfortable to read 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHKpRgYwit7wtK6JkUvEcm" name="PXL_20260723_154034644" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/EHKpRgYwit7wtK6JkUvEcm.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: Future)</span></figcaption></figure><p>Admittedly the text was rather small on the cover display, but the mobile option was too large and squashed together for me to read comfortably. It was almost like I had an accessibility feature that blew up the print for users with visual impairments. That said vertical videos looked perfect on the narrower cover display, with next to no wasted space. </p><p>That was not entirely true for horizontal video, but that just gave the foldable screen even more chance to shine. Especially since Flex Mode let me partially fold up the screen and use the Z Fold 8 Ultra as its own stand.</p><p>I'll admit, though, it does still feel as though something is missing with the larger screen, and <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">I feel like having some kind of S Pen support</a> would help complete the puzzle. I'm not entirely sure I would be using the stylus all that much, but it would be nice to have the option.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><h2 id="not-quite-crease-free">Not quite crease-free</h2><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="MQkbeXqvtqBcXLFh5FTd94" name="PXL_20260723_104725084" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94.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: Future)</span></figcaption></figure><p>One of the most anticipated upgrades on the Z fold 8 Ultra is the flex titanium display, which was heavily <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-may-eliminate-the-display-crease-too-step-aside-iphone-fold">rumored to eliminate the crease down the display</a>. It doesn't take long to spot that this is not really the case, and the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">crease is still visible</a> in certain conditions.</p><p>That being said, the crease is a lot harder to see when compared to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7.</a> It mostly shows up when the screen is switched off, or you find yourself in particularly bright conditions. The fact you have to go out of your way to see the crease means Samsung should be commended for what it's managed by adding the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium</a> display. </p><p>That said, you can still feel the crease when you're scrolling along the large display. It feels almost identical to the Z Fold 7's crease, and I have to admit the more I use the phone the more distracting it is to come across the dip in the middle of the screen. That's definitely something Samsung needs to work on for the Z Fold 9 Ultra.</p><h2 id="galaxy-class-performance">Galaxy-class performance?</h2><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="cTifXBtrnANVtbvxaBQhjm" name="PXL_20260723_153613981" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/cTifXBtrnANVtbvxaBQhjm.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: Future)</span></figcaption></figure><p>While I haven't done any benchmarking with the Galaxy Z Fold 8 Ultra yet, I have done some gaming to try and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">take the new Snapdragon 8 Elite Gen 5 for Galaxy chipset</a> for a spin. Loading up PUBG Mobile and I found that the settings automatically set the frame rate to the highest level, though it was being a little bit stingy with the graphics until I told it to up the ante.</p><p>The performance at the highest possible settings was excellent, as I'd hoped. I didn't notice any frame rate issues while I played, and the graphics were exactly what I expected from PUBG after dabbling with the game over the past few years. Better still I didn't even feel the phone get warm throughout an hour of playthrough, which is always best for the long-term health of the phone.</p><p>As for the battery, I found that this play session ate up around 5% of my battery, including the time it took to download the more advanced graphics. </p><p>Similarly, I forgot to charge the Z Fold 8 Ultra overnight, but still managed to get to around 3.45 p.m. before it flashed up a battery warning. That bodes well for the actual battery life, but since we haven't tested it I can't say whether Samsung's 27 hour battery life claim is accurate or not.</p><h2 id="cameras-are-so-far-so-samsung">Cameras are so-far so-Samsung</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mdwDsgb4mmvfC7T47Efewm" name="PXL_20260723_153702005" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/mdwDsgb4mmvfC7T47Efewm.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 haven't had much need to take photos with the Z Fold 8 Ultra so far, but it's not like I need an excuse to snap photos of my dogs — especially when they make such adorable models. Needless to say, I'm impressed with the photos I've taken with the Galaxy Z Fold 8 Ultra so far.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Rau4SAqveDxu7PjRWnTELn.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y2kGLKf8HndGP4TkV2YPM5.jpg" alt="labador" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZSGz3vXpD6YgrRVP75jPAn.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/eg5zKpgcoFcSz8x9zdLykm.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RZ8K8YeYUkYsVtMUH36Yvm.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/j23D7nFQdRWzBFGi45WVnB.jpg" alt="tomato plant" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The photos of my dogs and my plants came out looking pretty well, though I will admit that the main lens struggled with close-ups of my Lego minifigures. For some reason it just would not focus on what I wanted, meaning I had to resort to the lower-resolution Ultrawide angle lens to actually get this shot of Captain Jean-Luc Brickard. </p><p>You can kind of tell that the resolution isn't really there, though the photo itself still looks rather good. Sadly, the telephoto lens doesn't quite match up, and the quality feels more akin to the 10MP selfie cameras rather than the other two rear lenses. I wouldn't say it's taking bad photos, but they're not quite the caliber I would expect from a $2,100 phone.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Ms28JUWAB3P2Rnpb3zHGuh.jpg" alt="tom pritchard selfie" /><figcaption>200MP main lens<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Mcq9S4JHKy5LP24NgN28H5.jpg" alt="tom Pritchard" /><figcaption>10MP selfie lens<small role="credit">Future</small></figcaption></figure></figure><p>As for the selfie camera, I won't say that I dislike the photos it takes, but it falters compared to that main 200MP camera. The selfies feel a little grainier and washed out, and I feel like you'd be better off taking advantage of the rear cameras instead. The very nature of foldables, and the fact you can use the cover display as a viewfinder, means that's a very real option for you.</p><p>If anyone is interested in how I got my tomatoes looking so nice after the immense <a href="https://www.tomsguide.com/home/how-to-protect-your-lawn-from-the-next-heatwave-3-drought-proofing-steps-pros-swear-by">heat and drought we've been having in the U.K.</a>, <a href="https://www.tomsguide.com/how-to/7-surprising-ways-you-can-reuse-old-coffee-grounds">the answer is coffee grounds</a>. Those leftovers mean I haven't had to feed my tomato plant all summer. Sadly, the same can't be said for my pepper plant, which hasn't even flowered yet.</p><h2 id="the-ai-isn-t-ready-this-soon">The AI isn't ready this soon</h2><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="6bUozneavx3TWuWo7Ff7Um" name="PXL_20260723_153421125" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/6bUozneavx3TWuWo7Ff7Um.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: Future)</span></figcaption></figure><p>As much as Samsung (and other phone companies) love to hype up AI capabilities, you can't really take full advantage of them on day one. The fact that Galaxy AI already has information on me, transferred over from my Galaxy S26 Ultra, meant that they weren't completely useless. So Now Brief had some basic information from places like my calendar to get me started.</p><p>However, I did need to go through a bunch of setup processes, like updating Samsung's Personal Data Intelligence and creating my own custom cards, to start making the most of the feature. On a similar note, the fact that Now Nudge hadn't had time to burrow into the depths of my phone hasn't been able to surface any useful information so far.</p><p>I have attempted to utilize MyFanCam, which lets you edit videos in a way that focuses on a single subject rather than an entire group. </p><p>I had hoped I would be able to use the feature to video my dogs playing, and help keep the focus on one of the two, instead of having to try and keep their crazy antics in frame all the time. But apparently the AI that powers MyFanCam doesn't recognize dogs, only people. Stay tuned for more.</p><h2 id="what-a-difference-a-day-makes">What a difference a day makes</h2><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="qZ3hFwNMPAjdkh9oaNX6Ym" name="PXL_20260723_153709681" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/qZ3hFwNMPAjdkh9oaNX6Ym.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: Future)</span></figcaption></figure><p>24 hours is not a lot of time when it comes to getting to grips with a new phone, especially when there are AI features that need time and resources to get themselves working at anything close to operating capacity. Still, it's a good amount of time to start getting to grips with a new device, and for all its potential flaws I am rather happy with the Galaxy Z Fold 8 Ultra so far.</p><p>I am not a huge fan of the narrow cover display, and feel like the wider Z Fold 8 might offer a better experience in that regard. I do like the main 8-inch display, though, especially since it makes viewing and scrolling a more comfortable experience than you'd normally get. Though I would have liked the option to use an S Pen, and hope Samsung brings it back sooner rather than later.</p><p>Of course, there's still plenty of testing that needs doing before we can publish our full review. While I hope this shapes up to be one of the best foldable phones, 24 hours just isn't enough to make that happen. That means it's time to get testing and see what this phone can really do.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview">‘We're pretty confident': How Samsung plans to fight the first foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Galaxy Z Fold 8 interview: Samsung on silicon carbon batteries, the (possible) S Pen return and the iPhone Ultra threat ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview</link>
                                                                            <description>
                            <![CDATA[ I spoke with Samsung executive vice president Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8, including why they’re introducing a brand new design and how the company plans to take on Apple. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">dVkMNoBRdgV9YAfCQTpHLh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nSUkoFkw2KtckkfuUAgNEL-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 15:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 23 Jul 2026 17:15:09 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/nSUkoFkw2KtckkfuUAgNEL-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Mark Spoonauer interviews Samsung&#039;s Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom&#039;s Guide]]></media:description>                                                            <media:text><![CDATA[Mark Spoonauer interviews Samsung&#039;s Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom&#039;s Guide]]></media:text>
                                <media:title type="plain"><![CDATA[Mark Spoonauer interviews Samsung&#039;s Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom&#039;s Guide]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nSUkoFkw2KtckkfuUAgNEL-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>By all accounts Samsung should be nervous. After literally inventing the foldable phone 7 years ago and steadily evolving the category, it looks like Apple is going to try to swoop in and steal its thunder this fall with the launch of the <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone"><u>iPhone Ultra</u></a> (aka iPhone Fold).</p><p>But if you ask Samsung’s Jay Kim — the executive vice president overseeing the new Galaxy Z Fold 8 series launch — about this imminent threat, he exudes a quiet confidence.</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/azQSspXAvxY" allowfullscreen></iframe></div></div><p>“If our big market player is coming into the market… then it proves that what I have been thinking and envisioning — and how much effort that we put it in — is actually the right direction,” Kim said. </p><p>Samsung is so bullish that it’s broadening its portfolio to three foldable phones this year: the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review"><u>Galaxy Z Fold 8 Ultra</u></a>, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review"><u>Galaxy Z Flip 8</u></a> and the brand new <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review"><u>Galaxy Z Fold 8</u></a>, complete with a squat and wide design that looks a lot like what Apple is reportedly cooking 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XQhmt5k5QE2M4Q56RCVwUL" name="Jay-Kim-interview-Mark-3" alt="Mark Spoonauer interviews Samsung's Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom's Guide" src="https://cdn.mos.cms.futurecdn.net/XQhmt5k5QE2M4Q56RCVwUL.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>Ahead of Samsung Galaxy Unpacked I sat down with Kim alongside Lance Ulanoff at TechRadar for a wide-ranging interview on the new foldable lineup, the upcoming competition, and what it’s going to take for this category to “succeed.”</p><h2 id="galaxy-z-fold-8-why-go-wide">Galaxy Z Fold 8: Why Go Wide?</h2><p>The regular Fold 8 is easily the most intriguing new Samsung device because it’s the first time the company has launched a wide form factor. </p><p>The Galaxy Z Fold 8 features a 5.5-inch cover display with a 10:16 aspect ratio and a 7.6-inch inner screen with a 4:3 ratio. And there’s a reason for going wide: it’s how people prefer to view content.</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:3608px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="GSPdvof24GQuZ8tTqSeV7X" name="Galaxy Z Fold 8-12" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/GSPdvof24GQuZ8tTqSeV7X.jpg" mos="" align="middle" fullscreen="" width="3608" height="2029" attribution="" endorsement="" class="inline"></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 we looked at our consumer insights on how people react to the products, almost 50% are focused on media, whether on the outside or the inside main screen,” said Kim.</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:3261px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="qA5XArRRqG3PioTebFtnTW" name="Galaxy Z Fold 8-32" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/qA5XArRRqG3PioTebFtnTW.jpg" mos="" align="middle" fullscreen="" width="3261" height="1834" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Typing on the external display of the Fold 8 is way more comfortable versus the narrower Z Fold 8 Ultra, and when watching videos on the main screen the black bars above and below the panel are much smaller than before.</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:2936px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="wu79gVE3Bzue9Efqdk47fW" name="Galaxy Z Fold 8-39" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/wu79gVE3Bzue9Efqdk47fW.jpg" mos="" align="middle" fullscreen="" width="2936" height="1651" attribution="" endorsement="" class="inline"></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 other factor for Kim and the rest of the team was pocketability. So they sought to create a Goldilocks phone that combines the multitasking chops of the previous Folds with the compact design of the Flip. </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="nSUkoFkw2KtckkfuUAgNEL" name="Jay-Kim-interview-1" alt="Mark Spoonauer interviews Samsung's Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom's Guide" src="https://cdn.mos.cms.futurecdn.net/nSUkoFkw2KtckkfuUAgNEL.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 Flip is sleek, thin and light, and our customers want both sides of that world. So we said why not?” Kim said.</p><p>The result is a phone that’s the lightest Fold yet at just 201 grams and in a shape that’s nearly identical to a passport.</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:3375px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="eionbEJ9292YsUMfnqnjjW" name="Galaxy Z Fold 8-22" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/eionbEJ9292YsUMfnqnjjW.jpg" mos="" align="middle" fullscreen="" width="3375" height="1898" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>“We studied it a lot,” Kim shared. “We put together the form factor where media makes the most sense for the content native without compromising anything on the bar type [phone experience].”</p><h2 id="galaxy-z-fold-8-vs-z-fold-8-ultra-who-should-get-what">Galaxy Z Fold 8 vs Z Fold 8 Ultra: Who should get what?</h2><p>Despite its name, the Galaxy Z Fold 8 is not a direct successor to the Galaxy Z Fold 7. It’s a completely new model. The sequel is actually the Z Fold 8 Ultra, which compelled me to ask why Samsung settled on this naming scheme and whether it could confuse shoppers.</p><div><blockquote><p>"Going with titanium was not just to make it thinner,” Kim said. “it actually helps you be durable and stable in the way you fold and unfold."</p></blockquote></div><p>“The Ultra is the highest, most premium, most advanced product,” Kim said. “We see a lot of Ultra consumers coming over to the Fold, asking for similar performance and cameras, so we put a lot of effort to match that capability.”</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:2772px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="sG4D9mpBszMGgWBxFvE29W" name="Galaxy Z Fold 8-38" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/sG4D9mpBszMGgWBxFvE29W.jpg" mos="" align="middle" fullscreen="" width="2772" height="1559" attribution="" endorsement="" class="inline"></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 why not call the Z Fold 8 the Fold Wide as was rumored? For Kim, Samsung wasn’t trying to create something new, but the new baseline standard for the Fold experience. “I think this is more of the essence of the Fold,” Kim said while pointing to the Fold 8.</p><p>With its bigger 8-inch display, bigger battery and triple-camera setup, the Fold 8 Ultra is more for productivity while the regular Fold 8 (wider displays, dual cameras) is more for content consumption.</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="PygTGJpVstH2NcZKZz3uVL" name="Jay-Kim-interview-Mark-4" alt="Mark Spoonauer interviews Samsung's Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom's Guide" src="https://cdn.mos.cms.futurecdn.net/PygTGJpVstH2NcZKZz3uVL.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 Z Fold 8 Ultra also gets some pretty major upgrades, including a new 50MP wide camera, an even thinner design (4.1 mm) that’s easier to open and a display that has virtually no crease, thanks in large part to the addition of Flex Titanium technology.</p><p>“Going with titanium was not just to make it thinner,” Kim said. “it actually helps you be durable and stable in the way you fold and unfold, so it's a combination of a lot of things coming together.”</p><h2 id="is-the-s-pen-coming-back">Is the S Pen coming back?</h2><p>The last Samsung foldable to feature the S Pen was the Galaxy Z Fold 6, but the company removed the digitizer in order to achieve a thinner design. It’s not coming back for the Fold 8 either, but Samsung isn’t closing the door on this feature.</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="9fC5bdQsx8w6X8ygkaXpaU" name="Galaxy Z Fold 6 and S Pen-8.jpg" alt="Samsung Galaxy Z Fold 6 and S Pen" src="https://cdn.mos.cms.futurecdn.net/9fC5bdQsx8w6X8ygkaXpaU.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>When asked if Samsung would consider bringing back the S Pen, even if it means going from 4.1mm thick to 4.2mm, Kim said “we’ll definitely consider your suggestion.”</p><p>“In order to focus on S Pen we have to make trade-offs. In order to put in (a digitizer) you have to sacrifice thinness or different aspects. But I think we wanted to address the most important feedback we got from the market.”</p><p>Since this interview we have heard from another Samsung executive that confirmed that the company is <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds"><u>open to bringing back the S Pen</u></a>. </p><h2 id="the-cautious-jump-to-silicon-carbon-batteries">The (cautious) jump to silicon carbon batteries </h2><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="dMNhWVVdEx4Fk8ABZieXAg" name="Galaxy Z Fold 8 Ultra-32" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/dMNhWVVdEx4Fk8ABZieXAg.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 Chinese phone makers have been pushing out devices with ultra-high capacity silicon carbon batteries for well over a year, Samsung has been sitting on the sidelines. And that’s understandable given the safety concerns around embracing any new battery technology.</p><p>With its new foldable lineup, however, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal"><u>Galaxy Z Fold 8 Ultra and Galaxy Z Fold 8 make the jump to silicon carbon</u></a>, delivering more capacity while keeping the designs super slim.</p><div><blockquote><p>“We have been testing silicon batteries for quite some time. We’re looking at being very — I wouldn’t say conservative — but more taking it one step at a time.”</p></blockquote></div><p>The Galaxy Z Fold 8 Ultra gets a 5,000 mAh silicon carbon battery (up from 4,400 on the Fold 7). And the Galaxy Z Fold 8 has a 4,800 mAh battery. </p><p>While silicon carbon does enable much higher capacity batteries, there have been some concerns around battery swelling and shorter overall lifecycles.</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="A8hW63FkURmJ44BuJwpF7g" name="Galaxy Z Fold 8 Ultra-23" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/A8hW63FkURmJ44BuJwpF7g.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>“We have been testing the silicon batteries for quite some time,” Kim admitted. “We’re looking at being very — I wouldn’t say conservative — but more taking it one step at a time.”</p><p>The reason why Samsung is embracing silicon battery tech for foldables first is because you can’t simply put in a larger Li-ion battery, as it would balloon the designs.</p><p>“We’re doing a lot of testing and experimentation into how you make the product thin and light, and yet not push too much into the experimental stage,” Kim said.” “We have to be very confident that it’s durable and stable, and it has to be scalable.”</p><h2 id="the-apple-foldable-threat">The Apple foldable threat</h2><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="68k2f3fRXG384SQqZMTjHM" name="iPhone Fold render3" alt="iPhone Fold render" src="https://cdn.mos.cms.futurecdn.net/68k2f3fRXG384SQqZMTjHM.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>Apple is famously late to lots of categories, and it looks like we’ll be able to add foldable phones to that list later this year.</p><p>And even though this will be Apple’s very first stab at a foldable, they’ve had the luxury of studying the market for years and biding their time to introduce something they believe shoppers will want.</p><div><blockquote><p>"It’s hard to comment because I don’t know what (Apple is) coming up with, but I’m very confident that our product will be one that consumers will appreciate."</p></blockquote></div><p>Analysts seem pretty high on Apple’s chances, with IDC predicting 22% worldwide market share in the first year and Counterpoint research projecting a whopping <a href="https://www.tomsguide.com/phones/iphones/apple-is-predicted-to-own-nearly-half-the-foldable-market-but-i-have-doubts-that-the-iphone-fold-can-help-achieve-it-heres-why"><u>48% share in North America</u></a>. So I asked Kim about these numbers and what he thinks about the arrival of the iPhone Fold/Ultra.</p><p>“It’s hard to comment because I don’t know what they’re coming up with,” Kim said, “but I’m very confident that our product will be one that consumers will appreciate.”</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="jdgj4DaDXyxg8nWLBrN5fZ" name="Samsung Galaxy Z Flip 8 hands-on" alt="Samsung Galaxy Z Flip 8 hands-on." src="https://cdn.mos.cms.futurecdn.net/jdgj4DaDXyxg8nWLBrN5fZ.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: John Velasco / Tom's Guide)</span></figcaption></figure><p>Of course, Samsung itself has been studying foldables for a long time, and they have a lot of market data. “Our consumers are already using the product every day in the market,” Kim emphasized.</p><p>Kim also noted that 30% of consumers are “coming back to foldables.” So it could be someone who owned a foldable, then went to an S Series device, and then has returned to a Fold or Flip because the devices keep getting better.</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="jDQR6ZY2cx8T5NxgCddxW" name="Samsung Galaxy Z 8 lineup" alt="Samsung Galaxy Z 8 lineup." src="https://cdn.mos.cms.futurecdn.net/jDQR6ZY2cx8T5NxgCddxW.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: Tom's Guide)</span></figcaption></figure><p>Kim was also keen to subtly point out that Apple will likely only have a single foldable phone this fall while Samsung offers more choice.</p><p>“The market is actually moving pretty fast, and there's a lot of different needs, and we're trying to adapt to that,” Kim said. “Consumers should not be adopting a single size. We should be providing options.”</p><h2 id="when-will-foldables-truly-be-successful">When will foldables truly be ‘successful’?</h2><p>As we wound down our conversation with Jay Kim, my colleague Lance asked a pretty poignant question: “When do you consider the foldable category a success?”</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="xz5V8oBoW4g24PzQRgTkFS" name="Jay-Kim-interview-3" alt="Mark Spoonauer interviews Samsung's Jay Kim about the launch of the Galaxy Z Fold 8, Fold 8 Ultra and Flip 8 for Tom's Guide" src="https://cdn.mos.cms.futurecdn.net/xz5V8oBoW4g24PzQRgTkFS.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>But instead of just launching into his answer, Kim turned the question on us. “Do we see [foldables] as a success?”</p><p>Lance said yes from an engineering standpoint but not from a marketing one because foldables are still a tiny slice of the overall market (about 4%).</p><p>I said I saw things as a dichotomy. People who have purchased devices like the Galaxy Z Fold 7 would call the category a success because they can enjoy the foldable experience without the usual penalties like a bulky design. But I also said success could look like 10% of the market, so 1 out of every 10 phones sold overall.</p><p>Kim told us that we could be “on the verge of foldables going mainstream” And it has a lot to do with Samsung making a bet on a totally new model in the Galaxy Z Fold 8.</p><p>“We’ve had these two form factors for a long time, Kim said. “Introducing another one is a bold move because it shows that we’re pretty confident in the category and how the market is going to react to it. I’m more excited about what’s to come.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Galaxy Z Fold 8 Ultra doesn't have a crease-free display — but it's the closest Samsung has ever got to one ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one</link>
                                                                            <description>
                            <![CDATA[ Samsung has made a huge amount of progress hiding the display crease, but it's not completely gone. Here's how it compares to the Z Fold 7. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yictMPD5s2Cmws4jCbPWXi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 12:27:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Foldable phone makers have declared war on the display crease, and this year could be the year a bunch of them make real progress. Samsung, in particular, has been slowly reducing the visibility of the crease over the past few years, but the recent <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">launch of the Galaxy Z 8 series</a> marks the most significant reduction to date.</p><p>Rumors suggested that Samsung had managed to eliminate the crease, but I can promise you that this isn't the case based on my experience with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra </a>over the past day. Samsung has made a lot of progress in making the crease less visible, but it hasn't managed to hide it from view completely.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ULUXv4kHnTVmDbGwRN9NB4.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iQKeyc8GYEefnzK5FAa2B4.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>I should make it very clear from the get-go that the crease on the Z Fold 8 Ultra is rather difficult to see at a glance. Especially when you compare it to the<a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review"> Galaxy Z Fold 7,</a> which, despite its <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-7-can-survive-half-a-million-folds-according-to-independent-testing-and-thats-a-massive-upgrade">own screen refinements</a>, still has a rather prominent crease down the middle of its foldable screen.</p><p>That being said, the visibility of the crease all depends on what the phone is doing and what the lighting conditions are like. For instance, having the screen switched on makes the crease a lot harder to notice than when it's switched 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4hYjjRJtsZ2rBPAVeuSTB4" name="PXL_20260723_105144060" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/4hYjjRJtsZ2rBPAVeuSTB4.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: Future)</span></figcaption></figure><p>Bright, direct light is the worst offender for this. Which means that even though the Z Fold 8 Ultra has a new anti-reflective coating and a 3,000-nit display to aid performance in bright conditions, there's no hiding the prominent dip and warp running down the center of the screen. </p><p>That said, switch your location to a spot without bright and direct light, and the crease practically vanishes before your eyes. So long as the screen is switched on, that is.</p><p>Similarly, bright environments really highlight the warping around the center of the phone. However, it's not even close to as bad as the warping visible on the Z Fold 7. That level of warping is enough to visibly ruin whatever is on your screen, and is particularly pronounced in bright environments.</p><p>Tilting the screen around ruins the illusion too, but as long as you're avoiding direct light, it's still a bit of a struggle to see the crease on the Fold 8 Ultra. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/v4Kw7LWejpsKsWnk8EWa94.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uRSstPhLxs7AGDTSJBtHB4.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>Looking at the Z Fold 8 Ultra is only one part of the equation when it comes to the crease, though. Samsung doesn't seem to have made any headway in reducing the way the crease feels when you slide over it with your finger. </p><p>There's a noticeable bump, followed by a dip and another bump. It's not subtle, and the feeling is almost identical to that of the Galaxy Z Fold 7. That suggests to me that the hinge design hasn't changed since last year, and the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex titanium</a> display doesn't seem to be doing much, if anything, to cushion everything underneath the display panel.</p><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><p>How this affects you is going to depend on how you use your Z Fold 8 or 8 Ultra. I've been using the larger screen in landscape mode, with the crease running from left to right, and that naturally means my thumb rolls over the crease quite a lot. Obviously, if I held the phone the other way, with the crease running from top to bottom, things would be totally different.</p><p>Obviously this is something prospective Galaxy Z Fold 8 owners need to be aware of. Just because Samsung has reduced the visibility of the Z Fold 8's crease by a considerable amount, it doesn't mean that you won't notice it. Whether that's because you're in a bright environment, or because you can't stop sliding over it while doing basic, everyday things on the larger screen.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/M5GcApuxCHZTWsqw6YCAC4.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DaoR8ut657H85m2DZXpPA4.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure></figure><p>Still, credit where credit is due, Samsung has done a lot to improve the look of the Galaxy Z Fold 8 Ultra's display. Though now the real question is how it will compare to the upcoming foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>. </p><p>After all, Apple has reportedly been especially particular about the crease to the point where it <a href="https://www.tomsguide.com/phones/iphone-flip-tipped-to-eliminate-the-biggest-design-flaw-with-foldable-phones-heres-how">apparently delayed the phone until it could be eliminated</a>. But we'll have to wait until mid-to-late September to find out for sure.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">No, the Fold 8 doesn't have an S Pen — but Samsung is ‘exploring’ its return for future Folds</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ T-Mobile is offering a free Galaxy Z Fold 8: how to save up to $1,900 on Samsung's new foldables ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/t-mobile-is-offering-a-free-galaxy-z-fold-8-how-to-save-up-to-usd1-900-on-samsungs-new-foldables</link>
                                                                            <description>
                            <![CDATA[ T-Mobile is offering some of the best Galaxy Z Fold 8 and Galaxy Z Flip 8 preorder deals I've seen. Here's how you can save up to $1,900 ahead of launch. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LXctkSaN9s7tXRFMxhB5i6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4XpU9Fp9xSimdZVUBeEvsF-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ louis.ramirez@futurenet.com (Louis Ramirez) ]]></author>                    <dc:creator><![CDATA[ Louis Ramirez ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYF2xVwCb4pTGhAJi8Yqr5.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As deals editor-in-chief at Tom’s Guide, Louis refuses to pay full price for anything. He has over 10 years of experience finding the best deals and coupons to bring readers. Louis price checks&amp;nbsp;against multiple retailers and searches high and low for sales on 4K TVs, Apple devices, streaming services, mattresses, kitchen appliances, and more.&amp;nbsp;He&#039;s also always looking for the the best coupon codes to turn good deals into stellar buys.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has covered major retail events like Amazon Prime Day, Black Friday, and Cyber Monday for more than a decade and knows how to spot an epic deal from a fake discount. He&#039;s also great at helping people negotiate better prices on everything from gym memberships to their home internet service. Louis&#039; work has also helped readers find PS5 restock, baby formula, Clorox wipes, and everything in between. For his next major purchase, Louis is hoping to find a killer deal on an M3-based Mac.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A born-and-bred New Yorker, Louis is always in search of the perfect cup of coffee. On his free time, he enjoys swimming, running, and any workout that pushes his Apple Watch to the max. He&#039;s also a big fan of international films, horror movies, and K-dramas. His work has appeared on Gizmodo, CNET, Digital Trends, Dealnews, and Time Out New York.&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/4XpU9Fp9xSimdZVUBeEvsF-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 Ultra, Z Fold 8, and Z Flip 8 phones held in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 Ultra, Z Fold 8, and Z Flip 8 phones held in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 Ultra, Z Fold 8, and Z Flip 8 phones held in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4XpU9Fp9xSimdZVUBeEvsF-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung's Galaxy Z line of foldable phones are among the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a> we've tested. They're known for being sturdy, incredibly powerful, and fun to use. Samsung just released its Galaxy Z lineup for 2026 and it consists of the Galaxy Z Fold 8 Ultra for $2,099, Galaxy Z Fold 8 for $1,899, and the Galaxy Z Flip 8 for $1,199. </p><p>Preorder deals are already live and one carrier is taking the lead when it comes to discounts. Right now, you can get the <a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow">Galaxy Z Fold 8 for free</a> or <a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow">up to $1,100 off the Galaxy Z Fold 8 Ultra</a> at T-Mobile. Alternatively, you can get <a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow">up to $1,100 off the Galaxy Z Flip 8</a>. All of these offers require a trade-in and you must also sign up for the carrier's Experience More or Experience Beyond plans. Nevertheless, they're the most aggressive discounts I've seen so far. </p><p>Here's a look at each individual deal and all of Samsung's new phones. For more personal recommendations, make sure to check out the <a href="https://www.tomsguide.com/savings-squad">Tom's Guide Savings Squad</a> homepage and our <a href="https://www.tomsguide.com/news/ultimate-back-to-school-guide">back to school deals</a> guide. Also make sure to bookmark our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-preorder-deals-heres-how-im-saving-up-to-usd1-200-on-samsungs-new-phones">Galaxy Z Fold 8 preorder deals</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/best-galaxy-z-flip-8-deals-get-samsungs-new-foldable-for-free">Galaxy Z Flip 8 preorder deals</a> for the latest discounts.</p><h3 class="article-body__section" id="section-quick-links"><span>Quick Links</span></h3><ul><li><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>shop all Samsung deals at T-Mobile</strong></a></li><li><strong>Galaxy Z Fold 8: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>free w/ trade-in + unlimited</strong></a><strong></strong></li><li><strong>Galaxy Z Fold 8 Ultra: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>up to $1,900 off w/ trade-in + unlimited</strong></a><strong></strong></li><li><strong>Galaxy Z Flip 8: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>up to $1,100 off w/ trade-in + unlimited</strong></a><strong></strong></li></ul><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><h3 class="article-body__section" id="section-best-galaxy-z-deals"><span>Best Galaxy Z deals</span></h3><div class="product"><a data-dimension112="1a6bfb02-8603-11f1-b50e-15e8e6238708" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:954px;"><p class="vanilla-image-block" style="padding-top:98.95%;"><img id="4EngEpxMLxWVDrp7aAo2xi" name="Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4EngEpxMLxWVDrp7aAo2xi.jpg" mos="" align="middle" fullscreen="" width="954" height="944" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfb02-8603-11f1-b50e-15e8e6238708" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension25=""><strong>free w/ trade-in + unlimited @ T-Mobile</strong></a><br>New and existing T-Mobile customers can get the Galaxy Z Fold 8 for free with trade-in and Experience Beyond data plans. Or you'll get up to $1,100 off with trade-in and on Experience More plans. Other discounts are also available for other plans. The phone features a 7.6-inch AMOLED (1848 x 2448) 120Hz main display, 5.5-inch AMOLED (1248 x 1972) 120Hz cover display, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. On the rear you get a 50MP main wide-angle lens and 50MP ultra-wide lens. Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Galaxy Z Fold 8 hands-on</a>, we called it our favorite foldable to date. It loses the telephoto zoom, but multitasking is way more suitable on its canvas, with up to four apps running simultaneously.<a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfb02-8603-11f1-b50e-15e8e6238708" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="1a6bfb70-8603-11f1-bc61-618752e68108" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1327px;"><p class="vanilla-image-block" style="padding-top:64.28%;"><img id="9Rhpe6TtrVFSNo9Vtn27Tm" name="Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9Rhpe6TtrVFSNo9Vtn27Tm.jpg" mos="" align="middle" fullscreen="" width="1327" height="853" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfb70-8603-11f1-bc61-618752e68108" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension25=""><strong>up to $1,900 off w/ trade-in + unlimited @ T-Mobile</strong></a><br>New and existing T-Mobile customers can get up to $1,900 off the Galaxy Z Fold 8 Ultra with trade-in and Experience Beyond data plans. Or you'll get up to $1,100 off with trade-in and on Experience More plans. Other discounts are also available for other plans. The phone features an 8-inch AMOLED (2504 x 2256) 120Hz main display, 6.5-inch AMOLED (1080 x 2520) 120Hz cover display, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. On the rear you get a 200MP main wide-angle lens, 50MP ultra-wide lens, and 10MP telephoto lens (3x optical). Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra hands-on</a>, we said its greatly reduced crease, upgraded silicon carbon battery, faster charging, and upgraded ultrawide camera make it a meaningful upgrade.<a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfb70-8603-11f1-bc61-618752e68108" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="1a6bfbd4-8603-11f1-90cc-97c9a221308a" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1199px;"><p class="vanilla-image-block" style="padding-top:125.10%;"><img id="rTkAPNzBbP77RUVHtMufoZ" name="Galaxy Z Flip 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rTkAPNzBbP77RUVHtMufoZ.jpg" mos="" align="middle" fullscreen="" width="1199" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfbd4-8603-11f1-90cc-97c9a221308a" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" data-dimension25=""><strong>up to $1,100 off w/ tarde-in + unlimited @ T-Mobile</strong></a><br>T-Mobile is offering various Galaxy Z Flip 8 deals. You can get the phone for $1,100 off with trade-in and when you add a line on T-Mobile's Experience More or Experience Beyond plans. Or get it for $500 off with trade-in on most other data plans. The flip phone features a 6.9-inch AMOLED (1080 x 2520) inner display w/ 120Hz refresh, 4.1-inch AMOLED (948 x 1048) outer display w/ 120Hz refresh, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. You also get 50MP f/1.8 main and 12MP f/2.2 ultra-wide rear cameras and a 10MP f2.2 selfie cam. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8 hands-on</a>, we said it's Samsung's sleekest and most refined flip phone to date, but not a necessary upgrade for current Z Flip 7 owners.<a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1a6bfbd4-8603-11f1-90cc-97c9a221308a" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ tarde-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-shop-more-deals"><span>Shop more deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Everything&rows=6&view_mode=savings_squad&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.&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 getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      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%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      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-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .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 {      width: 100%;      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;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .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);    }    .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;    }    /*       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: 120px;      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: 16px 16px 8px;      }            .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-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .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;      }      /* 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;        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;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .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: 14px;      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-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      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-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .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;    }    .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;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .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::-webkit-scrollbar {      display: none;    }    .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;      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 {    }    .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.40);        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: #1f69ff; 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: #0056e0; 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; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \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">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \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>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \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>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \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 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/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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>        \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();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          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();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    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);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             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 (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    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 (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = 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') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // 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) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              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 !== 'date_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 handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          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');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          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');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    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;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   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;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = 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 });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          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;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               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 = 'date_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')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        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';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        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 fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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=${siteParam}&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 && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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 seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.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) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          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();                }                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;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                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 || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[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) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    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');                    url.searchParams.append('rows', this.getRowsLimit().toString());          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 = this.getRowsLimit();          // 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 : 'date_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}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_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, idx) => {              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}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${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);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } 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)}${_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 = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \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 = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \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 = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \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 tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_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>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}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_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 ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_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) {            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;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // 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');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } 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 just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch</link>
                                                                            <description>
                            <![CDATA[ I ditched my iPhone of 10 years for the Samsung Galaxy Z Fold 8. Android 17’s new native switch tool is pure magic, but I hit one 514GB storage catch. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jk4sSf2XqheBuDuZcbEFt</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 10:36:13 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android 17 iOS migration tool]]></media:description>                                                            <media:text><![CDATA[Android 17 iOS migration tool]]></media:text>
                                <media:title type="plain"><![CDATA[Android 17 iOS migration tool]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>For a decade, Apple has essentially held my digital life hostage with iPhones. Every time I looked at an Android phone, the sheer dread of migrating my passwords, WhatsApp chats, and app layouts kept me firmly trapped in the Walled Garden. But with Android 17 on the new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Fold 8</a>, Google just handed me a pair of bolt cutters.</p><p>Enter Google’s new Android Switch iOS migration tool — named Smart Switch in the newly launched Galaxy Z Fold 8, <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8</a>. And all I’ll say is if switching operating systems is a dealbreaker for you — getting all the right apps, account logins and home screen layouts just right — all of that is gone.</p><p>This is a breakthrough for phone switchers, and a real leveler in the iOS vs Android war.</p><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><h2 id="just-scan-and-go">Just scan and go</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uat8NzYTFwXMac58yd9osY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/uat8NzYTFwXMac58yd9osY.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 all starts with a QR code scan — no additional app required. At that point, I picked what apps and data I sent across, and it just…did it. Mostly.</p><p>There is the brutal reality I did face while switching: the software is pure magic, but physics still applies. I was staring down the barrel of a decade's worth of iPhone photos (514GB to be specific), and the Z Fold 8 simply didn't have the storage to swallow it all. </p><p>I had to make the agonizing choice to leave my photo library behind in the Apple ether. But once I made peace with that (and started a mass transfer to Amazon Photos with my Prime account)? What happened next was jaw-dropping.</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VikpkEk9PUNfF4iqZtMNqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/VikpkEk9PUNfF4iqZtMNqY.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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><blockquote><p>The elimination of basically all friction here is amazing to me.</p></blockquote></div><p>Your Android phone will find its OS equivalents of the apps you have on your iPhone and install them all, all your messages, call logs and contacts, WhatsApp data, account logins and passwords, settings and even the way the apps are laid out on each home screen (as well as wallpaper) all make it over.</p><p>The only things you’ll need to do are log back into your apps with the saved details and add the Android equivalent to the widgets, as I saw with these suspicious gaps in my app layouts. </p><p>The elimination of basically all friction here is amazing to me — someone who’s seen both sides make it as awkward as possible for platform lock-in.</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D4SjJtUfCtdf2rEXwMZ5sY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/D4SjJtUfCtdf2rEXwMZ5sY.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>And even better? It just took me around 25-30 minutes wirelessly. Of course, mileage may vary depending on just how much data you’re sending over, but this was for roughly 55GB of total data. </p><p>Stick another five minutes on top for logging back into everything and setting up my bank card with Samsung Pay, and I was using the London Underground again as if nothing had happened.</p><h2 id="what-s-the-catch">What’s the catch?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9ziYTMeYfvJiwhcom72gqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/9ziYTMeYfvJiwhcom72gqY.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>So there is one small frustration that I came across — my first attempt came up with an internet connection problem. Basically, the migration didn’t start because the Android phone wasn’t connected to Wi-Fi. This could be because I was on my hotel’s network, and your home Wi-Fi may behave differently.</p><p>If that happens, just start the process as if you were setting up your Android phone from scratch, connect to Wi-Fi, then head back to the migration screen. That fixed it for me!</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MGUksWn6w4Ak5by2oQDaoY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/MGUksWn6w4Ak5by2oQDaoY.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 beyond that, everything else was shockingly smooth on this transition, and surprisingly fast too. In all my years covering phones, I never expected to see iOS and Android playing nice together like this.</p><p>Put simply, the fear of platform lock-in should no longer be part of your purchase decision.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/ai/samsung-just-added-automated-tasks-and-gemini-notebook-to-galaxy-z-fold-8-heres-what-these-ai-features-let-you-do">Samsung just added Automated Tasks and Gemini Notebook to Galaxy Z Fold 8 — here's what these AI features let you do</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one</link>
                                                                            <description>
                            <![CDATA[ I spoke to Samsung design head Hubert Lee about the Galaxy Z Fold 8's passport shape and tested the scrapped prototypes left on the cutting room floor. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WHogwYPbRzkTnzNqaxmSNd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/sTwjm7kCjJhCc8oFYZSz5m-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 04:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 23 Jul 2026 06:42:01 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/sTwjm7kCjJhCc8oFYZSz5m-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/sTwjm7kCjJhCc8oFYZSz5m-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Samsung Galaxy Z Fold 8</a> is official, and it’s the next foldable to jump on the passport-sized trend with a shorter, wider form factor that makes it ideal for content consumption.</p><p>I do like it from my time testing it (bar that $1,899 price tag). Some of the ergonomic issues I saw with <a href="https://www.tomsguide.com/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">Huawei’s stubby foldable</a> have been resolved in software, and having a nicer 4:3 aspect ratio gives your Netflix shows or websites much more screen space to fill than the squarer Z Fold 8 Ultra.</p><p>I had a chance to speak to Samsung’s design team head, Hubert Lee, about the decisions made to get to this form factor, and I got to hold some of the different-sized devices that were left on the cutting room floor. And…well…is this a safe space? Because I think they’ve dropped the ball by not going for something smaller here.</p><h2 id="the-story-of-the-design">The story of the design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:62.13%;"><img id="NvoNz7r4QZg4mgbVGEuTUX" name="Galaxy Z Fold 8-10" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/NvoNz7r4QZg4mgbVGEuTUX.jpg" mos="" align="middle" fullscreen="" width="4592" height="2853" attribution="" endorsement="" class="inline"></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 how did Samsung land on the Z Fold 8? Well, it’s a long story of trying to balance emotional warmth and geometric symmetry — a mission that Lee labels “Emotive Geometry” — alongside 3D printing many different form factors for this new stubbier foldable.</p><p>After much experimentation with over 500 handmade mock-ups to evaluate grip, comfort and usability across different sizes and proportions, it became clear to the team that drawing inspiration from the passport was (in their words) a golden ratio.</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="A86qjy3wnqzTu5MECrnR4m" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/A86qjy3wnqzTu5MECrnR4m.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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>Smaller versions aimed at users with smaller hands were tested, but ultimately scrapped because they felt too similar to the Galaxy Z Flip 8</li><li>Larger versions were also rejected because they were too close to the Z Fold 8 Ultra</li></ul><p>And in the same spirit as Goldilocks trying out different beds and bowls of porridge, the company stumbled on what they believe is “just right.” Its ergonomic dimensions are specifically designed to be held and opened with a single hand, while being compact enough to be pocketable. And in my time using it, I can see how they arrived at that decision. </p><p>Yes, I’m a little disappointed that there’s still black bars with the 4:3 aspect ratio inside display, but you certainly get a lot more content on screen than you would with the productivity-focused <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Z Fold 8 Ultra</a>.</p><p>But as I was shown these mockups, and got to hold them, I was left asking one question: did they make the right decision? I’m really not sure.</p><h2 id="how-small-can-you-go">How small can you go?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4mbfAbyYPXhknkjSMyvysk" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/4mbfAbyYPXhknkjSMyvysk.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 admit this comes from a biased place. I loved my <a href="https://www.tomsguide.com/reviews/iphone-12-mini">iPhone 12 mini</a> and have always adored having smaller smartphones over the gigantic slabs that they’ve all become. So once I started holding these tiny options, my mind was spinning with the possibilities of what could’ve been.</p><p>Because yes, that smallest device is basically a Z Flip 8 turned sideways, but it also meant a 16:9 aspect ratio display inside — no black bezels whatsoever on your content! But if you still really wanted the same aspect ratios as the finished product, you’ve got smaller options that felt amazing in one hand.</p><p>Simply put, there's a lot more room for aspect ratio experimentation if content consumption was the key mission here, and I think Samsung's really missed an opportunity here to do something that breaks new ground.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Pze3QLnSE96RoMfRW8WE5m.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/n8kZboSvuxAk6bpQReLD4m.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Now, I know what one of your many responses will be here. “What about battery life?” As you already know, there’s a 4,800mAh silicon carbon cell inside to maximize the balance between longevity and making this the lightest Galaxy Fold. </p><p>With that technology (and a touch more thickness), it could be argued that you could still find that good balance. We’ve seen standard smartphones go all the way up to 7,000mAh with this new battery tech, so it’s not fantasy to believe the same could happen here.</p><h2 id="take-me-back-to-small-phones">Take me back to small phones</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PY9Dr9HgLSZZPXvkKDujuk" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/PY9Dr9HgLSZZPXvkKDujuk.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" 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 know I may be in a minority here — after all, every time a company tried to make a small phone, they quickly pivoted to big screens (RIP iPhone mini). However, foldables give you the best of both worlds, and while I do appreciate the intentional choice of Samsung here, I feel there was a better golden ratio right in front of them.</p><p>Passport-sized foldables are definitely all the rage right now, as Apple looks set to join this party real soon. But holding these smaller options sent my mind spinning on what could’ve been.</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/phones/samsung-phones/samsung-galaxy-card-takes-aim-at-apple-card-with-way-more-perks-and-rewards-heres-what-you-get">Samsung Galaxy Card takes aim at Apple Card with way more perks and rewards — here’s what you get</a></li><li><a href="https://www.tomsguide.com/phones/iphones/forget-iphone-18-pro-iphone-20-tipped-to-get-apples-biggest-screen-upgrade-ever">Forget iPhone 18 Pro — iPhone 20 tipped to get Apple’s biggest screen upgrade ever</a></li><li><a href="https://www.tomsguide.com/phones/android-phones/light-just-announced-a-usd299-flip-phone-to-cure-screen-addiction-and-its-co-founder-convinced-me-to-embrace-being-bored-again">Light just announced a $299 flip phone to cure screen addiction — and its co-founder convinced me to embrace being bored again</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Best Galaxy Watch 9 and Galaxy Watch Ultra 2 preorder deals: get Samsung's new smartwatches for free ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/wellness/smartwatches/best-galaxy-watch-9-and-galaxy-watch-ultra-2-preorder-deals-get-samsungs-new-smartwatches-for-free</link>
                                                                            <description>
                            <![CDATA[ The first batch of Galaxy Watch 9 and Galaxy Watch Ultra 2 preorder deals are here. From Amazon to Samsung, here are all the best preorder deals I recommend. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">x8WNAnaPLQ8wwGwZPnhgBS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/FpmxavUWmszhYEmFs2HRdV-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 21:13:21 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ louis.ramirez@futurenet.com (Louis Ramirez) ]]></author>                    <dc:creator><![CDATA[ Louis Ramirez ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYF2xVwCb4pTGhAJi8Yqr5.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As deals editor-in-chief at Tom’s Guide, Louis refuses to pay full price for anything. He has over 10 years of experience finding the best deals and coupons to bring readers. Louis price checks&amp;nbsp;against multiple retailers and searches high and low for sales on 4K TVs, Apple devices, streaming services, mattresses, kitchen appliances, and more.&amp;nbsp;He&#039;s also always looking for the the best coupon codes to turn good deals into stellar buys.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has covered major retail events like Amazon Prime Day, Black Friday, and Cyber Monday for more than a decade and knows how to spot an epic deal from a fake discount. He&#039;s also great at helping people negotiate better prices on everything from gym memberships to their home internet service. Louis&#039; work has also helped readers find PS5 restock, baby formula, Clorox wipes, and everything in between. For his next major purchase, Louis is hoping to find a killer deal on an M3-based Mac.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A born-and-bred New Yorker, Louis is always in search of the perfect cup of coffee. On his free time, he enjoys swimming, running, and any workout that pushes his Apple Watch to the max. He&#039;s also a big fan of international films, horror movies, and K-dramas. His work has appeared on Gizmodo, CNET, Digital Trends, Dealnews, and Time Out New York.&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/FpmxavUWmszhYEmFs2HRdV-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / Dan Bracaglia]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Watch Ultra 2 held in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Watch Ultra 2 held in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Watch Ultra 2 held in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/FpmxavUWmszhYEmFs2HRdV-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's been a busy day for Samsung. In addition to unveiling new foldable phones at <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a>, it also released the Galaxy Watch 9 ($379) and Galaxy Watch Ultra 2 ($699). The watches have received a $30 and $50 price increase, respectively. Fortunately, there are plenty of Galaxy Watch 9 and Galaxy Watch Ultra 2 deals you can get right now. </p><p>For example, you can get <a href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa" target="_blank" rel="nofollow">up to $250 off the Galaxy Watch 9 at Samsung</a> with an eligible trade-in. (You can trade-in an older Samsung or Apple Watch). Or you can get <a href="https://www.samsung.com/us/watches/galaxy-watch-ultra2/buy/galaxy-watch-ultra2-47mm-titanium-silver-lte-sku-sm-l715uzsaxaa/" target="_blank" rel="nofollow">up to $250 off the Galaxy Watch Ultra 2 at Samsung</a> with trade-in. If you don't have a trade-in, you can also get a $100 instant credit. Both watches will be released on August 7. Below I've rounded up the best deals you can get right now. </p><h3 class="article-body__section" id="section-quick-links-galaxy-watch-ultra-2"><span>Quick Links: Galaxy Watch Ultra 2</span></h3><ul><li><strong>Samsung: </strong><a href="https://www.samsung.com/us/watches/galaxy-watch-ultra2/buy/galaxy-watch-ultra2-47mm-titanium-silver-lte-sku-sm-l715uzsaxaa/" target="_blank" rel="nofollow"><strong>up to $250 off w/ trade-in or $100 credit</strong></a></li><li><strong>Amazon: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Ultra2-Titanium-Smartwatch/dp/B0H6NRPGT7" target="_blank" rel="nofollow"><strong>for $699 w/ free $100 GC</strong></a><strong></strong></li><li><strong>T-Mobile: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>for $269 w/ new watch line</strong></a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow"><strong>up to $250 off w/ trade-in + $100 gift card</strong></a></li></ul><h3 class="article-body__section" id="section-quick-links-galaxy-watch-9"><span>Quick Links: Galaxy Watch 9</span></h3><ul><li><strong>Samsung: </strong><a href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-cream-bluetooth-sku-sm-l340nzeaxaa/" target="_blank" rel="nofollow"><strong>up to $250 off w/ trade-in</strong></a></li><li><strong>Amazon: </strong><a href="https://www.amazon.com/dp/B0H9BPZXZC" target="_blank" rel="nofollow"><strong>for $379 w/ free $50 GC</strong></a><strong></strong></li><li><strong>T-Mobile: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>free w/ new watch line</strong></a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow"><strong>up to $250 off w/ trade-in + $50 gift card</strong></a></li></ul><figure class="inline-layout"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></figure><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-deals"><span>Galaxy Watch Ultra 2 deals</span></h3><div class="product"><a data-dimension112="48ff1a50-8610-11f1-8531-97a2ee83eb6b" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="4gDqoyT3A5J9nTa6Axevfg" name="TMobileLogo_1.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4gDqoyT3A5J9nTa6Axevfg.jpg" mos="" align="middle" fullscreen="" width="600" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch Ultra 2: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="48ff1a50-8610-11f1-8531-97a2ee83eb6b" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" data-dimension25=""><strong>for $269 w/ trade-in + new watch line @ T-Mobile</strong></a><br>T-Mobile is offering the Galaxy Watch Ultra 2 for $269 with trade-in and a new Watch Plan Plus. <a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="48ff1a50-8610-11f1-8531-97a2ee83eb6b" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch Ultra 2: for $269 w/ trade-in + new watch line @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="48ff1ab4-8610-11f1-87bc-33d6fcdbdf47" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/watches/galaxy-watch-ultra2/buy/galaxy-watch-ultra2-47mm-titanium-silver-lte-sku-sm-l715uzsaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1312px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="YFnsbuxZypxrkdepxUH3h9" name="Samsung logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1312" height="734" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch Ultra 2: </strong><a href="https://www.samsung.com/us/watches/galaxy-watch-ultra2/buy/galaxy-watch-ultra2-47mm-titanium-silver-lte-sku-sm-l715uzsaxaa/" target="_blank" rel="nofollow" data-dimension112="48ff1ab4-8610-11f1-87bc-33d6fcdbdf47" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $250 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $250 off its Galaxy Watch Ultra 2 with trade-in. Or you'll get a $100 credit with out trade-in. The watch features an 1.52-inch AMOLED display with 5,000 nits of brightness. There's also a new 'Vitals' dashboard with key metrics including heart rate, HRV, Sp02, body temp, and breath rate in one place. Battery life should also be better with its upgraded 800 mAh battery. In our <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2 review</a> we said it improves on its predecessor with better screen brightness and battery life. It can also finally compete with the likes of the Apple Watch Ultra 3 when it comes to diving.<a class="view-deal button" href="https://www.samsung.com/us/watches/galaxy-watch-ultra2/buy/galaxy-watch-ultra2-47mm-titanium-silver-lte-sku-sm-l715uzsaxaa/" target="_blank" rel="nofollow" data-dimension112="48ff1ab4-8610-11f1-87bc-33d6fcdbdf47" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="48ff1b18-8610-11f1-b59c-036dc2ae39f3" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1331px;"><p class="vanilla-image-block" style="padding-top:68.52%;"><img id="yjsgCbZzcWDLMuhHtLHa7K" name="Best Buy deal block 2022.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yjsgCbZzcWDLMuhHtLHa7K.jpeg" mos="" align="middle" fullscreen="" width="1331" height="912" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch Ultra 2: </strong><a href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow" data-dimension112="48ff1b18-8610-11f1-b59c-036dc2ae39f3" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" data-dimension25=""><strong>up to $250 off w/ trade-in + $100 gift card @ Best Buy</strong></a><br>Best Buy is offering up to $250 off the Galaxy Watch Ultra 2 with trade-in. Additionally, Best Buy Plus or Total members will receive a $100 gift card. Membership <a href="https://www.bestbuy.com/site/electronics/best-buy-membership/pcmcat1679668833285.c?id=pcmcat1679668833285" target="_blank" rel="nofollow">plans start at $29/year at Best Buy</a>).<a class="view-deal button" href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow" data-dimension112="48ff1b18-8610-11f1-b59c-036dc2ae39f3" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" data-dimension48="Galaxy Watch Ultra 2: up to $250 off w/ trade-in + $100 gift card @ Best Buy" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="48ff1b7c-8610-11f1-8fb6-83b76c532601" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $699 @ Amazon" data-dimension48="Galaxy Watch Ultra 2: for $699 @ Amazon" href="https://www.amazon.com/Samsung-Galaxy-Ultra2-Titanium-Smartwatch/dp/B0H6NRPGT7" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1265px;"><p class="vanilla-image-block" style="padding-top:86.72%;"><img id="2QaDFAJjvKSmp7DubftogQ" name="Galaxy Watch Ultra 2 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2QaDFAJjvKSmp7DubftogQ.jpg" mos="" align="middle" fullscreen="" width="1265" height="1097" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch Ultra 2: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Ultra2-Titanium-Smartwatch/dp/B0H6NRPGT7" target="_blank" rel="nofollow" data-dimension112="48ff1b7c-8610-11f1-8fb6-83b76c532601" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $699 @ Amazon" data-dimension48="Galaxy Watch Ultra 2: for $699 @ Amazon" data-dimension25=""><strong>for $699 @ Amazon</strong></a><br>Amazon is offering a free $100 Amazon gift card when you buy your Galaxy Watch Ultra 2 at Amazon. <a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Ultra2-Titanium-Smartwatch/dp/B0H6NRPGT7" target="_blank" rel="nofollow" data-dimension112="48ff1b7c-8610-11f1-8fb6-83b76c532601" data-action="Deal Block" data-label="Galaxy Watch Ultra 2: for $699 @ Amazon" data-dimension48="Galaxy Watch Ultra 2: for $699 @ Amazon" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-galaxy-watch-9-deals"><span>Galaxy Watch 9 deals</span></h3><div class="product"><a data-dimension112="87d528d2-860b-11f1-99cb-2da0f7f74129" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-cream-bluetooth-sku-sm-l340nzeaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1312px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="YFnsbuxZypxrkdepxUH3h9" name="Samsung logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1312" height="734" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch 9: </strong><a href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-cream-bluetooth-sku-sm-l340nzeaxaa/" target="_blank" rel="nofollow" data-dimension112="87d528d2-860b-11f1-99cb-2da0f7f74129" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $250 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $250 off its Galaxy Watch 9. It features an 1.34-inch display with 3,000 nits max brightness. There's also a 'Vitals' dashboard with key metrics including heart rate, HRV, Sp02, body temp, and breath rate. The 40mm Galaxy Watch 9 has a 390 mAh battery, whereas the 44mm Galaxy Watch 9 sports a 445 mAh battery. In our <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Galaxy Watch 9 review</a>, we said it boasts a faster processor and better battery; however, the biggest upgrades come in the form of new health and fitness tracking tools.<a class="view-deal button" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-cream-bluetooth-sku-sm-l340nzeaxaa/" target="_blank" rel="nofollow" data-dimension112="87d528d2-860b-11f1-99cb-2da0f7f74129" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="87d5297c-860b-11f1-ba4c-8b6e1a4c54ce" data-action="Deal Block" data-label="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="4gDqoyT3A5J9nTa6Axevfg" name="TMobileLogo_1.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4gDqoyT3A5J9nTa6Axevfg.jpg" mos="" align="middle" fullscreen="" width="600" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch 9: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="87d5297c-860b-11f1-ba4c-8b6e1a4c54ce" data-action="Deal Block" data-label="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" data-dimension25=""><strong>free w/ trade-in + new watch line @ T-Mobile</strong></a><br>T-Mobile is offering the Galaxy Watch 9 for free with trade-in and a new Watch Plan Plus. <a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="87d5297c-860b-11f1-ba4c-8b6e1a4c54ce" data-action="Deal Block" data-label="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" data-dimension48="Galaxy Watch 9: free w/ trade-in + new watch line @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="87d52ad0-860b-11f1-9a8a-bf7294b52e2e" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1331px;"><p class="vanilla-image-block" style="padding-top:68.52%;"><img id="yjsgCbZzcWDLMuhHtLHa7K" name="Best Buy deal block 2022.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yjsgCbZzcWDLMuhHtLHa7K.jpeg" mos="" align="middle" fullscreen="" width="1331" height="912" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch 9: </strong><a href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow" data-dimension112="87d52ad0-860b-11f1-9a8a-bf7294b52e2e" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" data-dimension25=""><strong>up to $250 off w/ trade-in + $50 gift card @ Best Buy</strong></a><br>Best Buy is offering up to $250 off the Galaxy Watch 9 with trade-in. Additionally, Best Buy Plus or Total members will receive a $50 gift card. (Membership <a href="https://www.bestbuy.com/site/electronics/best-buy-membership/pcmcat1679668833285.c?id=pcmcat1679668833285" target="_blank" rel="nofollow">plans start at $29/year at Best Buy</a>).<a class="view-deal button" href="https://www.bestbuy.com/site/promo/samsung-galaxy-watch-offer" target="_blank" rel="nofollow" data-dimension112="87d52ad0-860b-11f1-9a8a-bf7294b52e2e" data-action="Deal Block" data-label="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" data-dimension48="Galaxy Watch 9: up to $250 off w/ trade-in + $50 gift card @ Best Buy" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="87d52b7a-860b-11f1-a8a7-7b4cf3fb48c4" data-action="Deal Block" data-label="Galaxy Watch 9: for $379 @ Amazon" data-dimension48="Galaxy Watch 9: for $379 @ Amazon" href="https://www.amazon.com/dp/B0H9BPZXZC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1257px;"><p class="vanilla-image-block" style="padding-top:83.77%;"><img id="W36tqDZ4ZJVpeUcjbxsu4C" name="Galaxy Watch 9 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/W36tqDZ4ZJVpeUcjbxsu4C.jpg" mos="" align="middle" fullscreen="" width="1257" height="1053" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Watch 9: </strong><a href="https://www.amazon.com/dp/B0H9BPZXZC" target="_blank" rel="nofollow" data-dimension112="87d52b7a-860b-11f1-a8a7-7b4cf3fb48c4" data-action="Deal Block" data-label="Galaxy Watch 9: for $379 @ Amazon" data-dimension48="Galaxy Watch 9: for $379 @ Amazon" data-dimension25=""><strong>for $379 @ Amazon</strong></a><br>Amazon is offering a free $50 Amazon gift card when you buy your Galaxy Watch 9 at Amazon. <a class="view-deal button" href="https://www.amazon.com/dp/B0H9BPZXZC" target="_blank" rel="nofollow" data-dimension112="87d52b7a-860b-11f1-a8a7-7b4cf3fb48c4" data-action="Deal Block" data-label="Galaxy Watch 9: for $379 @ Amazon" data-dimension48="Galaxy Watch 9: for $379 @ Amazon" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-shop-more-deals"><span>Shop more deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Everything&rows=6&view_mode=savings_squad&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.&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 getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      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%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      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-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .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 {      width: 100%;      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;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .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);    }    .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;    }    /*       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: 120px;      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: 16px 16px 8px;      }            .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-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .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;      }      /* 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;        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;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .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: 14px;      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-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      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-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .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;    }    .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;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .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::-webkit-scrollbar {      display: none;    }    .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;      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 {    }    .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.40);        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: #1f69ff; 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: #0056e0; 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; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \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">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \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>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \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>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \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 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/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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>        \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();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          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();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    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);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             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 (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    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 (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = 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') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // 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) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              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 !== 'date_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 handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          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');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          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');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    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;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   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;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = 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 });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          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;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               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 = 'date_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')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        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';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        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 fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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=${siteParam}&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 && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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 seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.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) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          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();                }                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;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                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 || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[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) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    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');                    url.searchParams.append('rows', this.getRowsLimit().toString());          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 = this.getRowsLimit();          // 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 : 'date_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}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_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, idx) => {              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}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${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);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } 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)}${_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 = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \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 = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \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 = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \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 tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_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>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}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_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 ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_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) {            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;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // 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');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } 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[ Best Galaxy Z Flip 8 deals: get Samsung's new foldable for free ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/best-galaxy-z-flip-8-deals-get-samsungs-new-foldable-for-free</link>
                                                                            <description>
                            <![CDATA[ The first round of Galaxy Z Flip 8 preorder deals are live. From AT&T to Samsung, here are all the best deals I'd buy at carriers and retailers. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">K3AQ3stDNey4NiS8bxtM7X</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UsDbKYaT4XPPXsE8AmtpCJ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 18:24:25 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 14:04:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ louis.ramirez@futurenet.com (Louis Ramirez) ]]></author>                    <dc:creator><![CDATA[ Louis Ramirez ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYF2xVwCb4pTGhAJi8Yqr5.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As deals editor-in-chief at Tom’s Guide, Louis refuses to pay full price for anything. He has over 10 years of experience finding the best deals and coupons to bring readers. Louis price checks&amp;nbsp;against multiple retailers and searches high and low for sales on 4K TVs, Apple devices, streaming services, mattresses, kitchen appliances, and more.&amp;nbsp;He&#039;s also always looking for the the best coupon codes to turn good deals into stellar buys.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has covered major retail events like Amazon Prime Day, Black Friday, and Cyber Monday for more than a decade and knows how to spot an epic deal from a fake discount. He&#039;s also great at helping people negotiate better prices on everything from gym memberships to their home internet service. Louis&#039; work has also helped readers find PS5 restock, baby formula, Clorox wipes, and everything in between. For his next major purchase, Louis is hoping to find a killer deal on an M3-based Mac.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A born-and-bred New Yorker, Louis is always in search of the perfect cup of coffee. On his free time, he enjoys swimming, running, and any workout that pushes his Apple Watch to the max. He&#039;s also a big fan of international films, horror movies, and K-dramas. His work has appeared on Gizmodo, CNET, Digital Trends, Dealnews, and Time Out New York.&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/UsDbKYaT4XPPXsE8AmtpCJ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Flip 8 held in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Flip 8 held in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Flip 8 held in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UsDbKYaT4XPPXsE8AmtpCJ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>With a starting price of $1,199, the new Galaxy Z Flip 8 is $100 pricier than its predecessor. That makes Galaxy Z Flip 8 preorder deals all the more important if you're looking to save money. </p><p>Unveiled at the recent Galaxy Unpacked event, the new phone will release on August 7. It was announced alongside its pricier siblings, the Galaxy Z Fold 8 ($1,899) and Galaxy Z Fold 8 Ultra ($2,099).</p><p>If you're looking to save money, the best Galaxy Z Flip 8 preorder deal right now comes from T-Mobile. For a limited time, you can get <a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow">up to $1,100 off Galaxy Z Flip 8 at T-Mobile</a> with trade-in and Experience More or Experience Beyond plans. Or you can get up to $500 off with trade-in on most other unlimited plans. </p><p>In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8 review</a>, we called it Samsung's sleekest and most refined flip phone to date. But Z Flip 7 owners aren't missing much in terms of hardware updates. If you're eager to get Samsung's new foldable, there are many Galaxy Z Flip 8 deals you can get right now. Below I've rounded up my favorite. (For more ways to save, check out our guide to the best <a href="https://www.tomsguide.com/coupons/samsung.com">Samsung promo codes</a>).</p><p><strong>Note:</strong> Verizon has yet to release any Galaxy Z Flip 8 preorder deals. In the meantime, you can <a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-verizon-sku-sm-f776uliavzw/" target="_blank" rel="nofollow">preorder the Galaxy Z Flip 8 for Verizon via Samsung</a> and get up to $900 in bill credits via trade-in and select data plans.  </p><h3 class="article-body__section" id="section-quick-links"><span>Quick Links</span></h3><ul><li><strong>T-Mobile: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>up to $1,100 off w/ trade-in + unlimited</strong></a></li><li><strong>Samsung: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow"><strong>up to $600 off w/ trade-in or $150 credit</strong></a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><strong>up to $1,200 off + $200 gift card</strong></a></li><li><strong>AT&T: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-flip8.html" target="_blank" rel="nofollow"><strong>$5/month w/ trade-in + unlimited</strong></a><strong></strong></li><li><strong>Xfinity Mobile: </strong><a href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-flip8" target="_blank" rel="nofollow"><strong>up to $1,000 off w/ trade-in</strong></a><strong></strong></li><li><strong>Amazon: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12FP315" target="_blank" rel="nofollow"><strong>for $1,199 w/ $200 gift card</strong></a></li></ul><h3 class="article-body__section" id="section-galaxy-z-flip-8-deals"><span>Galaxy Z Flip 8 deals</span></h3><div class="product"><a data-dimension112="a382c82c-85f8-11f1-8d64-db4a44dbbade" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1312px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="YFnsbuxZypxrkdepxUH3h9" name="Samsung logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1312" height="734" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="a382c82c-85f8-11f1-8d64-db4a44dbbade" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $600 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $600 off its Galaxy Z Flip 8 preorder when you trade-in an older phone. Or you can get a $150 Samsung credit with no trade-in. The phone features a 6.9-inch AMOLED (1080 x 2520) inner display w/ 120Hz refresh, 4.1-inch AMOLED (948 x 1048) outer display w/ 120Hz refresh, Snapdragon 8 Elite Gen 5 for Galaxy chipset, 12GB of RAM, and 256GB of storage. You also get 50MP f/1.8 main and 12MP f/2.2 ultra-wide rear cameras and a 10MP f2.2 selfie cam. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8 review</a>, we said it's Samsung's sleekest and most refined flip phone to date, but not a necessary upgrade for current Z Flip 7 owners. <a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="a382c82c-85f8-11f1-8d64-db4a44dbbade" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382c8a4-85f8-11f1-8d1f-a9faa1a967e6" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="4gDqoyT3A5J9nTa6Axevfg" name="TMobileLogo_1.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4gDqoyT3A5J9nTa6Axevfg.jpg" mos="" align="middle" fullscreen="" width="600" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="a382c8a4-85f8-11f1-8d1f-a9faa1a967e6" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" data-dimension25=""><strong>up to $1,100 off w/ trade-in + unlimited @ T-Mobile</strong></a><br>T-Mobile is offering various Galaxy Z Flip 8 deals. You can get the phone for $1,100 off with trade-in and when you add a line on T-Mobile's Experience More or Experience Beyond plans. Or get it for $500 off with trade-in on most other data plans. <a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="a382c8a4-85f8-11f1-8d1f-a9faa1a967e6" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382c91c-85f8-11f1-a48d-efc60c6b7860" data-action="Deal Block" data-label="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" href="https://www.att.com/buy/phones/samsung-galaxy-z-flip8.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:225px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="o9PdShQsgAk95AN7C5UMNR" name="AT&T Logo.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o9PdShQsgAk95AN7C5UMNR.jpeg" mos="" align="middle" fullscreen="" width="225" height="225" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-flip8.html" target="_blank" rel="nofollow" data-dimension112="a382c91c-85f8-11f1-a48d-efc60c6b7860" data-action="Deal Block" data-label="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension25=""><strong>$5/month w/ trade-in + unlimited @ AT&T</strong></a><br>New and existing customers can get a Galaxy Z Flip 8 for $5.56/month when you trade-in a phone and open an eligible unlimited data plan. <a class="view-deal button" href="https://www.att.com/buy/phones/samsung-galaxy-z-flip8.html" target="_blank" rel="nofollow" data-dimension112="a382c91c-85f8-11f1-a48d-efc60c6b7860" data-action="Deal Block" data-label="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Flip 8: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382c994-85f8-11f1-8a4f-43e06bd270af" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1331px;"><p class="vanilla-image-block" style="padding-top:68.52%;"><img id="yjsgCbZzcWDLMuhHtLHa7K" name="Best Buy deal block 2022.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yjsgCbZzcWDLMuhHtLHa7K.jpeg" mos="" align="middle" fullscreen="" width="1331" height="912" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="a382c994-85f8-11f1-8a4f-43e06bd270af" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension25=""><strong>up to $1,200 off w/ trade-in + $200 gift card @ Best Buy</strong></a><br>Best Buy is offering one of the best Galaxy Z Flip 8 deals right now. Purchase your phone at Best Buy and you'll get up to $1,200 off via trade-in and a free $200 Best Buy gift card. <a class="view-deal button" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="a382c994-85f8-11f1-8a4f-43e06bd270af" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension48="Galaxy Z Flip 8: up to $1,200 off w/ trade-in + $200 gift card @ Best Buy" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382ca0c-85f8-11f1-b6ee-278370d2209b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" href="https://www.verizon.com/smartphones/samsung/?isMyPlanFlow=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3321px;"><p class="vanilla-image-block" style="padding-top:40.98%;"><img id="R4vXmWQKAkSdQs7bVstjs8" name="Verizon logo 2024.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/R4vXmWQKAkSdQs7bVstjs8.jpg" mos="" align="middle" fullscreen="" width="3321" height="1361" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.verizon.com/smartphones/samsung/?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="a382ca0c-85f8-11f1-b6ee-278370d2209b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" data-dimension25=""><strong>up to $1,100 off w/ trade-in @ Verizon</strong></a><br>Verizon is offering aggressive Galaxy Z Flip 8 deals. Trade-in an old phone and you'll get up to $1,100 off Samsung's new foldable. <a class="view-deal button" href="https://www.verizon.com/smartphones/samsung/?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="a382ca0c-85f8-11f1-b6ee-278370d2209b" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" data-dimension48="Galaxy Z Flip 8: up to $1,100 off w/ trade-in @ Verizon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382ca84-85f8-11f1-bb49-9b4d92238e08" data-action="Deal Block" data-label="Amazon is offering a free $200 Amazon gift card when you buy your Galaxy Z Flip 8. You'll pay full price for the unlocked phone, but get a generous gift card in return." data-dimension48="Amazon is offering a free $200 Amazon gift card when you buy your Galaxy Z Flip 8. You'll pay full price for the unlocked phone, but get a generous gift card in return." data-dimension25="$1199" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12FP315" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1199px;"><p class="vanilla-image-block" style="padding-top:125.10%;"><img id="rTkAPNzBbP77RUVHtMufoZ" name="Galaxy Z Flip 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rTkAPNzBbP77RUVHtMufoZ.jpg" mos="" align="middle" fullscreen="" width="1199" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Amazon is offering a free $200 Amazon gift card when you buy your Galaxy Z Flip 8. You'll pay full price for the unlocked phone, but get a generous gift card in return.<a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12FP315" target="_blank" rel="nofollow" data-dimension112="a382ca84-85f8-11f1-bb49-9b4d92238e08" data-action="Deal Block" data-label="Amazon is offering a free $200 Amazon gift card when you buy your Galaxy Z Flip 8. You'll pay full price for the unlocked phone, but get a generous gift card in return." data-dimension48="Amazon is offering a free $200 Amazon gift card when you buy your Galaxy Z Flip 8. You'll pay full price for the unlocked phone, but get a generous gift card in return." data-dimension25="$1199">View Deal</a></p></div><div class="product"><a data-dimension112="a382caf2-85f8-11f1-82b8-9d3b5d4064e8" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-flip8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:960px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="ukXfYk4wgducEMDS2iCCjY" name="Xfinity Mobile Logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ukXfYk4wgducEMDS2iCCjY.jpg" mos="" align="middle" fullscreen="" width="960" height="539" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-flip8" target="_blank" rel="nofollow" data-dimension112="a382caf2-85f8-11f1-82b8-9d3b5d4064e8" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" data-dimension25=""><strong>up to $1,00 off w/ trade-in @ Xfinity Mobile</strong></a><br>Purchase the Galaxy Z Flip 8 at Xfinity Mobile and you'll save up to $1,000 after trade-in. If you don't have a phone to trade-in, you can still get up to $600 off Samsung's new phone. <a class="view-deal button" href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-flip8" target="_blank" rel="nofollow" data-dimension112="a382caf2-85f8-11f1-82b8-9d3b5d4064e8" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Flip 8: up to $1,00 off w/ trade-in @ Xfinity Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="a382cb6a-85f8-11f1-82d5-eb4ed3c9c3b1" data-action="Deal Block" data-label="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:713px;"><p class="vanilla-image-block" style="padding-top:38.85%;"><img id="UGYgmHB5HuHtAFmJHSMZnU" name="Boost Mobile logo 2024.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UGYgmHB5HuHtAFmJHSMZnU.jpg" mos="" align="middle" fullscreen="" width="713" height="277" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 7: </strong><a href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow" data-dimension112="a382cb6a-85f8-11f1-82d5-eb4ed3c9c3b1" data-action="Deal Block" data-label="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" data-dimension25=""><strong>free w/ unlimited @ Boost Mobile</strong></a><br>Boost Mobile is offering the Galaxy Flip 7 for free. Best of all, no trade-in is required. You'll just need to sign up to an unlimited data plan from $65/month.<a class="view-deal button" href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow" data-dimension112="a382cb6a-85f8-11f1-82d5-eb4ed3c9c3b1" data-action="Deal Block" data-label="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Flip 7: free w/ unlimited @ Boost Mobile" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-galaxy-z-flip-8-specs"><span>Galaxy Z Flip 8 specs</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong>    </p></td><td  ><p>$1,199 / £1,149 </p></td></tr><tr><td class="firstcol " ><p><strong>Release date</strong></p></td><td  ><p>August 7</p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong>    </p></td><td  ><p>6.9-inch AMOLED (1080 x 2520, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong>    </p></td><td  ><p>4.1-inch AMOLED (948 x 1048, 60Hz / 120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong>    </p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong>    </p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong>    </p></td><td  ><p>256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong>    </p></td><td  ><p>50MP main (f/1.8), 12MP ultrawide (f/2.2)</p></td></tr><tr><td class="firstcol " ><p><strong>Selfie Camera</strong>    </p></td><td  ><p>10MP (f/2.2)</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong>    </p></td><td  ><p>25W wired / 15W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong>    </p></td><td  ><p>4,300 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong>    </p></td><td  ><p>6.57 x 2.97 x 0.24 inches unfolded (166.9 x 75.4 x 6.1 mm), 3.37 x 2.97 x 0.52 inches folded (85.7 x 75.4 x 13.1mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong>    </p></td><td  ><p>6.35 ounces (180 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong>    </p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong>    </p></td><td  ><p>Pink, Graphite, Cream, Mint (online)</p></td></tr></tbody></table></div><p>In our initial hands-on, we aren't as infatuated with the Galaxy Z Flip 8 as we were with its predecessor. For one, it now comes with a $100 price increase which places it closer to flagships like the $1,199 iPhone 17 Pro Max and the $1,299 Galaxy S26 Ultra, which offers a more robust camera system, a larger battery, and more productivity features. Additionally, the Galaxy Z Flip 8 feels more like a simple, iterative upgrade than it does a groundbreaking phone. </p><p>That said, there are many things Samsung got right with this phone. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8 review</a>, we called it Samsung's sleekest and most refined flip phone to date. We also feel its a great phone for vlogging than either the Z Fold 8 or Z Fold 8 Ultra. That’s primarily due to its form factor, which is far better suited for capturing video using the rear cameras alongside the FlexWindow display. </p><p>Stay tuned to Tom's Guide as we spend more time with the phone and give you our final verdict. Alternatively, if you're interested in Samsung's Fold line, make sure to check out our guide to the best <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-preorder-deals-heres-how-im-saving-up-to-usd1-200-on-samsungs-new-phones">Galaxy Z Fold 8 preorder deals</a>.</p><h3 class="article-body__section" id="section-shop-more-deals"><span>Shop more deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=Everything&rows=6&view_mode=savings_squad&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.&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 getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      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%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      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-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .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 {      width: 100%;      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;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .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);    }    .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;    }    /*       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: 120px;      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: 16px 16px 8px;      }            .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-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .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;      }      /* 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;        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;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .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: 14px;      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-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      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-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .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;    }    .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;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .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::-webkit-scrollbar {      display: none;    }    .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;      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 {    }    .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.40);        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: #1f69ff; 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: #0056e0; 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; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \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">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').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>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \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>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').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>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \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>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \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 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/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').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>        \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();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          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();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    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);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             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 (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    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 (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = 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') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // 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) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              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 !== 'date_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 handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          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');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          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');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    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;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   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;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = 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 });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          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;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               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 = 'date_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')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        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';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        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 fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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=${siteParam}&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 && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&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 seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.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) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          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();                }                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;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                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 || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[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) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    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');                    url.searchParams.append('rows', this.getRowsLimit().toString());          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 = this.getRowsLimit();          // 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 : 'date_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}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_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, idx) => {              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}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${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);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } 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)}${_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 = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \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 = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \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 = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \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 tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_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>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}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_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 ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_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) {            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;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // 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');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } 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[ The 12 best tech deals from Best Buy's Black Friday in July sales event ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/sales-events/the-12-best-tech-deals-from-best-buys-black-friday-in-july-sales-event</link>
                                                                            <description>
                            <![CDATA[ Sale season isn't over! Best Buy's Black Friday in July event is here now offering big savings on a wide range of tech, from laptops to TVs, wearables and more. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ndxDUsaJbHmZqcLu4wV5Co</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/im6cZAzzhJWpXjGV6b8zKd-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 16:16:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Sales Events]]></category>
                                                                                                                    <dc:creator><![CDATA[ Will Salmon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HpRWP7Mh9ErgRGoTvZBbBJ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Will Salmon is Tom&#039;s Guide&#039;s Collections Editor, curating advice on the best products to spend your money on. Will has been writing about tech and entertainment for almost 20 years, including stints as GamesRadar+&#039;s Streaming Editor, editing comics website Newsarama, and writing for lots and lots of magazines.&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/im6cZAzzhJWpXjGV6b8zKd-1280-80.jpg">
                                                            <media:credit><![CDATA[LG, Samsung, Lenovo, Apple / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A collage with a TV, laptop, smartphone, iPad, and headphones.]]></media:description>                                                            <media:text><![CDATA[A collage with a TV, laptop, smartphone, iPad, and headphones.]]></media:text>
                                <media:title type="plain"><![CDATA[A collage with a TV, laptop, smartphone, iPad, and headphones.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/im6cZAzzhJWpXjGV6b8zKd-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you thought that the big sales season was over, then think again! Best Buy has a huge event on now called Black Friday in July, which is running until Sunday July 26. It's packed with huge bargains across a wide range of products.</p><p>For this article I've selected items that are close to Tom's Guide's heartland. There's a massive selection of TVs, laptops, smartphones, wearables and other great gadgets to be had right now. I've pulled out my 12 favorites here: great products from trusted brands like Apple, Samsung, LG, Lenovo and more.</p><p>This is just scratching the surface of the sales, though. For more, make sure to head to <a href="https://www.bestbuy.com/black-friday" target="_blank" rel="nofollow">Best Buy</a> now and grab some savings while you can.</p>        <div class="featured_product_block featured_block_hero" data-id="fde78e78-85e0-11f1-968f-5f4812cfea1e">            <a href="https://www.bestbuy.com/product/amazon-fire-tv-stick-2nd-gen-hd-free-live-tv-alexa-voice-remote-powered-by-the-tv-effortless-setup-8-gb-2026-black/J39TLSP338/sku/6674516" data-model-name="Amazon Fire TV Stick HD (2nd Gen)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/A5jiLAkjhnfNbk8hJ7PTxj.jpg" alt="Amazon, Amazon - Fire TV Stick 2nd Gen HD, free & live TV, Alexa Voice Remote, powered by the TV, effortless setup, 8 GB (2026) - Black"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Amazon Fire TV Stick HD (2nd Gen)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78cac-85e0-11f1-b8fb-e392119f59f5">            <a href="https://www.bestbuy.com/product/ring-battery-doorbell-2k-newest-model-speckled-gray-indoor-cam-plus-white/J39TLSPKF8" data-model-name="Ring Doorbell 2K + Indoor Cam" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aDFEXeRvo4vVHNqFfxUDyd.jpg" alt="Ring, Ring - Battery Doorbell 2K (newest model), Speckled Gray + Indoor Cam Plus - White"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Ring</div>                                        <div class="featured__title">Ring Doorbell 2K + Indoor Cam</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78d24-85e0-11f1-88b9-01f5e8a4058e">            <a href="https://www.bestbuy.com/product/apple-airpods-4-with-active-noise-cancellation-white/JJGCQ832YX" data-model-name="Apple AirPods 4 with Active Noise Cancellation" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rYqoKFyjFLjtxt2uQBoQmf.jpg" alt="Apple, Apple - AirPods 4 with Active Noise Cancellation - White"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Apple</div>                                        <div class="featured__title">Apple AirPods 4 with Active Noise Cancellation</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78bc6-85e0-11f1-9b2f-ad84d09cf195">            <a href="https://www.bestbuy.com/product/lenovo-ideapad-slim-3-chromebook-14-2k-touchscreen-laptop-mediatek-kompanio-540-2025-4gb-memory-64gb-emmc-cosmic-blue/JJGH3QCJKR" data-model-name="Lenovo IdeaPad Slim 3 14-inch Chromebook laptop" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KmP3ELbusEDzjRFBShByoX.jpg" alt="Lenovo, Lenovo - IdeaPad Slim 3 Chromebook - 14" 2K Touchscreen Laptop - MediaTek Kompanio 540 2025 - 4GB Memory - 64GB eMMC - Cosmic Blue"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Lenovo</div>                                        <div class="featured__title">Lenovo IdeaPad Slim 3 14-inch Chromebook laptop</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78ae0-85e0-11f1-a717-437365564bde">            <a href="https://www.bestbuy.com/product/apple-watch-series-11-gps-42mm-rose-gold-aluminum-case-with-light-blush-sport-band-s-m-rose-gold-2025/JJGCQLX9Z6" data-model-name="Apple Watch with Light Blush Sport Band" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ChbQuy3rrunAHBfpYEPsrS.jpg" alt="Apple, Apple Watch Series 11 (GPS) 42mm Rose Gold Aluminum Case with Light Blush Sport Band - S/M - Rose Gold - (2025)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Apple</div>                                        <div class="featured__title">Apple Watch with Light Blush Sport Band</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78c3e-85e0-11f1-8969-1bdfcfdcb74b">            <a href="https://www.bestbuy.com/product/apple-11-inch-ipad-a16-chip-with-wi-fi-128gb-silver/JJGCQG39VG" data-model-name="Apple 11-inch 128GB iPad" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ME6EbbKC6vhSc4sEC9nADb.jpg" alt="Apple - 11-inch iPad A16 chip with Wi-Fi - 128GB - Silver"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Apple</div>                                        <div class="featured__title">Apple 11-inch 128GB iPad</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78ee6-85e0-11f1-9ee3-45ecda2e80c9">            <a href="https://www.bestbuy.com/product/google-pixel-watch-4-45mm-lte-matte-black-case-obsidian-band-2025/J39TC8JQGP/sku/6637236" data-model-name="Google Pixel Watch 4" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/f97BJvpx9GBKkztJmSSPRm.jpg" alt="Google, Google - Pixel Watch 4 (45mm) - Lte - Matte Black Case - Obsidian Band - (2025)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Google</div>                                        <div class="featured__title">Google Pixel Watch 4</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78e0a-85e0-11f1-9172-29289ab06e45">            <a href="https://www.bestbuy.com/product/apple-iphone-16e-128gb-apple-intelligence-unlocked-white/JJGCQG2GTF" data-model-name="Apple iPhone 16e" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dvBRJ8PHhnMFCX8dJ9eEci.jpg" alt="Apple, Apple - iPhone 16e 128GB - Apple Intelligence (Unlocked) - White"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Apple</div>                                        <div class="featured__title">Apple iPhone 16e</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78f5e-85e0-11f1-b08c-e3ba2f897685">            <a href="https://www.bestbuy.com/product/samsung-galaxy-s25-ultra-256gb-unlocked-titanium-whitesilver/J3ZYG2VPX3" data-model-name="Samsung Galaxy S25 Ultra 256GB smartphone" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CGYEu6oSzXL7uvTKnVKkkn.jpg" alt="Samsung, Samsung - Galaxy S25 Ultra 256gb (unlocked) - Titanium Whitesilver"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Samsung</div>                                        <div class="featured__title">Samsung Galaxy S25 Ultra 256GB smartphone</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78a5e-85e0-11f1-9d55-6701f2f2ba74">            <a href="https://www.bestbuy.com/product/samsung-65-class-s90f-series-oled-4k-uhd-samsungvision-ai-smart-tizen-tv-2025/J3ZYG2V6WP" data-model-name="Samsung 65-inch OLED 4K UHD Smart TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/SR9ynBq3fJPWrJeEsEBB7R.jpg" alt="Samsung, Samsung 65" Class S90F OLED 4K UHD Smart TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Samsung</div>                                        <div class="featured__title">Samsung 65-inch OLED 4K UHD Smart TV</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78b58-85e0-11f1-9c6f-f51f4ba4377d">            <a href="https://www.bestbuy.com/product/lg-77-class-b5-series-oled-ai-4k-uhd-smart-webos-tv-2025/JJ8VPZTKZW" data-model-name="LG 77-inch OLED AI Smart TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8M4mMCVDNUp7iWVaKiCa9V.jpg" alt="LG, LG - 77" Class B5 Series OLED AI 4K UHD Smart webOS TV (2025)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>LG</div>                                        <div class="featured__title">LG 77-inch OLED AI Smart TV</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="fde78d92-85e0-11f1-9af3-31f3622f0788">            <a href="https://www.bestbuy.com/product/apple-macbook-pro-14-inch-laptop-m5-chip-with-10-core-cpu-and-10-core-gpu-16gb-memory-1tb-ssd-space-black/JJGCQL8L2P" data-model-name="Apple MacBook Pro 14-inch Laptop" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/MYFQ4Ae5LVXirjZtjzjqDh.jpg" alt="Apple, Apple - Macbook Pro 14-Inch Laptop - M5 chip With 10-Core Cpu and 10-Core Gpu - 16gb Memory - 1tb Ssd - Space Black"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Apple</div>                                        <div class="featured__title">Apple MacBook Pro 14-inch Laptop</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Galaxy Z Fold 8 preorder deals: here's how I'm saving up to $1,200 on Samsung's new phones ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-preorder-deals-heres-how-im-saving-up-to-usd1-200-on-samsungs-new-phones</link>
                                                                            <description>
                            <![CDATA[ Samsung Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra preorder deals are now live. Here's how to score Samsung's new phones at T-Mobile, AT&T, and more. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QJ4rKzJiVJEYbAeupkwY9m</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Qd2JN4d4E7X9Gfb4qL3o5n-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 16:00:56 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 13:56:51 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ louis.ramirez@futurenet.com (Louis Ramirez) ]]></author>                    <dc:creator><![CDATA[ Louis Ramirez ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oYF2xVwCb4pTGhAJi8Yqr5.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As deals editor-in-chief at Tom’s Guide, Louis refuses to pay full price for anything. He has over 10 years of experience finding the best deals and coupons to bring readers. Louis price checks&amp;nbsp;against multiple retailers and searches high and low for sales on 4K TVs, Apple devices, streaming services, mattresses, kitchen appliances, and more.&amp;nbsp;He&#039;s also always looking for the the best coupon codes to turn good deals into stellar buys.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;He has covered major retail events like Amazon Prime Day, Black Friday, and Cyber Monday for more than a decade and knows how to spot an epic deal from a fake discount. He&#039;s also great at helping people negotiate better prices on everything from gym memberships to their home internet service. Louis&#039; work has also helped readers find PS5 restock, baby formula, Clorox wipes, and everything in between. For his next major purchase, Louis is hoping to find a killer deal on an M3-based Mac.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;A born-and-bred New Yorker, Louis is always in search of the perfect cup of coffee. On his free time, he enjoys swimming, running, and any workout that pushes his Apple Watch to the max. He&#039;s also a big fan of international films, horror movies, and K-dramas. His work has appeared on Gizmodo, CNET, Digital Trends, Dealnews, and Time Out New York.&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/Qd2JN4d4E7X9Gfb4qL3o5n-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Qd2JN4d4E7X9Gfb4qL3o5n-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung's new lineup of foldable phones has officially been unveiled. With starting prices that reach up to $2,099, Galaxy Z Fold 8 preorder deals have never been so important. On this page I'm rounding up all of the best deals you can get from every retailer and carrier. </p><p>The new lineup includes the Galaxy Z Fold 8 ($1,899), Galaxy Z Fold 8 Ultra ($2,099), and the Galaxy Z Flip 8 ($1,199). The latter will be released on August 7, whereas both Fold phones will release on August 8. </p><p>One of the best Galaxy Z Fold 8 preorders this week comes courtesy of Samsung itself. For a limited time, you can get <a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow">up to $1,200 off the Galaxy Z Fold 8 at Samsung</a> when you preorder and trade in an older device. If you don't have a trade-in, you'll get a <a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow">$200 Samsung credit</a> with your preorder. Alternatively, you can get <a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow">up to $1,200 off the Galaxy Z Fold 8 Ultra at Samsung</a> with trade-in. Or you'll get the same <a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow">$200 Samsung credit</a> without a trade. In the past, we've seen complimentary storage upgrades, but for now there are none. </p><p>There are plenty more Galaxy Z Fold 8 and Galaxy Z Fold 8 Ultra preorder deals and below I'm rounding them all up. (For more ways to save, check out our guide to today's best <a href="https://www.tomsguide.com/coupons/samsung.com">Samsung promo codes</a>).</p><h3 class="article-body__section" id="section-quick-links-galaxy-z-fold-8"><span>Quick Links: Galaxy Z Fold 8</span></h3><ul><li><strong>T-Mobile: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>free w/ trade-in + unlimited</strong></a><strong></strong></li><li><strong>Samsung: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow"><strong>up to $1,200 off w/ trade-in or $200 credit</strong></a></li><li><strong>AT&T: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8.html" target="_blank" rel="nofollow"><strong>free w/ trade-in + unlimited</strong></a></li><li><strong>Verizon: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow"><strong>free w/ trade-in or free watch + tablet</strong></a></li><li><strong>Xfinity Mobile: </strong><a href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-fold8" target="_blank" rel="nofollow"><strong>up to $1,000 off w/ trade-in + unlimited</strong></a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><strong>up to $1,200 off w/ trade-in + $200 gift card</strong></a><strong></strong></li><li><strong>Amazon: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12M2TY4" target="_blank" rel="nofollow"><strong>$1,899 + $350 gift card</strong></a></li></ul><h3 class="article-body__section" id="section-quick-links-galaxy-z-fold-8-ultra"><span>Quick Links: Galaxy Z Fold 8 Ultra</span></h3><ul><li><strong>T-Mobile: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><strong>up to $1,900 w/ trade-in + unlimited</strong></a><strong></strong></li><li><strong>Samsung: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow"><strong>up to $1,200 off w/ trade-in or $200 credit</strong></a></li><li><strong>AT&T: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8-ultra.html" target="_blank" rel="nofollow"><strong>$5/month w/ trade-in + unlimited</strong></a></li><li><strong>Verizon: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?isMyPlanFlow=true" target="_blank" rel="nofollow"><strong>up to $1,200 off w/ trade-in or free watch + tablet</strong></a></li><li><strong>Xfinity Mobile: </strong><a href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-fold8-ultra" target="_blank" rel="nofollow"><strong>up to $1,000 off w/ trade-in + unlimited</strong></a></li><li><strong>Best Buy: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><strong>up to $1,200 off w/ trade-in + $200 gift card</strong></a><strong></strong></li><li><strong>Amazon: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12KX1X4" target="_blank" rel="nofollow"><strong>$1,899 + $350 gift card</strong></a></li></ul><h3 class="article-body__section" id="section-galaxy-z-fold-8-preorder-deals"><span>Galaxy Z Fold 8 preorder deals</span></h3><div class="product"><a data-dimension112="f26496dc-8549-11f1-8cac-a1fb39c15144" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="4gDqoyT3A5J9nTa6Axevfg" name="TMobileLogo_1.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4gDqoyT3A5J9nTa6Axevfg.jpg" mos="" align="middle" fullscreen="" width="600" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="f26496dc-8549-11f1-8cac-a1fb39c15144" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension25=""><strong>free w/ trade-in + unlimited @ T-Mobile</strong></a><br>New and existing T-Mobile customers can get the Galaxy Z Fold 8 for free with trade-in and Experience Beyond data plans. Or you'll get up to $1,100 off with trade-in and on Experience More plans. Other discounts are also available for other plans. <a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="f26496dc-8549-11f1-8cac-a1fb39c15144" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f2649556-8549-11f1-85ea-4d39fe4278de" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1312px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="YFnsbuxZypxrkdepxUH3h9" name="Samsung logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1312" height="734" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="f2649556-8549-11f1-85ea-4d39fe4278de" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in. The phone features an 7.6-inch AMOLED (1848 x 2448) 120Hz main display, 5.5-inch AMOLED (1248 x 1972) 120Hz cover display, Snapdragon 8 Elite CPU, 12GB of RAM, and 256GB of storage. On the rear you get a 50MP main wide-angle lens and 50MP ultra-wide lens. Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Galaxy Z Fold 8 hands-on</a>, we called it our favorite foldable to date. It loses the telephoto zoom, but you get a greatly reduced crease, brighter main screen, and lighter design.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="f2649556-8549-11f1-85ea-4d39fe4278de" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f26495ba-8549-11f1-a661-ef63e6f6383e" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:225px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="o9PdShQsgAk95AN7C5UMNR" name="AT&T Logo.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o9PdShQsgAk95AN7C5UMNR.jpeg" mos="" align="middle" fullscreen="" width="225" height="225" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8.html" target="_blank" rel="nofollow" data-dimension112="f26495ba-8549-11f1-a661-ef63e6f6383e" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" data-dimension25=""><strong>free w/ trade-in + unlimited @ AT&T</strong></a><br>New and existing customers can get the Galaxy Z Fold 8 for free when you trade in a phone with an eligible data plan. <a class="view-deal button" href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8.html" target="_blank" rel="nofollow" data-dimension112="f26495ba-8549-11f1-a661-ef63e6f6383e" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 preorder: free w/ trade-in + unlimited @ AT&amp;T" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f264961e-8549-11f1-883f-814277ccde4a" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1331px;"><p class="vanilla-image-block" style="padding-top:68.52%;"><img id="yjsgCbZzcWDLMuhHtLHa7K" name="Best Buy deal block 2022.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yjsgCbZzcWDLMuhHtLHa7K.jpeg" mos="" align="middle" fullscreen="" width="1331" height="912" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorders: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="f264961e-8549-11f1-883f-814277ccde4a" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension25=""><strong>up to $1,200 off + free $200 GC @ Best Buy</strong></a><br>Best Buy is offering one of the best Galaxy Z Fold 8 preorder deals around. Preorder your phone at Best Buy with trade-in and you'll up to $1,200 off. Plus, you'll get a free $200 Best Buy gift card just for preordering. <a class="view-deal button" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="f264961e-8549-11f1-883f-814277ccde4a" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f2649678-8549-11f1-a956-1df363971908" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3321px;"><p class="vanilla-image-block" style="padding-top:40.98%;"><img id="R4vXmWQKAkSdQs7bVstjs8" name="Verizon logo 2024.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/R4vXmWQKAkSdQs7bVstjs8.jpg" mos="" align="middle" fullscreen="" width="3321" height="1361" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="f2649678-8549-11f1-a956-1df363971908" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25=""><strong>up to $1,200 off w/ trade-in + unlimited @ Verizon</strong></a><br>Verizon is taking up to $1,200 off your Galaxy Z Fold 8 preorder with trade-in and eligible unlimited data plans. Or preorder a Galaxy Fold 8 and get a free Galaxy Watch 9 and Galaxy Tab 10 FE 5G when you open a new line for each device. <a class="view-deal button" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8/?sku=sku6049305?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="f2649678-8549-11f1-a956-1df363971908" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f2649740-8549-11f1-8c05-aba16da32cb9" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-fold8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:300px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="NCwubcuyQYEeAmGJjMxYde" name="xfinitymobile-logo.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NCwubcuyQYEeAmGJjMxYde.jpeg" mos="" align="middle" fullscreen="" width="300" height="300" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-fold8" target="_blank" rel="nofollow" data-dimension112="f2649740-8549-11f1-8c05-aba16da32cb9" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" data-dimension25=""><strong>up to $1,000 off w/ trade-in @ Xfinity Mobile</strong></a><br>Xfinity Mobile is offering up to $1,000 off its Galaxy Z Fold 8 preorders (via trade-in). Customers who don't have a phone to trade can still get $600 off. <a class="view-deal button" href="https://www.xfinity.com/mobile/shop/phone/galaxy-z-fold8" target="_blank" rel="nofollow" data-dimension112="f2649740-8549-11f1-8c05-aba16da32cb9" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,000 off w/ trade-in @ Xfinity Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f264979a-8549-11f1-b289-b76da5d816d0" data-action="Deal Block" data-label="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:713px;"><p class="vanilla-image-block" style="padding-top:38.85%;"><img id="UGYgmHB5HuHtAFmJHSMZnU" name="Boost Mobile logo 2024.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UGYgmHB5HuHtAFmJHSMZnU.jpg" mos="" align="middle" fullscreen="" width="713" height="277" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 7 preorder: </strong><a href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow" data-dimension112="f264979a-8549-11f1-b289-b76da5d816d0" data-action="Deal Block" data-label="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" data-dimension25=""><strong>up to $1,100 off w/ unlimited @ Boost Mobile</strong></a><br>Boost Mobile is offering up to $1,100 off its Galaxy Z Fold 7 preorders. Best of all, no trade-in is required. You'll just need to sign up to an unlimited data plan from $65/month. <a class="view-deal button" href="https://www.boostmobile.com/plans/infinite-access-for-galaxy" target="_blank" rel="nofollow" data-dimension112="f264979a-8549-11f1-b289-b76da5d816d0" data-action="Deal Block" data-label="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" data-dimension48="Galaxy Z Fold 7 preorder: up to $1,100 off w/ unlimited @ Boost Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f26497fe-8549-11f1-a25d-51c6445e5288" data-action="Deal Block" data-label="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" data-dimension48="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12M2TY4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:954px;"><p class="vanilla-image-block" style="padding-top:98.95%;"><img id="4EngEpxMLxWVDrp7aAo2xi" name="Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4EngEpxMLxWVDrp7aAo2xi.jpg" mos="" align="middle" fullscreen="" width="954" height="944" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Samsung Galaxy Z Fold 8: </strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12M2TY4" target="_blank" rel="nofollow" data-dimension112="f26497fe-8549-11f1-a25d-51c6445e5288" data-action="Deal Block" data-label="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" data-dimension48="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" data-dimension25=""><strong>for $1,899 @ Amazon</strong></a><br>Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8. <a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12M2TY4" target="_blank" rel="nofollow" data-dimension112="f26497fe-8549-11f1-a25d-51c6445e5288" data-action="Deal Block" data-label="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" data-dimension48="Samsung Galaxy Z Fold 8: for $1,899 @ Amazon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="f2649858-8549-11f1-abbd-5577bf812699" data-action="Deal Block" data-label="Visible: up to $10 off/month select data plans @ Visible" data-dimension48="Visible: up to $10 off/month select data plans @ Visible" href="https://www.visible.com/plans" 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="nXRVmdXfPxa8NUZ7ukyY7P" name="visible_logo_new.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/nXRVmdXfPxa8NUZ7ukyY7P.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Visible: </strong><a href="https://www.visible.com/plans" target="_blank" rel="nofollow" data-dimension112="f2649858-8549-11f1-abbd-5577bf812699" data-action="Deal Block" data-label="Visible: up to $10 off/month select data plans @ Visible" data-dimension48="Visible: up to $10 off/month select data plans @ Visible" data-dimension25=""><strong>up to $10 off/month select data plans @ Visible</strong></a><br>It's not a Galaxy Z Fold 8 deal per se, but this deal will help you save on your data plan. Visible is taking $5/month off its Visible+ plan or $10 off/month its Visible+ Pro plan via coupon code "SUMMER". Both plans offer unlimited talk, text, and 5G data including Mexico and Canada. Visible+ Pro includes premium features like a smartwatch data plan and up to 4K UHD quality video. You can bring your own phone to Visible. <a class="view-deal button" href="https://www.visible.com/plans" target="_blank" rel="nofollow" data-dimension112="f2649858-8549-11f1-abbd-5577bf812699" data-action="Deal Block" data-label="Visible: up to $10 off/month select data plans @ Visible" data-dimension48="Visible: up to $10 off/month select data plans @ Visible" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-preorder-deals"><span>Galaxy Z Fold 8 Ultra preorder deals</span></h3><div class="product"><a data-dimension112="1f2f6380-85e6-11f1-9657-1373f57c6042" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="4gDqoyT3A5J9nTa6Axevfg" name="TMobileLogo_1.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4gDqoyT3A5J9nTa6Axevfg.jpg" mos="" align="middle" fullscreen="" width="600" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1f2f6380-85e6-11f1-9657-1373f57c6042" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension25=""><strong>up to $1,900 off w/ trade-in + unlimited @ T-Mobile</strong></a><br>New and existing T-Mobile customers can get up to $1,900 off the Galaxy Z Fold 8 Ultra with trade-in and Experience Beyond data plans. Or you'll get up to $1,100 off with trade-in and on Experience More plans. Other discounts are also available for other plans. <a class="view-deal button" href="https://tmobilepostpaid.pxf.io/c/1943169/3981416/38171?subId1=hawk-custom-tracking" target="_blank" rel="nofollow" data-dimension112="1f2f6380-85e6-11f1-9657-1373f57c6042" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,900 off w/ trade-in + unlimited @ T-Mobile" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="1f2f64ac-85e6-11f1-8e69-df13e5cc923f" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1312px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="YFnsbuxZypxrkdepxUH3h9" name="Samsung logo.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9.jpg" mos="" align="middle" fullscreen="" width="1312" height="734" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="1f2f64ac-85e6-11f1-8e69-df13e5cc923f" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 Ultra preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in. The phone features an 8-inch AMOLED (2504 x 2256) 120Hz main display, 6.5-inch AMOLED (1080 x 2520) 120Hz cover display, Snapdragon 8 Elite CPU, 12GB of RAM, and 256GB of storage. On the rear you get a 200MP main wide-angle lens, 50MP ultra-wide lens, and 10MP telephoto lens (3x optical). Selfie cams include a 10MP main display and 10MP cover camera. In our <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra review</a>, we said its greatly reduced crease, upgraded silicon carbon battery, faster charging, and upgraded ultrawide camera make it a meaningful upgrade.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="1f2f64ac-85e6-11f1-8e69-df13e5cc923f" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="1f2f6524-85e6-11f1-af97-5b27ea54b6a0" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1331px;"><p class="vanilla-image-block" style="padding-top:68.52%;"><img id="yjsgCbZzcWDLMuhHtLHa7K" name="Best Buy deal block 2022.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yjsgCbZzcWDLMuhHtLHa7K.jpeg" mos="" align="middle" fullscreen="" width="1331" height="912" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorders: </strong><a href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="1f2f6524-85e6-11f1-af97-5b27ea54b6a0" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension25=""><strong>up to $1,200 off + free $200 GC @ Best Buy</strong></a><br>Best Buy is offering one of the best Galaxy Z Fold 8 Ultra preorder deals around. Preorder your phone at Best Buy with trade-in and you'll up to $1,200 off. Plus, you'll get a free $200 Best Buy gift card just for preordering. <a class="view-deal button" href="https://www.bestbuy.com/productlist/promo/latest-samsung-galaxy-phones" target="_blank" rel="nofollow" data-dimension112="1f2f6524-85e6-11f1-af97-5b27ea54b6a0" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension48="Galaxy Z Fold 8 Ultra preorders: up to $1,200 off + free $200 GC @ Best Buy" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="90bce23c-86b0-11f1-bb38-0d45cdd3bae8" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8-ultra.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:225px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="o9PdShQsgAk95AN7C5UMNR" name="AT&T Logo.jpeg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/o9PdShQsgAk95AN7C5UMNR.jpeg" mos="" align="middle" fullscreen="" width="225" height="225" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8-ultra.html" target="_blank" rel="nofollow" data-dimension112="90bce23c-86b0-11f1-bb38-0d45cdd3bae8" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension25=""><strong>$5/month w/ trade-in + unlimited @ AT&T</strong></a><br>New and existing customers can get the Galaxy Z Fold 8 Ultra for $5.56/month when you trade in a phone with an eligible data plan. That's up to $1,900 off the phone's full price. <a class="view-deal button" href="https://www.att.com/buy/phones/samsung-galaxy-z-fold8-ultra.html" target="_blank" rel="nofollow" data-dimension112="90bce23c-86b0-11f1-bb38-0d45cdd3bae8" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension48="Galaxy Z Fold 8 Ultra preorder: $5/month w/ trade-in + unlimited @ AT&amp;T" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="1f2f6588-85e6-11f1-baff-777f753c915b" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?isMyPlanFlow=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3321px;"><p class="vanilla-image-block" style="padding-top:40.98%;"><img id="R4vXmWQKAkSdQs7bVstjs8" name="Verizon logo 2024.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/R4vXmWQKAkSdQs7bVstjs8.jpg" mos="" align="middle" fullscreen="" width="3321" height="1361" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra preorder: </strong><a href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="1f2f6588-85e6-11f1-baff-777f753c915b" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25=""><strong>up to $1,200 off w/ trade-in + unlimited @ Verizon</strong></a><br>Verizon is taking up to $1,200 off your Galaxy Z Fold 8 Ultra preorder with trade-in and eligible unlimited data plans. Or preorder a Galaxy Fold 8 Ultra and get a free Galaxy Watch 9 and Galaxy Tab 10 FE 5G when you open a new line for each device. <a class="view-deal button" href="https://www.verizon.com/smartphones/samsung-galaxy-z-fold8-ultra/?isMyPlanFlow=true" target="_blank" rel="nofollow" data-dimension112="1f2f6588-85e6-11f1-baff-777f753c915b" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension48="Galaxy Z Fold 8 Ultra preorder: up to $1,200 off w/ trade-in + unlimited @ Verizon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="90bce2be-86b0-11f1-b599-5db675b11dcd" data-action="Deal Block" data-label="Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra. It's one of the most generous pre-order deals we've seen on the unlocked version of Samsung's foldable." data-dimension48="Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra. It's one of the most generous pre-order deals we've seen on the unlocked version of Samsung's foldable." data-dimension25="$2099" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12KX1X4" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1327px;"><p class="vanilla-image-block" style="padding-top:64.28%;"><img id="9Rhpe6TtrVFSNo9Vtn27Tm" name="Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9Rhpe6TtrVFSNo9Vtn27Tm.jpg" mos="" align="middle" fullscreen="" width="1327" height="853" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra. It's one of the most generous pre-order deals we've seen on the unlocked version of Samsung's foldable. <a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12KX1X4" target="_blank" rel="nofollow" data-dimension112="90bce2be-86b0-11f1-b599-5db675b11dcd" data-action="Deal Block" data-label="Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra. It's one of the most generous pre-order deals we've seen on the unlocked version of Samsung's foldable." data-dimension48="Amazon is offering a free $350 Amazon gift card when you preorder your Galaxy Z Fold 8 Ultra. It's one of the most generous pre-order deals we've seen on the unlocked version of Samsung's foldable." data-dimension25="$2099">View Deal</a></p></div><h2 id="galaxy-z-fold-8-vs-galaxy-z-fold-8-ultra-what-do-you-get">Galaxy Z Fold 8 vs Galaxy Z Fold 8 Ultra — what do you get?</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Z Fold 8</p></th><th  ><p>Samsung Galaxy Z Fold 8 Ultra</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $1,899 / £1,699</p></td><td  ><p>From $2,099 / £1,899</p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong></p></td><td  ><p>7.6 inches AMOLED (1848 x 2448, 1-120Hz)</p></td><td  ><p>8 inches AMOLED (2504 x 2256, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong></p></td><td  ><p>5.5 inches AMOLED (1248 x 1972, 1-120Hz) </p></td><td  ><p>6.5 inches AMOLED (1080 x 2520, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB/512GB/1TB</p></td><td  ><p>256GB/512GB/1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>50MP wide, 50MP Ultra wide (10x digital zoom)</p></td><td  ><p>200MP wide, 50MP ultra-wide, 10MP telephoto (3x optical)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover camera</strong></p></td><td  ><p>10MP</p></td><td  ><p>10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Main display camera</strong></p></td><td  ><p>10MP (f/2.2)</p></td><td  ><p>10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired / 20W wireless</p></td><td  ><p>45W wired / 20W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>4,800 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>123.9 x 81.9 x 9.7 mm (folded), 161.4 x 123.9 x 4.5 mm (unfolded)</p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.16 inches) unfolded</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>201 grams (7 ounces)</p></td><td  ><p>215 grams (7.5 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP48</p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong> </p></td><td  ><p>Lavender, Graphite, Cream, Pistachio (online)</p></td><td  ><p>Violet shadow, Cream, Graphite, Violet Green (online exclusive)</p></td></tr></tbody></table></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just went hands-on with the new Samsung smart glasses — here’s why I’d pick them over Meta ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/smart-glasses/i-just-went-hands-on-with-the-new-samsung-smart-glasses-heres-why-id-pick-them-over-meta</link>
                                                                            <description>
                            <![CDATA[ I went hands-on with the new Samsung smart glasses launching this fall from Warby Parker and Gentle Monster and got the scoop on their design, durability, battery life and privacy protections from Samsung EVP James Choi. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NqfqpQtQWCZFVUKLeYQ3CE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/G86Pre8jdHQPyirMSYdvAg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Glasses]]></category>
                                                    <category><![CDATA[VR &amp; AR]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/G86Pre8jdHQPyirMSYdvAg-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster]]></media:description>                                                            <media:text><![CDATA[Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/G86Pre8jdHQPyirMSYdvAg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Can Samsung make smart glasses you’ll <em>actually</em> want to wear? I just got my first up-close look at the designs coming this fall in collaboration with Google, Warby Parker and Gentle Monster. </p><p>These glasses are shockingly light given all the tech stuffed inside, and Samsung promises longer battery life than the Meta Ray-Ban glasses and instant access to Google’s robust app ecosystem. Plus, Samsung seems to be taking user privacy seriously.</p><h2 id="light-enough-for-all-day-wear">Light enough for ‘all-day’ wear</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2475px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="GVkzrxAaWtFZgSqhk9qHkf" name="Samsung smart glasses Warby Parker-4" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" src="https://cdn.mos.cms.futurecdn.net/GVkzrxAaWtFZgSqhk9qHkf.jpg" mos="" align="middle" fullscreen="" width="2475" height="1392" attribution="" endorsement="" class="inline"></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 first thing I noticed about this Intelligent Eyewear is how light they are. Yes, the Warby Parker model looks bulkier than my everyday reading glasses from the same brand, but I was surprised how easy they were to pick 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vVMGWqzhuNzisf8MMxD5Cg" name="Samsung smart glasses Warby Parker-3" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" src="https://cdn.mos.cms.futurecdn.net/vVMGWqzhuNzisf8MMxD5Cg.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>The right side houses a button for firing up Gemini and capturing content, and there’s a power switch on the inside of the left arm. There’s a camera on the right, LED sensor on the left and dual stereo speakers on the arms.</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:3573px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="kXLVjP4KBfG2TLzuufn3Cg" name="Samsung smart glasses Warby Parker-7" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" src="https://cdn.mos.cms.futurecdn.net/kXLVjP4KBfG2TLzuufn3Cg.jpg" mos="" align="middle" fullscreen="" width="3573" height="2010" attribution="" endorsement="" class="inline"></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 Gentle Monster glasses come in a couple of different styles, including fashionable oval specs and more traditional-looking frames that offer clear or tinted lenses.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nw9AVi9quLELgjPXWyYBjf.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yuPWFybhJX55ibnvHawYCg.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WXWAyM4A7H6ACqgagQuJsf.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gihdrGztB437D7dqGnMH8g.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure></figure><p>There appears to be a touchpad on the left and right arms for controlling volume, but Samsung was not able to confirm this detail.</p><h2 id="durability-dropped-stretched-and-sunscreened">Durability: Dropped, stretched and sunscreened</h2><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/QhSHTJId_Io" allowfullscreen></iframe></div></div><p>According to James Choi, who heads Samsung's XR R&D, the company subjected these glasses to drop tests, water tests, high temperatures and sweat. In fact, the company invented 20 different tests to evaluate the durability of its glasses.</p><p>This includes using robots to force the arms outward to see how long they last under stress. Samsung even devised a sunscreen test, injecting it near the speakers. So these specs should be able to stand up to the wear and tear of your daily schedule.</p><h2 id="gemini-ai-on-your-face">Gemini AI on your face</h2><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/T4WgRFUmX6mWbYzPMYe2Ka/glass-use-case-search-desktop-16-9-1440w-2x-av1.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/T4WgRFUmX6mWbYzPMYe2Ka/glass-use-case-search-desktop-16-9-1440w-2x-av1.mp4"></video></div><p>These AI glasses are all about having Gemini always available, letting you check notifications, get answers to your questions, directions and more on the go. For Samsung, it’s not about replacing your phone, but using it less. </p><p>With Gemini Live on board, you can leverage the cameras, microphones and open ear stereo speakers to have conversations on the fly with the AI assistant. You can get real-time guidance on everything from cooking to putting together an outfit or assembling furniture.</p><p>And because the glasses instantly understand the world from your perspective, the eyewear can be more contextual and there’s much less you need to explain. </p><p>And, unlike Meta, you’ll have access to a bevy of popular Google apps from day one, including Gmail, Google Calendar, Google Maps, as well as Samsung apps like Notes and Interpreter.</p><h2 id="very-good-promised-battery-life">Very good (promised) battery life</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/yuPWFybhJX55ibnvHawYCg.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WXWAyM4A7H6ACqgagQuJsf.jpg" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Samsung promises nine hours of battery life on a charge with mixed usage. This includes Gemini Live conversations, voice calls, notifications and more. </p><p>I got to handle the charging case for the Gentle Monster glasses, and it was quite light as well. It promises several charges on the go.</p><h2 id="what-about-privacy">What about privacy?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4277px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XqLNanLDXRhrVJkrvW4iTB" name="Samsung smart glasses Warby Parker-11" alt="Samsung smart glasses" src="https://cdn.mos.cms.futurecdn.net/XqLNanLDXRhrVJkrvW4iTB.jpg" mos="" align="middle" fullscreen="" width="4277" height="2406" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>We don’t know the specs of the camera yet for the Samsung glasses, but you'll be able to capture photos and videos, as well as let Gemini see what you see for Gemini Live interactions.</p><p>But how will Samsung protect privacy and prevent a horde of creeps from surveilling everyone around them? Samsung told us that they’re building AI glasses you can trust.</p><p>For starters, any blocking of the LED on the glasses also blocks recording. But Samsung knows that certain individuals will resort to trying to hack the glasses or — as in the case of Meta — perhaps seek black market options for tampering with their device.</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:2930px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hePEyvU7fdXqQVT2TscUMB" name="Samsung smart glasses Warby Parker-13" alt="Samsung smart glasses" src="https://cdn.mos.cms.futurecdn.net/hePEyvU7fdXqQVT2TscUMB.jpg" mos="" align="middle" fullscreen="" width="2930" height="1648" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>“At Samsung, privacy is not an afterthought,” Samsung’s Choi said. “For this category to be more widely adopted, we understand that the user and the people around them need to trust both the technology and its privacy protection."</p><p>Choi told us that simple destruction of the LED can be detected but Samsung also has engineers who are focused on further protections and reverse engineering what bad actors might accomplish on the black market.</p><h2 id="outlook-2">Outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3227px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="HCfXJxtu69c5tXWRpUy4Ag" name="Samsung smart glasses Warby Parker" alt="Samsung Smart Glasses launching this fall from Warby Parker and Gentle Monster" src="https://cdn.mos.cms.futurecdn.net/HCfXJxtu69c5tXWRpUy4Ag.jpg" mos="" align="middle" fullscreen="" width="3227" height="1815" attribution="" endorsement="" class="inline"></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 still a fair amount we don’t know about the Samsung AI glasses year, like the weight, specs and especially price. But it’s clear that Samsung is focusing on everyday wearability and durability for these first-generation glasses. </p><p>Assuming the prices are affordable enough, I’d say Samsung and its partners have some key advantages over Meta, including high-profile partnerships with Warby Parker and Gentle Monster, longer battery life, a better ecosystem of apps and a smarter AI assistant in Gemini.</p><p>Display glasses will come later. Samsung is actively developing this category but is also in no rush to launch. The company doesn’t want to make any major sacrifices to wearability.</p><p>“We want better quality than what’s in the market,” Choi said. We want to make it natural with the display. We’re working on it.”</p><p>But tell me what you think. Are you leaning towards Samsung or Meta, waiting for Apple to join the smart glasses race, or are you just fully anti AI-camera glasses no matter who makes them? Sound off in the comments.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 5 things to know about the new Samsung Galaxy Watch 9 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9</link>
                                                                            <description>
                            <![CDATA[ The Galaxy Watch 9 looks exactly like the Galaxy Watch 8, but don't let that fool you. Samsung went ahead and doubled down on fitness and holistic features in the new model. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">io8uy2JyxrFMHGQdZSnjXe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/e2tBcV5r7FAg2X2NPSNyYj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 22 Jul 2026 14:00:41 +0000</updated>
                                                                                                                                            <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/e2tBcV5r7FAg2X2NPSNyYj-1280-80.jpg">
                                                            <media:credit><![CDATA[Samsung]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Watch 9 close-up]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Watch 9 close-up]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Watch 9 close-up]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/e2tBcV5r7FAg2X2NPSNyYj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Samsung Galaxy Watch 9 just got unveiled during the brand's annual summer <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a> event alongside the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a>, Galaxy Z Fold 9, and Galaxy Z Flip 8 handsets. </p><p>A fairly iterative update compared to the <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-8-review">Galaxy Watch 8</a>, the biggest improvements the new model brings to the table are (potentially) improved battery life and a fairly impressive list of new fitness and holistic tracking tools, which may or may not ultimately make it to older models via future firmware.</p><p>Here are the five biggest things you need to know about the new Samsung Galaxy Watch 9.</p><h3 class="article-body__section" id="section-galaxy-watch-9-cheat-sheet"><span>Galaxy Watch 9 cheat sheet</span></h3><ul><li><strong>Price: </strong>$379 for 40mm (no LTE) or $409 for 44mm (no LTE); add $50 to either for cellular</li><li><strong>Design: </strong>Same design and size options as Galaxy Watch 8; 40mm is available in Cream or Graphite; 44mm comes in Graphite or Silver</li><li><strong>'Classic' model</strong>: Samsung did not announce a Galaxy Watch 9 Classic with a clicky bezel</li><li><strong>Screen: </strong>Same max brightness, 3,000 nits, as Galaxy Watch 8</li><li><strong>Health features:</strong> New 'Vitals' dashboard with key metrics including heart rate, HRV, Sp02, body temp, breath rate in one place; new 'Heart Health' score</li><li><strong>Fitness features:</strong> New 'Cardio Load' insights, new 'Fitness Index' score out of 100 and based on factors like daily step count average, V02 Max, average heart rate, BIA (Bioelectrical Impedance Analysis), and average workout recovery time</li><li><strong>Battery life:</strong> 40mm Galaxy Watch 9 has a 390 mAh battery compared to a 325 mAh battery for the 40mm Galaxy Watch 8; 44mm Galaxy Watch 9 sports a 445 mAh battery compared to a 435 mAh battery for the 44mm Galaxy Watch 8</li></ul><h3 class="article-body__section" id="section-galaxy-watch-9-versus-the-competition"><span>Galaxy Watch 9: Versus the competition</span></h3><div ><table><caption>Samsung Galaxy Watch 9 specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Watch 9</p></th><th  ><p>Samsung Galaxy Watch 8</p></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$379</p></td><td  ><p>$349</p></td><td  ><p>$699 / AU$1299</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions </strong></p></td><td  ><p>42.7 x 40.4 x 8.6mm /<br>46.0 x 43.7 x 8.6 mm</p></td><td  ><p>42.7 x 40.4 x 8.6mm /<br>46.0 x 43.7 x 8.6 mm</p></td><td  ><p>47 x 47 x 10 mm </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>31.5 g / 34 g</p></td><td  ><p>30 g / 34 g</p></td><td  ><p>61.5 g</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>1.34-inch / 1.47-inch; 3,000 nits max brightness</p></td><td  ><p>1.34-inch / 1.47-inch; 3,000 nits max brightness</p></td><td  ><p>1.52-inch AMOLED, 5,000 nits max brightness </p></td></tr><tr><td class="firstcol " ><p><strong>Water resistance </strong></p></td><td  ><p>50 meters</p></td><td  ><p>50 meters</p></td><td  ><p>100 meters</p></td></tr><tr><td class="firstcol " ><p><strong>Battery capacity</strong></p></td><td  ><p>40mm: 390mAh / 44mm: 445mAh</p></td><td  ><p>40mm: 325mAh / 44mm: 435mAh</p></td><td  ><p>800 mAh</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-1-samsung-increased-the-price-across-the-line"><span>1. Samsung increased the price across the line</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:1730px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="ZK5uzLv2zazQWDZtZ6uiB7" name="GalaxyWatch9" alt="Samsung Galaxy Watch 9 in five colors" src="https://cdn.mos.cms.futurecdn.net/ZK5uzLv2zazQWDZtZ6uiB7.jpg" mos="" align="middle" fullscreen="" width="1730" height="973" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>When Samsung announced the Galaxy Watch 8 this time last year, I wasn't surprised to see a $50 price increase across the board compared to the Galaxy Watch 7. However, I was surprised to see Samsung raise the price of the Watch 9 this time around.</p><p>The 40mm Galaxy Watch 9, for example, <a href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa/" target="_blank" rel="nofollow">starts at $379</a> without LTE, compared to $349 for the Galaxy Watch 8 equivalent. The 44mm Galaxy Watch 9, meanwhile, is $409 versus $379 for last year's equivalent. </p><p>Preorders are now available for the Galaxy Watch 9, which should ship later this month.</p><ul><li><strong>Galaxy Watch 9 (Bluetooth, 40mm): $379</strong></li><li><strong>Galaxy Watch 9 (LTE, 40mm): $429</strong></li><li><strong>Galaxy Watch 9 (Bluetooth, 44mm): $409</strong></li><li><strong>Galaxy Watch 9 (LTE, 44mm): $459</strong></li></ul><h3 class="article-body__section" id="section-2-there-s-no-galaxy-watch-9-classic"><span>2. There's no Galaxy Watch 9 'Classic'</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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JN2bbBaBoTPrpbhNd9WPLj" name="GalaxyWatch8-rev-19" alt="Close-up of the Samsung Galaxy Watch Classic on a user's wrist with the Gemini AI app open" src="https://cdn.mos.cms.futurecdn.net/JN2bbBaBoTPrpbhNd9WPLj.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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I was a big fan of the Samsung Galaxy Watch 8 Classic (see image above), which sports a bidirectional clicky bezel for navigation and an additional customizable button compared to the standard Galaxy Watch 8 models.</p><p>Unfortunately, there is no Samsung Galaxy Watch 9 Classic. That said, Samsung has confirmed that the Galaxy Watch 8 Classic will remain in the brand's lineup for the time being. </p><h3 class="article-body__section" id="section-3-the-external-design-is-the-same-as-galaxy-watch-8"><span>3. The external design is the same as Galaxy Watch 8</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:1472px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="y2a5Ad2gs74hArEeHsBvXj" name="GalaxyWatch9-02" alt="Samsung Galaxy Watch 9 close-up" src="https://cdn.mos.cms.futurecdn.net/y2a5Ad2gs74hArEeHsBvXj.jpg" mos="" align="middle" fullscreen="" width="1472" height="828" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>While Samsung made all sorts of under-the-hood upgrades to the Galaxy Watch 9, including a new processor and increased battery capacity, the outward appearance remains unchanged from its predecessor.</p><p>The physical dimensions and the weight are also essentially the same, as is the 50-meter water resistance rating. Finally, the Galaxy Watch 9 also boasts the same 3,000-nit max brightness display and twin-button design as the Galaxy Watch 8.</p><h3 class="article-body__section" id="section-4-there-are-lots-of-new-holistic-features"><span>4. There are lots of new holistic features </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:1744px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UQrvbF3bXyxMhpqm2FifZj" name="GalaxyWatch9-03" alt="Samsung Galaxy Watch 9 close-up" src="https://cdn.mos.cms.futurecdn.net/UQrvbF3bXyxMhpqm2FifZj.jpg" mos="" align="middle" fullscreen="" width="1744" height="981" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Samsung's latest generation of wearables is all about preventative rather than reactive holistic insights. As a result, the Galaxy Watch 9 — and the new Galaxy Watch Ultra 2 — both feature a whole host of new wellness scores, dashboards, and insights. </p><p>The list includes a new Vitals dashboard, Heart Health Score, Daily Cardio Load metric, and Fitness Index score.</p><p>The Vitals dashboard brings your most important wellness metrics into one easy-to-view panel with your current heart rate, heart rate variability (HRV), blood oxygen saturation percentage (Sp02), body temperature, and breath rate.</p><p>The new Heart Health score, meanwhile, is based on four metrics including your seven-day physical activity average, sleep time average, Body Mass Index (BMI), and estimated blood pressure. </p><p>For runners and high-cardio athletes, the new Cardio Load metric is designed to help you train more effectively, with built-in recovery suggestions to help avoid injury. </p><p>Finally, the new Fitness Index is a personalized score based on factors like daily step count average, V02 Max, average heart rate, BIA (Bioelectrical Impedance Analysis), and average workout recovery time. </p><p>The output is five individual Fitness Index scores: Body Composition, Cardio, Endurance, Strength, and Flexibility, ranging from one to 100. These scores are calculated by comparing your fitness levels to other users in your age range. </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:1718px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="3hT4beoeEUTdeqFEQf8P9J" name="GalaxyWatch9-04" alt="Samsung Galaxy Watch 9" src="https://cdn.mos.cms.futurecdn.net/3hT4beoeEUTdeqFEQf8P9J.jpg" mos="" align="middle" fullscreen="" width="1718" height="966" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><h3 class="article-body__section" id="section-5-battery-life-should-be-slightly-improved"><span>5. Battery life should be slightly improved </span></h3><p>Both the 40mm and 44mm Samsung Galaxy Watch 9 models see modest battery capacity increases. For the smaller model, that's a jump from 325 mAh for the Galaxy Watch 8 to 390 mAh for the Galaxy Watch 9. For the bigger model, the capacity has increased from 435 mAh on the Galaxy Watch 8 to 445 mAh for the Galaxy Watch 9.</p><p>Increased battery capacity, coupled with up to 15% more efficient processing, thanks to the new Snapdragon Wear Elite chipset, should mean that the Galaxy Watch 9 lasts longer than its predecessor, which averages about 30 hours per charge with the always-on display enabled.</p><p>Here's hoping that the Galaxy Watch 9 pushes that closer to 40 hours per charge or more to stay competitive with brands like Google; the 45mm Pixel Watch 4 lasts nearly 60 hours per charge in my testing.</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/im-a-smartwatch-reviewer-and-heres-my-apple-watch-series-12-wish-list-three-upgrades-i-want-and-one-i-dont">I'm a smartwatch reviewer, and here's my Apple Watch Series 12 wish list — three upgrades I want, and one I don't</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/leaked-apple-watch-12-design-change-is-the-opposite-of-an-upgrade-and-that-has-me-worried">Leaked Apple Watch 12 design change is the opposite of an upgrade — and that has me worried</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-needs-these-3-upgrades-to-convince-me-to-switch-from-my-apple-watch-ultra-3">Samsung Galaxy Watch Ultra 2 needs these 3 upgrades to convince me to switch from my Apple Watch Ultra 3</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 Ultra hands-on review: Massive hardware leap at a heavier price ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review</link>
                                                                            <description>
                            <![CDATA[ The Galaxy Z Fold 8 Ultra is deserving of the name in some ways, with a nearly invisible crease, brighter display, 50MP ultrawide camera and bigger silicon carbon battery. But it costs $100 more and is lacking some Ultra features. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bfDHCSRRMsFRfh7vxMPPZJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Nqx6NGpy8VjWUk83XvXfwe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 22 Jul 2026 13:34:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/Nqx6NGpy8VjWUk83XvXfwe-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Nqx6NGpy8VjWUk83XvXfwe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung is back with another generation of foldable phones, though things are shaping up to be a little different this year. There are three new Galaxy foldables, and that means the successor to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> is being given an Ultra upgrade. It's easy to be cynical and assume this is a simple name change, but it feels like Samsung has worked hard to make the phone worthy of the name Galaxy Z Fold 8 Ultra.</p><p>While the incoming software and AI features are not that impressive — with the exception of the foldable-friendly Now Nudge — there's plenty of hardware upgrades to be excited about. This includes a brighter and nearly crease-free display, a larger silicon carbon battery and an even thinner design. Plus, you get a beefed up 50MP ultrawide camera. But there's also some trade-offs versus Samsung's Galaxy S26 Ultra that I wish you didn't have to make. </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/oFT-YOrakEg" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-hands-on-review-specs"><span>Samsung Galaxy Z Fold 8 Ultra hands-on review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Price</strong>    </p></td><td  ><p>From $2,099 / £1,899 / AU$2,999</p></td></tr><tr><td class="firstcol " ><p><strong>Release date</strong></p></td><td  ><p>August 7</p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong>    </p></td><td  ><p>8 inches AMOLED (2184 x 1968, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong>    </p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong>    </p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong>    </p></td><td  ><p>12GB (16GB for 1TB)</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong>    </p></td><td  ><p>256GB/512GB/1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong>    </p></td><td  ><p>200MP wide, 50MP ultra-wide, 10MP telephoto (3x optical)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover camera</strong>    </p></td><td  ><p>10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Main display camera</strong>    </p></td><td  ><p>10MP </p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong>    </p></td><td  ><p>45W wired / 20W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong>    </p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong>    </p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.16 inches) unfolded</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong>    </p></td><td  ><p>215 grams (7.5 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong>    </p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong>    </p></td><td  ><p>Violet shadow, Cream, Graphite, Violet Green (online exclusive)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-hands-on-review-what-we-like"><span>Samsung Galaxy Z Fold 8 Ultra hands-on review: What we like</span></h2><h3 class="article-body__section" id="section-big-display-improvements"><span>Big display improvements</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="BwFTXNUWDT3Up6pYASCnEg" name="Galaxy Z Fold 8 Ultra-17" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/BwFTXNUWDT3Up6pYASCnEg.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>Samsung has invested a lot in improving the screen on the Galaxy Z Fold 8 Ultra. The screen itself is now brighter, offering up to 3,000 nits, up from 2,600 nits on the Fold 7, while Samsung has added an anti-reflective coating to ensure that the screen is visible no matter the conditions. </p><p>Having compared the Z Fold 8 Ultra side-by-side with a Z Fold 7, the difference is very noticeable. The Z Fold 7 looks dull and washed out in comparison, while the Z Fold 8 Ultra is noticeably brighter and clearer. The anti-reflective coating is pretty nice too, which should make the new foldable easier to use in direct sunlight.</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="S79afhyJMPNEqEWWwxoFDg" name="Galaxy Z Fold 8 Ultra-31" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/S79afhyJMPNEqEWWwxoFDg.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 upgrade is the new <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium display,</a> which adds a titanium plate and a flexible titanium-alloy film to the underside of the foldable OLED panel. The benefits of these two layers are threefold: It improves the strength and durability of the display, reduces the thickness of the display panel itself and reduces the amount of creasing in the display.</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:1876px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="dAKjscCtnwCaSP4hgKFape" name="Galaxy Z Fold 8 Ultra-5" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/dAKjscCtnwCaSP4hgKFape.jpg" mos="" align="middle" fullscreen="" width="1876" height="1055" attribution="" endorsement="" class="inline"></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 doesn't erase the crease completely, but it's a lot less noticeable than the crease on the Z Fold 7. The crease is still there, but it's a heck of a lot harder to see.</p><h3 class="article-body__section" id="section-much-needed-silicon-carbon-battery-upgrade"><span>Much-needed silicon carbon battery upgrade</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="nmQtJUqRkZW5Xy4N8J96Ag" name="Galaxy Z Fold 8 Ultra-33" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/nmQtJUqRkZW5Xy4N8J96Ag.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>For me, the most exciting upgrade for the Galaxy Z Fold 8 Ultra is the <a href="https://www.tomsguide.com/phones/i-interviewed-honor-and-oneplus-about-their-silicon-carbon-battery-tech-apple-and-google-are-quickly-falling-behind">silicon carbon battery</a> — a first for Samsung.  The battery capacity has increased from 4,400 mAh to 5,000 mAh. Not only does this mean the Z Fold 8 Ultra's battery is the same size as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra's</a>, it's also a whopping 600 mAh increase compared to the Fold 7. </p><p>Samsung claims that the Fold 8 Ultra battery will offer up to 27 hours of video playback, up from 24 hours on the previous model.</p><p>Samsung has also taken the chance to upgrade charging speed, boosting wired charging from 25W to 45W — which Samsung says will restore 67% of your battery in 30 minutes. Wireless charging has also had a boost from 15W to 20W, though the <a href="https://www.tomsguide.com/phones/what-is-qi2-wireless-charging">Qi2 magnets</a> are still missing in action.</p><h3 class="article-body__section" id="section-upgraded-50mp-ultrawide-camera"><span>Upgraded 50MP ultrawide camera</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="PFnLhmnHfsw4XDXioSS86g" name="Galaxy Z Fold 8 Ultra-26" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/PFnLhmnHfsw4XDXioSS86g.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>Galaxy Z Fold cameras have not been on the same level as those on Galaxy S series phones, but Samsung has been slowly making changes to close the gap. Last year that meant adding the 200MP main camera lens, and this year it's the ultrawide camera's turn to get some new hardware — with a 50MP lens.</p><p>It's a marked improvement over the 12MP lens that was packaged into the Galaxy Z Fold 7.</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="8rqf2HA4T7GRbBjGTENYCg" name="Galaxy Z Fold 8 Ultra-19" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/8rqf2HA4T7GRbBjGTENYCg.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>On top of this, Samsung has added HDR support for the 200MP main lens, as well as a bunch of improvements to improve nightography and low-light performance. This includes the addition of the ProVisual engine and advanced AP-based image processing, both of which were previously been seen on the Galaxy S26 series.</p><h3 class="article-body__section" id="section-the-first-for-galaxy-chip-in-a-foldable"><span>The first 'for Galaxy' chip in a foldable</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:1627px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="DMGaUbC3Xm5ezapCKdrW9f" name="Galaxy Z Fold 8 Ultra-9" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/DMGaUbC3Xm5ezapCKdrW9f.jpg" mos="" align="middle" fullscreen="" width="1627" height="915" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung has been employing custom versions of flagship Snapdragon chips for a few years, but so far those "for Galaxy" chips have only been available with certain Galaxy S-series phones — and never in a foldable. Galaxy foldables always ended up with either the standard, off-the-shelf Snapdragon chips or one of Samsung's own Exynos chips.</p><p>That has changed this year, thanks to Samsung including the Snapdragon 8 Elite Gen 5 for Galaxy chipset in all three foldable phones. That means we should see a big leap in performance and efficiency compared to the Galaxy Z Fold 7. </p><p>We haven't had the chance to benchmark the Z Fold 8 Ultra yet, so we don't know how significant that leap may be. But it should hopefully mean that the new Galaxy foldables are more capable than before, and at the very least should perform similarly to the Snapdragon-equipped Galaxy S26 variants.</p><h3 class="article-body__section" id="section-made-for-multitasking-with-now-nudge"><span>Made for multitasking with Now Nudge</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="kbf4yWwefijLKzGNFcJfUf" name="Galaxy Z Fold 8 Ultra-35" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/kbf4yWwefijLKzGNFcJfUf.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 Z Fold 8 Ultra is being marketed as a productivity device, as a way to set it apart from the Z Fold 8 and Z Flip 8. Samsung has added a bunch of upgrades centered around multitasking, with the goal of helping users make the most of the larger foldable screen inside the phone.</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:3018px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="kxnxvDqWjQPYNdZftdvEUo" name="Galaxy Z Fold 8 Ultra AI" alt="samsung galaxy z fold 8 ultra ai" src="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo.jpg" mos="" align="middle" fullscreen="" width="3018" height="1698" attribution="" endorsement="" class="inline"></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/phones/samsung-phones/how-to-turn-on-galaxy-s26s-now-nudge-and-how-it-works">Now Nudge</a> has been added to the phone, and optimized for both multitasking and the larger 8-inch display. This means that relevant apps will be opened in split view when you get a nudge in, say, the Messages app, with support for up to five split view actions at a time. The screen also supports multiple touchpoints, and can surface relevant actions based on contextual clues. The addition of Ambient Nudge also lets Now Nudge operate with a little more discretion, surfacing suggestions in the corner of your screen </p><p>Naturally, this also means Samsung is emphasizing the fact that the foldable screen is the equivalent of two 6.5-inch screens side-by-side. That's true of most foldables, but it emphasizes that this really is a tablet that you can fit in your pocket — and it's good to see Samsung really push this particular use case a little more.</p><h2 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-hands-on-review-what-we-don-t-like"><span>Samsung Galaxy Z Fold 8 Ultra hands-on review: What we don't like</span></h2><h3 class="article-body__section" id="section-100-price-hike"><span>$100 price hike</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="a23dDCzpeBvFxiTGj6HKme" name="Galaxy Z Fold 8 Ultra-1-LIST" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/a23dDCzpeBvFxiTGj6HKme.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>We knew that price hikes were coming for the Galaxy Z 8 series, thanks to ongoing issues with <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> and the memory supply chain. But that doesn't mean we're pleased to see the price of the flagship Z Fold 8 increase for the third year in a row.</p><p>The Galaxy Z Fold 8 Ultra starts at $2,099, which gets you a model with 12GB of RAM and 256GB. For reference, the cost of the Z Fold 7 with the exact same memory/storage configuration costs $1,999, which means we're all being asked to pay an extra $100 simply because this phone is a little bit newer and more "Ultra."</p><p>There are a bunch of great upgrades to be had, but the prospect of paying even more for an already-expensive handset leaves a bad taste in our mouths.</p><h3 class="article-body__section" id="section-limited-ai-and-software-upgrades"><span>Limited AI and software upgrades</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:1680px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TMxTujefvrU4ViKmUpsbUf" name="Galaxy Z Fold 8 Ultra-27" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/TMxTujefvrU4ViKmUpsbUf.jpg" mos="" align="middle" fullscreen="" width="1680" height="945" attribution="" endorsement="" class="inline"></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 were hoping to see a bunch of new AI features and software upgrades launch alongside the Galaxy Z Fold 8 Ultra, then you're going to be sorely disappointed. There are new AI features coming with the entire Galaxy Z 8 series, but that doesn't seem to be Samsung's primary focus this time around.</p><p>Now Nudge obviously launched with the Galaxy S26 series, but the new version has been updated to better perform on a larger-screen foldable. That includes optimizations for multitasking, and the subtle alerts from Ambient Nudge. </p><p>Samsung is also including Gemini Notebook (formerly Notebook LLM) on the Z Fold 8 Ultra , which turns various sources into "structured, actionable knowledge." It essentially usies AI to create summarized notebooks from photos, recordings, documents, videos and so on. </p><p>AI automation is also getting a boost, with the new Gemini Advanced Automation feature capable of controlling what's going on across 40+ apps without making you witch between them all manually. <a href="https://www.tomsguide.com/phones/samsung-phones/i-just-asked-gemini-on-the-galaxy-s26-to-order-dunkin-donuts-for-me-and-24-minutes-later-it-got-delivered-to-my-door">AI task automation is note new to Galaxy phones</a>, but it's optimized for the foldable experience in that there's a floating window that you can interact with at any time.</p><p>Considering Samsung has been so heavily focused on AI over the past few years, it's surprising to see such an AI-lite phone launch. But some may be relieved that it's not getting as much hype.</p><h3 class="article-body__section" id="section-no-s-pen"><span>No S Pen</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:1715px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="Fe3pAsNhRZ94wYEG4QiHMe" name="Galaxy Z Fold 8 Ultra-4" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/Fe3pAsNhRZ94wYEG4QiHMe.jpg" mos="" align="middle" fullscreen="" width="1715" height="965" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung pulled S Pen support from the Galaxy Z Fold 7 in the name of reducing thickness, since the stylus was reliant on a relatively bulky digitizer layer inside the foldable display. While there have been rumors suggesting Samsung was working on a version of the S Pen <a href="https://www.tomsguide.com/phones/galaxy-z-fold-7-ditched-the-s-pen-but-samsungs-working-on-a-new-version-for-future-foldables">that didn't require the digitizer, </a>it has not been included in the Fold 8 Ultra.</p><p>That means you have a large 8-inch foldable display,  which has been built for productivity and multitasking, but no official writing implement to use with it. We didn't have high hopes that the S Pen would make an appearance on this year's foldables, but it's still a shame to get confirmation that it's not supported. </p><p>Here's hoping that, with increased competition from the foldable iPhone Ultra, Samsung figures out a way to bring this breakout productivity feature back to Galaxy Folds in the near future.</p><h2 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-hands-on-review-outlook"><span>Samsung Galaxy Z Fold 8 Ultra hands-on review: Outlook</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="Xb8zHbQ7ZRjDdrLiKijy9g" name="Galaxy Z Fold 8 Ultra-20" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/Xb8zHbQ7ZRjDdrLiKijy9g.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's a lot to like about the Samsung Galaxy Z Fold 8 Ultra. This year's batch of hardware upgrades actually feel pretty meaningful, compared to the incremental upgrades that have been so common in the phone world. While the Z Fold 7 certainly made headway in this area, the Z Fold 8 Ultra takes that progress and expands upon it in a lot of areas. </p><p>For once, it feels as though a Galaxy foldable isn't lagging too far behind the flagship Galaxy S series. That's all down to the greatly reduced crease, upgrade silicon carbon battery, faster charging, and upgrade ultrawide camera. It certainly feels as though the "Ultra" rebrand is more than just a cynical name change.</p><p>However, the Fold 8 Ultra is certainly not the perfect foldable. The price has risen by $100 for the third consecutive year, and it still falls short in a few areas. There's no S Pen, no Privacy Display from the S26 Ultra series, and the lack of an IP68 rating means you should not take this foldable to the beach.</p><p>Still, based on the limited time I've spent with the Galaxy Z Fold 8 Ultra, I'm optimistic about what this next generation foldable has to offer. Now we just need to put it through its paces with some in-depth testing to see how it really performs.</p><p>Samsung Galaxy Z Fold 8 Ultra pre-orders begin today, ahead of an August 8 release date. Prices start at From $2,099 / £1,899 / AU$2,999.</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/phones/samsung-phones/samsung-galaxy-card-takes-aim-at-apple-card-with-way-more-perks-and-rewards-heres-what-you-get">Samsung Galaxy Card takes aim at Apple Card with way more perks and rewards — here’s what you get</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/im-not-convinced-crease-free-foldables-like-the-galaxy-z-fold-8-actually-matter-prove-me-wrong">I’m not convinced crease-free foldables like the Galaxy Z Fold 8 actually matter. Prove me wrong.</a></li><li><a href="https://www.tomsguide.com/best-picks/best-big-phones">I love big phones and I cannot lie — and here are the best you can buy right now</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung just added Automated Tasks and Gemini Notebook to Galaxy Z Fold 8 — here's what these AI features let you do ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/samsung-just-added-automated-tasks-and-gemini-notebook-to-galaxy-z-fold-8-heres-what-these-ai-features-let-you-do</link>
                                                                            <description>
                            <![CDATA[ During this year’s Samsung Galaxy Unpacked event, the tech giant announced its plans to add two AI features to its latest smartphone lineup. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Wm3HrbZ9SPVkyWyQk85uaf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.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/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 8 ultra ai]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kxnxvDqWjQPYNdZftdvEUo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There’s a whole lot to be excited about if you’ve been using Samsung’s signature lineup of smartphones.</p><p>With all the news emanating from this year’s Samsung Galaxy Unpacked event, it’s easy to see why — there’s a multitude of brand new smartphone models on the way with a host of Android-powered features that push its capabilities beyond the ones you’ve owned thus far. The unveiling of the <a href="https://www.tomsguide.com/phones/samsung-phones/major-samsung-galaxy-z-fold-8-leak-shows-off-the-unreleased-foldables-and-cases-heres-what-you-need-to-know">Samsung Galaxy Z Fold8 Ultra</a>, Fold8, and Flip8 showcased the consumer electronics company’s penchant for releasing some of the most impressive smartphones on the market.</p><p>And as expected, Samsung is tapping into the Google Android ecosystem to bring new forms of AI integration to its newest smartphones. Gemini Intelligence and Gemini Notebook (formerly known as <a href="https://www.tomsguide.com/ai/i-used-notebooklm-to-make-a-family-wiki-and-now-everything-i-need-to-run-the-household-is-a-click-away">NotebookLM</a>) will be a major part of your daily reliance on Samsung’s latest mobile devices, as they look to help you finish your everyday chores, handle extensive research and more.</p><h2 id="gemini-intelligence-and-gemini-notebook-inside-samsung-s-latest-phones">Gemini Intelligence and Gemini Notebook inside Samsung’s latest phones</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3245px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Rrhyzx7YMraziySwy7dRBX" name="Galaxy Z Fold 8-27" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/Rrhyzx7YMraziySwy7dRBX.jpg" mos="" align="middle" fullscreen="" width="3245" height="1825" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Task automation is the central theme when talking about what Gemini Intelligence is bringing to the new Samsung smartphone lineup.</p><p>While in beta, <a href="https://www.tomsguide.com/ai/google-just-revealed-gemini-intelligence-and-it-could-change-android-forever">Gemini Intelligence</a> could fulfill certain requests, such as ordering takeout or requesting a rideshare, through direct support from a group of apps. Now those day-to-day life tasks that you can relegate to Gemini Intelligence are getting even more app assistance, now that more than 40 apps have become compatible with that AI feature. Asking Gemini to order an item from Etsy is now possible, along with a host of other simple tasks — buying concert tickets, making dinner reservations and booking flights are among the many ways this new AI feature will improve your Samsung smartphone experience. </p><p>Gemini will also be able to see and understand what's on your screen as it acknowledges your requests and recognizes complex images as prompts. Plus, you’ll be able to open other apps, close your phone or follow the step-by-step progress of Gemini’s work while it attempts to complete your command. It’s worth noting that you can expand upon your latest prompt with an additional detail, which Gemini has no problem incorporating into its current task. Simply long-pressing the Flex Window’s power button on the Galaxy Z Flip8 lets you quickly access Gemini’s task automation feature.</p><p>As for what Gemini Notebook is bringing to the latest Samsung foldable smartphone collection, this AI tool will come pre-installed. Working with those models’ side-by-side screen as a mini-workspace is now possible with Notebook’s ability to answer questions about the topic you’re researching and the sources connected to that subject. And just like its desktop version, Notebook’s mobile iteration will integrate your uploaded documents, photos, whiteboard images, voice recordings and more into your research projects. Notebook’s chat functionality can take your research and transform it into different forms of study material, such as slide decks, videos, flash cards, quizzes and a podcast.</p><p>To give owners of the Galaxy Z Fold8 Ultra, Fold8 and Flip8 a peek into just how useful Notebook’s AI features can be, Samsung is giving them all a six-month trial of Google AI Pro on those phones. That subscription comes with even more useful Notebook features, which include Audio Overviews, Video Overviews, Slides, and more.</p><p>Other pieces of Samsung gear, such as the Galaxy Watch 9 and intelligent eyewear developed alongside major brands such as Gentle Monster and Warby Parker, will also come with their own Gemini-powered features.</p><h2 id="bottom-line-2">Bottom line</h2><p>With a newly announced array of foldable smartphones that make great use of Gemini Intelligence and Gemini Notebook, its users will be sure to grow accustomed to handling life’s simpler tasks and more complex ones with both AI tools at their disposal. Making one’s daily routine just a little less of a headache and more easily manageable with Google’s AI features makes Samsung’s newest smartphones a worthwhile pickup.</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/ai/google-gemini/i-hate-paying-for-calorie-tracking-apps-so-i-had-gemini-analyze-my-food-photos-instead-heres-what-it-found" target="_blank">I hate paying for calorie-tracking apps, so I had Gemini analyze my food photos instead — here’s what it found</a></li><li><a href="https://www.tomsguide.com/ai/i-replaced-my-notebook-with-an-ai-pen-for-a-month-heres-what-happened" target="_blank">I replaced my notebook with an AI pen for a month — here's what happened</a></li><li><a href="https://www.tomsguide.com/ai/i-used-this-ai-note-taker-to-record-my-meetings-for-a-week-and-it-made-my-workdays-more-focused-and-productive" target="_blank">I used this AI note taker to record my meetings for a week — and it made my workdays more focused and productive</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve been wearing the Samsung Galaxy Watch Ultra 2 for nearly a week — 5 things I like and 1 thing I don’t ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review</link>
                                                                            <description>
                            <![CDATA[ I've been testing the new Galaxy Watch Ultra 2 for just under a week, and here's what I like and don't. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cuGhnYSB2EJJ9QWt8ZsNHC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/uiH5kxLWFFyNzASJsHfwuc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 22 Jul 2026 13:19:08 +0000</updated>
                                                                                                                                            <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/uiH5kxLWFFyNzASJsHfwuc-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:description>                                                            <media:text><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/uiH5kxLWFFyNzASJsHfwuc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been wearing the new Samsung Galaxy Watch Ultra 2 — just announced at <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a> alongside the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Samsung Galaxy Watch 9</a> —  for nearly a week, and I'm impressed. </p><p>Two years after the launch of the original ultra-rugged <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-review">Samsung Galaxy Watch</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra</a> competitor, the updated version adds better battery life, tons of new health and fitness insights, a brighter screen, and improved water resistance, all in a familiar design.</p><p>As one of TG’s resident smartwatch nerds, after five days on the wrist, here are the five things I dig the most about the new Samsung Galaxy Watch Ultra 2, along with one thing that I don’t like.</p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-upgrade-cheat-sheet"><span>Galaxy Watch Ultra 2: Upgrade cheat sheet</span></h3><p>But first, here’s a cheat sheet to all the most notable Galaxy Watch Ultra 2 stats and upgrades. </p><ul><li><strong>Price: </strong>At $699, the Galaxy Watch Ultra 2 is $50 more than its predecessor, which launched two years ago, but still $100 less than its nearest competitor, the Apple Watch Ultra 3.</li><li><strong>Design:</strong> The Galaxy Watch Ultra 2 is a tiny bit thinner than the original Galaxy Watch Ultra, but you may not notice the difference; the dimensions and weight are identical to the original model</li><li><strong>Screen: </strong>Maximum screen brightness has been bumped up from 4,000 nits to 5,000 nits, making it remarkably visible in direct sunlight</li><li><strong>Health features:</strong> New 'Vitals' dashboard with key metrics including heart rate, HRV, Sp02, body temp, and breath rate in one place; new 'Heart Health' score</li><li><strong>Fitness features:</strong> New Cardio Load insights, new Fitness Index score out of 100 based on factors like daily step count average, V02 Max, average heart rate, BIA (Bioelectrical Impedance Analysis), and average workout recovery time</li><li><strong>Battery life:</strong> 800 mAh battery is the largest in an Android wearable and a 35% capacity increase over the original Galaxy Watch Ultra; battery life usage averages ~25% drain per day in testing so far</li></ul><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-versus-competition"><span>Galaxy Watch Ultra 2: Versus competition</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Samsung Galaxy Watch Ultra </p></th><th  ><p>Apple Watch Ultra 3</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$699 / AU$1299</p></td><td  ><p>$649</p></td><td  ><p>$799</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions </strong></p></td><td  ><p>47 x 47 x 10 mm </p></td><td  ><p>47 x 47 x 12 mm </p></td><td  ><p>49 x 44 x 12 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>61.5 g</p></td><td  ><p>60.5 g</p></td><td  ><p>61 g</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>1.52-inch AMOLED, 5,000 nits max brightness </p></td><td  ><p>1.5-inch AMOLED, 3,000 nits max brightness </p></td><td  ><p>1.98-inch OLED, 3,000 nits max brightness</p></td></tr><tr><td class="firstcol " ><p><strong>Water resistance </strong></p></td><td  ><p>100 meters</p></td><td  ><p>100 meters (not approved for diving)</p></td><td  ><p>100 meters</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (tested)</strong></p></td><td  ><p>60 hours</p></td><td  ><p>48 hours </p></td><td  ><p>42 hours</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-1-the-price"><span>Galaxy Watch Ultra 2 like #1: The price </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:4737px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="7RLoxSzFXxAzKQFchr6Qod" name="GalaxyWatchUltra2-v-AWU3-01" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/7RLoxSzFXxAzKQFchr6Qod.jpg" mos="" align="middle" fullscreen="" width="4737" height="2664" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Samsung Galaxy Watch Ultra 2 is priced at $699, a modest $50 increase over the launch price of its two-year-old predecessor. More notably, it's a hundred bucks cheaper than the latest Apple Watch Ultra 3, its nearest non-Android competitor. </p><p>Meanwhile, the latest <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Galaxy Watch 9</a> models —which share pretty much all the same features, just in a less beefy package — range from $379 to $459.</p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-2-super-bright-display"><span>Galaxy Watch Ultra 2 like #2: Super-bright display </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:4043px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="epc4o6iQmt6rjHFos7nLnd" name="GalaxyWatchUltra2-Gemini" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/epc4o6iQmt6rjHFos7nLnd.jpg" mos="" align="middle" fullscreen="" width="4043" height="2275" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The new Samsung Galaxy Watch Ultra 3 sports a sizable 1.52-inch display that maxes out at an impressive 5,000 nits, making it one of the brightest displays in any full-featured wearable, including 2026's <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>.</p><p>The Apple Watch Ultra 3, by comparison, maxes out at 3,000 nits of max brightness. Real-world translation: the new Galaxy Watch Ultra 2 is a lot easier to read in bright sunlight than the newest Apple Watch Ultra.</p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-3-a-finally-dive-ready-design"><span>Galaxy Watch Ultra 2 like #3: A (finally) dive-ready design</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:3515px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="LYfp9ZExt4wz8PuvGiRGJW" name="GalaxyWatchUltra2-03" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/LYfp9ZExt4wz8PuvGiRGJW.jpg" mos="" align="middle" fullscreen="" width="3515" height="1977" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The original Samsung Galaxy Watch Ultra promises 100 meters of water resistance, but unlike the newest Apple Watch Ultra 3, it's not rated for use while diving or even snorkeling.</p><p>Samsung no doubt caught some flak for this shortcoming. Thankfully, the new Galaxy Watch Ultra 2 is thoroughly dive-ready. In fact, Samsung is partnering with the <a href="https://www.mares.com/en_US/mares-app" target="_blank">Mares diving app</a> to turn the Galaxy Watch Ultra 2 into a fully-fledged dive computer, complete with speed monitoring and safety-stop alerts. </p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-4-new-holistic-features-galore"><span>Galaxy Watch Ultra 2 like #4: New holistic features galore </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:4797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vHP2ZPZZ4Z6xQ2bKK5vYtZ" name="GalaxyWatchUltra2-06" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/vHP2ZPZZ4Z6xQ2bKK5vYtZ.jpg" mos="" align="middle" fullscreen="" width="4797" height="2698" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Similar to the new Samsung Galaxy Watch 9, the Galaxy Watch Ultra 2 ships fully-loaded with all sorts of new health and fitness insights. While some of these will possibly make their way to older models, for now, most are exclusive to the latest launches. </p><p>The features include a new Vitals dashboard for viewing your most important up-to-the-minute health stats in one place, a new Cardio Load score to see your heart health, a freshly launched Fitness Index score that compares your fitness to your peers, and more.</p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-5-big-on-battery-life"><span>Galaxy Watch Ultra 2 like #5: Big on battery life </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:4187px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bymkGs65ruZkWfvJQAJDCe" name="GalaxyWatchUltra2-02" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/bymkGs65ruZkWfvJQAJDCe.jpg" mos="" align="middle" fullscreen="" width="4187" height="2355" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Not only did Samsung equip the Galaxy Watch Ultra 2 with a higher-capacity battery — 590 mAh for the old model vs 800 mAh for the new one — but the Galaxy Watch Ultra 2 is noticeably more power-efficient than its predecessor, despite a brighter display.</p><p>In my testing so far, the Galaxy Watch Ultra 2 uses about 35% battery every 24 hours, including tracking a daily ~45-minute outdoor workout and a full night of sleep. </p><p>This leads me to believe that the Galaxy Watch Ultra 2 can last roughly three days or 72 hours per charge without using any power-saving features, a notable improvement over its predecessor, which lasted closer to 40 hours per charge.</p><h3 class="article-body__section" id="section-galaxy-watch-ultra-2-like-dislike-1-the-case-is-still-massive"><span>Galaxy Watch Ultra 2 like dislike #1: The case is still massive</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:3963px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6TYLqmeyBB7qGDFZaMMWob" name="GalaxyWatchUltra2-07" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/6TYLqmeyBB7qGDFZaMMWob.jpg" mos="" align="middle" fullscreen="" width="3963" height="2229" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The original Samsung Galaxy Watch Ultra required nothing short of a burly wrist to look and feel "at home."  With dimensions as grand as 47.4 × 47.4 × 12.1 mm and a weight just over 60 g, the new Galaxy Watch Ultra 2 feels nearly as overwhelming on my normal-ish, 6.5-inch wrist as its predecessor.</p><p>Samsung made the new Galaxy Watch Ultra 2 a tiny bit thinner, shaving off over 2 mm of thickness. Still, the width and height remain the same. </p><p>That said, the new Galaxy Watch Ultra 2 strap is thinner, softer, and more flexible than its predecessor, which <em>is</em> a major improvement. </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/im-a-smartwatch-reviewer-and-heres-my-apple-watch-series-12-wish-list-three-upgrades-i-want-and-one-i-dont">I'm a smartwatch reviewer, and here's my Apple Watch Series 12 wish list — three upgrades I want, and one I don't</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/leaked-apple-watch-12-design-change-is-the-opposite-of-an-upgrade-and-that-has-me-worried">Leaked Apple Watch 12 design change is the opposite of an upgrade — and that has me worried</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-needs-these-3-upgrades-to-convince-me-to-switch-from-my-apple-watch-ultra-3">Samsung Galaxy Watch Ultra 2 needs these 3 upgrades to convince me to switch from my Apple Watch Ultra 3</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal</link>
                                                                            <description>
                            <![CDATA[ Samsung is making the switch to silicon carbon batteries, and that means a lot of big things for the new Galaxy foldables. Here's why it matters so much ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rojyU2KcBzFMtT2gKVu8NP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6J9SdWH8KajdLftPCzJFvW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 22 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/6J9SdWH8KajdLftPCzJFvW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6J9SdWH8KajdLftPCzJFvW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung's Galaxy Z 8 series foldables are getting a major battery upgrade, and it's not just because of the capacity boost. Samsung has confirmed that it has made the switch to <a href="https://www.tomsguide.com/phones/i-interviewed-honor-and-oneplus-about-their-silicon-carbon-battery-tech-apple-and-google-are-quickly-falling-behind">silicon carbon batteries</a> this year, ditching the traditional lithium ion power packs in favor of something that packs a bit more of a punch.</p><p>It's a surprise to hear that this is happening so soon — given<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-still-has-the-same-battery-tech-as-older-phones-but-silicon-carbon-is-still-in-the-works"> Samsung's previous hesitance</a> to discuss when it might introduce silicon carbon batteries. Considering various brands <a href="https://www.tomsguide.com/phones/i-interviewed-honor-and-oneplus-about-their-silicon-carbon-battery-tech-apple-and-google-are-quickly-falling-behind">have already made the switch</a>, it's great to see that one of the major holdouts has decided now is the time to jump on the bandwagon.</p><p>Here's what you need to know about silicon carbon batteries and what it means for prospective Samsung users.</p><h2 id="what-are-the-benefits-of-silicon-carbon">What are the benefits of silicon carbon?</h2><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="dMNhWVVdEx4Fk8ABZieXAg" name="Galaxy Z Fold 8 Ultra-32" alt="Galaxy Z Fold 8 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/dMNhWVVdEx4Fk8ABZieXAg.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 main thing you need to know about batteries is that their capacity is linked to their size. A lot of work has been done to improve the density of lithium ion batteries over the years, but there's only so much you can do to shrink them down. That becomes a problem when you're trying to design devices to be super thin and light.</p><p>Silicon carbon is a whole new kind of battery design that utilizes silicon on the anode instead of pure graphite, and the key benefit is that it offers far better energy density. In other words, you can pack more power into a smaller space compared to traditional lithium ion batteries. That's particularly important for foldables, which pride themselves on being ultra-thin and lightweight — despite essentially being two phones bolted together.</p><p>We've already seen the benefits with the <a href="https://www.tomsguide.com/phones/oneplus-phones/oneplus-15-review">OnePlus 15</a>, which has offers a 7,300 mA battery without any meaningful increase in size or weight. In fact, not only is the phone only a single gram heavier than the 6,000 mAh <a href="https://www.tomsguide.com/phones/oneplus-phones/oneplus-13-review">OnePlus 13</a>, it's actually 0.8mm thinner than its predecessor.</p><p>In terms of the Galaxy Z 8 series, we're seeing a 600 mAh jump between the Galaxy Z Fold 7 and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-official-renders-just-leaked-before-unpacked-here-it-is-in-every-single-color">Galaxy Z Fold 8 Ultra </a>— boosting the battery capacity to 5,000 mAh. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8 </a>is sitting pretty with 4,800 mAh, while the<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far"> Galaxy Z Flip 8</a> is sadly stuck at 4,300 mAh.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W5AAnW"></div>                            </div>                            <script src="https://kwizly.com/embed/W5AAnW.js" async></script><h2 id="why-has-samsung-switched-now">Why has Samsung switched now?</h2><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="ejkQswQoRoh8hJSyeLCFdZ" name="Samsung Galaxy Z Flip 8 hands-on" alt="Samsung Galaxy Z Flip 8 hands-on." src="https://cdn.mos.cms.futurecdn.net/ejkQswQoRoh8hJSyeLCFdZ.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: John Velasco / Tom's Guide)</span></figcaption></figure><p>Speaking ahead of Unpacked, Kadesh Beckford, Smartphone Specialist Product Manager at Samsung, said the switch to silicon carbon batteries has all been about improving the customer experience — thanks to the ability to offer more power in a smaller space. </p><p>In fact the switch to Silicon Carbon is one of the main ways Samsung has been able to add larger batteries to the Z8 series without increasing their size or weight. In fact, the Galaxy Z Fold 8 Ultra is almost identical in size and shape to the Galaxy Z Fold 7, and the Z Fold 8 is the lightest book-style foldable ever released.</p><p>That said, this decision was not one Samsung took lightly. Back in February Sung-Hoon Moon Samsung's Executive VP and Head of Smartphone R&D, admitted that silicon carbon batteries had not passed Samsung's "very rigorous validation standards." </p><p>Beckford also emphasized that Samsung had done its due diligence before adopting silicon carbon. He also emphasized the fact that silicon carbon was how Samsung added such large batteries to the Galaxy Z 8 series, and how much battery life was being improved as a result. Which is a pretty obvious benefit for the end user.</p><p>The caution is somewhat understandable from Samsung's perspective. Next month marks the 10th anniversary of the launch of the Galaxy Note 7, which was an unmitigated disaster for Samsung due to various flaws in the phone's (then) new battery design. The absolute last thing Samsung needs is to make the switch to silicon carbon and have something similar happen again.</p><p>The good news is that silicon carbon has already proven itself across a multitude of devices, even if the likes of Apple and Google have so far chosen to stick with a traditional lithium ion battery design. </p><p>Here's hoping that Samsung's switch gives them an incentive to jump on the bandwagon themselves — especially since the<a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing"> iPhone 18 Pro Max is rumored to be the heaviest iPhone ever</a>, weighing in with a gargantuan 240 grams (8.4 ounces).</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/phones/samsung-phones/how-to-watch-summer-galaxy-unpacked-2026-galaxy-z-fold-8-fold-8-ultra-flip-8-and-more">How to watch Summer Galaxy Unpacked 2026 — Galaxy Z Fold 8, Fold 8 Ultra, Flip 8 and more</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-card-takes-aim-at-apple-card-with-way-more-perks-and-rewards-heres-what-you-get">Samsung Galaxy Card takes aim at Apple Card with way more perks and rewards — here’s what you get</a></li><li><a href="https://proof.vanilla.tools/tomsguide/articles/edit/qaiPHbDZH7NpWPPnBu3nW5">Light just announced a $299 flip phone to cure screen addiction — and its</a> <a href="https://proof.vanilla.tools/tomsguide/articles/edit/qaiPHbDZH7NpWPPnBu3nW5">co-founder convinced me to embrace being bored again</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This OLED was just crowned 'TV of the Year' — but there’s another OLED I’d buy instead ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/this-oled-was-just-crowned-tv-of-the-year-but-theres-another-oled-id-buy-instead</link>
                                                                            <description>
                            <![CDATA[ The Samsung S95H was just crowned King of OLEDs at Value Electronics' annual TV Shootout. There's just one problem: It's wildly expensive. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JtfHkcqGJWLQMEZEU7LLCD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cSTGNGmq6xfMtjG9k7aMVi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 21 Jul 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/cSTGNGmq6xfMtjG9k7aMVi-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[LG C6 OLED TV shown on a wood table]]></media:description>                                                            <media:text><![CDATA[LG C6 OLED TV shown on a wood table]]></media:text>
                                <media:title type="plain"><![CDATA[LG C6 OLED TV shown on a wood table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cSTGNGmq6xfMtjG9k7aMVi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Value Electronics — an esteemed, US-based A/V retailer — held its annual TV Shootout last week, pitting many of the year’s <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> against one another in a series of tests designed to measure picture quality. OLED TVs competed in their own contest, which included the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a>, the <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review">Sony Bravia 8 II</a> and the LG G6.</p><p>Despite some tough competition, <a href="https://www.ecoustics.com/news/2026-tv-shootout-results/" target="_blank">Samsung’s flagship OLED took home the crown</a>, besting LG and Sony’s top OLED models across several performance categories. Having seen all of the competing OLEDs, I’m not surprised by the results; the S95H received our coveted five-star rating on account of its gobsmackingly gorgeous picture.</p><p>There’s just one problem: The Samsung S95H carries a sticker price that’ll make you stumble towards the nearest fainting couch. King of OLED TVs? Sure, I can buy that. But I won’t be able to afford the S95H itself anytime soon. Fortunately, there’s a mid-range OLED waiting in the wings with a lower price and wider appeal: the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</a>.</p><h2 id="the-lg-c6-vs-samsung-s95h-by-the-numbers">The LG C6 vs Samsung S95H: by the numbers</h2><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="VLCVcqCXQgyQMCEKr7cgWo" name="LG C6 vs Samsung S95H LIST" alt="The LG C6 and the Samsung S95H in a side-by-side composite" src="https://cdn.mos.cms.futurecdn.net/VLCVcqCXQgyQMCEKr7cgWo.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 fine folks at Value Electronics put the year’s top OLEDs through a series of tests that measured in-depth performance metrics like shadow detail, low-luminance color saturation, skin tone accuracy and more.</p><p>It’s worth mentioning that Value Electronics’ TV Shootout is operated and aimed at A/V specialists, home theater enthusiasts and all-around hobbyists. As a result, their tests (the results of which can be perused at <a href="https://www.ecoustics.com/news/2026-tv-shootout-results/" target="_blank" rel="nofollow">eCoustics</a>) dive deeper in the finer details of these displays’ capabilities.</p><p>Despite the fact that LG’s mid-range C6 OLED didn’t compete at Value Electronics’ TV Shootout, we’ve conducted our own tests on the C6 and the Samsung S95H. Here’s how they stack up:</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>LG C6</strong></p></th><th  ><p><strong>Samsung S95H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>355</p></td><td  ><p>253</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>1.5</p></td><td  ><p>2.2</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>1,355</p></td><td  ><p>2,721</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.77%</p></td><td  ><p>99.92%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>75.92%</p></td><td  ><p>89.6% </p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.1</p></td><td  ><p>9.7</p></td></tr></tbody></table></div><p>Both of these sets deliver the performance benefits that OLED TVs are known for: perfect black levels and pixel-level dimming. As a result, pretty much everything looks terrific on both TVs.</p><p>In addition to some higher-end features and components, the S95H's secret sauce is its quantum dot-enhanced OLED display. This is the reason its color volume is so impressive compared to the LG C6, and a big reason why its HDR highlight brightness is nearly double.</p><p>Samsung's picture processing at the flagship level can't be ignored, either. Value Electronics' methodology is designed to put a microscope on the small stuff, like how smoothly color gradients transition from one shade to another, or how effective a TV is at displaying dark, hard-to-render colors.</p><p>I can't sit here and tell you that the LG C6 is a better-performing TV than the S95H. The difference in a side-by-side comparison would be undeniable. But for most viewers, the LG C6 is about 80% as impressive-looking as the S95H, and the gulf in price is much more significant.</p><div class="product"><a data-dimension112="4bb9ed94-8474-11f1-8321-7feabb8e5f11" data-action="Deal Block" data-label="LG C5" data-dimension48="LG C5" data-dimension25="$1799" href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED65C6PUA/dp/B0GRK5D3RW" 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="pApZeLtG7EepRfSr7wqdbf" name="LG-C6-OLED-TV-1-by-1-Deal-Block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pApZeLtG7EepRfSr7wqdbf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>LG's latest mid-range OLED is only a marginal upgrade over its predecessor from last year (the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c5-vs-c6-is-the-newest-oled-tv-worth-it-in-2026" data-dimension112="4bb9ed94-8474-11f1-8321-7feabb8e5f11" data-action="Deal Block" data-label="LG C5" data-dimension48="LG C5" data-dimension25="$1799">LG C5</a>), but this huge discount means you don't have to settle for the 2025 model. It boasts all of the benefits of OLED technology like perfect black levels, pixel-level dimming and ultra-wide viewing angles, and the C6 even offers better HDR brightness than last-year's C5.<br><strong>Price check: </strong><a href="https://www.bestbuy.com/product/lg-65-class-c6-series-oled-evo-ai-4k-smart-webos-tv-2026/JJ8VPZKZ8H" target="_blank" rel="nofollow"><strong>$1,799 @ Best Buy</strong></a><a class="view-deal button" href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED65C6PUA/dp/B0GRK5D3RW" target="_blank" rel="nofollow" data-dimension112="4bb9ed94-8474-11f1-8321-7feabb8e5f11" data-action="Deal Block" data-label="LG C5" data-dimension48="LG C5" data-dimension25="$1799">View Deal</a></p></div><p>The C6's 1,300+ nits of HDR highlight brightness is <em>plenty</em> good for most viewing environments. More importantly, the self-emissive nature of OLED means that the C6 gets more out of its highlight brightness than an LCD/LED TV with similar brightness. It's one of the reasons why there's a much smaller perceivable performance gap between mid-range and flagship-level OLEDs when compared to LCD lineups.</p><p>The C6 is also equipped with nearly every streaming- and gaming-related feature you'll find on the S95H. Plus, if you're a home theater <em>completionist</em>, you'll appreciate the C6's inclusion of Dolby Vision support — something you won't find on any Samsung TV.</p><p>You might also find that the C6's traditional design is better suited for your living space. The S95H features a divisive metal frame that can't be removed. It looks more natural when the S95H is wall-mounted, but when it's on a table, I find it to be more than a little distracting.</p><p>As a TV expert, you won't catch me claiming that the S95H isn't as impressive as the C6, or even that the S95H isn't worthy of Value Electronics' crown. But for most people, it's a <em>much</em> more sensible option, and I'm willing to bet that it'll be the more popular choice in 2026.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.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/tvs/i-saw-sonys-bravia-9-ii-up-close-and-it-completely-shattered-my-expectations-heres-why-its-the-king-of-rgb-tvs">I saw Sony's Bravia 9 II up close and it completely shattered my expectations — here’s why it’s the king of RGB TVs</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H is 2026’s OLED to beat</a></li><li><a href="https://www.tomsguide.com/tvs/theres-a-better-cable-for-tvs-than-hdmi-but-heres-why-well-probably-never-use-it">There's a better cable for TVs than HDMI — but here's why we'll probably never use it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to watch Summer Galaxy Unpacked 2026 — Galaxy Z Fold 8, Fold 8 Ultra, Flip 8 and more ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/how-to-watch-summer-galaxy-unpacked-2026-galaxy-z-fold-8-fold-8-ultra-flip-8-and-more</link>
                                                                            <description>
                            <![CDATA[ Samsung Galaxy Unpacked is happening this week, and here's all the information you need to tune in and watch the show live. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uvVs6iqRwuvQFhUsKFcnsa</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Uvf5TfFqyifwQ8gsY3myx6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 21 Jul 2026 06:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 22 Jul 2026 11:33:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/Uvf5TfFqyifwQ8gsY3myx6-1280-80.jpg">
                                                            <media:credit><![CDATA[Credit: Samsung/OnLeaks/Android Headlines/Tom&#039;s Guide/Android Police]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Unpacked 2026]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Unpacked 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Unpacked 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Uvf5TfFqyifwQ8gsY3myx6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><em><strong>Update</strong></em><em>: Follow our </em><a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live" target="_blank"><em>Samsung Galaxy Unpacked live blog</em></a><em> for all the big Galaxy Z Fold 8 news</em>. </p><p>The summer edition of <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Samsung Galaxy Unpacked</a> is almost here, and with it we're expecting to see the next generation of Galaxy Foldables — as well as news about new wearable devices. This year's foldable launch is happening in London, which means it's all going to kick off a little earlier in the day than expected.</p><p>Thankfully, though, there are a variety of different ways to keep up to date with the show — and catch all the announcements as they happen. Not only will we at Tom's Guide be on the ground at Unpacked in London, we'll also be live blogging the entire event as it unfolds.</p><p>If you want to follow along, here's how you can tune in to Galaxy Unpacked to watch everything unfold live.</p><h3 class="article-body__section" id="section-where-can-you-watch-the-galaxy-unpacked-live-stream"><span>Where can you watch the Galaxy Unpacked live stream?</span></h3><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/Nul7mPL7Nt4" allowfullscreen></iframe></div></div><p>Summer Galaxy Unpacked 2026 is scheduled to take place on Wednesday July 22, with the event officially kicking off at 2 p.m. BST / 9 a.m. ET / 6 a.m. PT. </p><p>The easiest place to watch is via the live stream on<a href="https://www.youtube.com/watch?v=Nul7mPL7Nt4" target="_blank"> Samsung's YouTube channel</a> which we've embedded above. You should also be able to tune in via <a href="http://samsung.com" target="_blank" rel="nofollow">Samsung.com</a> and <a href="https://news.samsung.com/global/" target="_blank" rel="nofollow">Samsung Newsroom</a>, if you want an alternative option.</p><h3 class="article-body__section" id="section-what-to-expect-at-summer-galaxy-unpacked-2026"><span>What to expect at Summer Galaxy Unpacked 2026 </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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="989hWAcHVdATC3CykCG473" name="static official release (horizontal 16x9)_1920x1080_WITH text" alt="Samsung Galaxy Unpacked July 2026" src="https://cdn.mos.cms.futurecdn.net/989hWAcHVdATC3CykCG473.png" 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: Samsung)</span></figcaption></figure><p>The main thing to expect at the next Galaxy Unpacked are the new Galaxy foldables, and this year Samsung is expected to mix things up by announcing three new models. So rather than seeing the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Z Flip 8</a>, we're expecting to see the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a> as well.</p><div class="product"><a data-dimension112="47fb5fcc-847d-11f1-a878-8f388cfbcff2" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1731px;"><p class="vanilla-image-block" style="padding-top:87.41%;"><img id="sdADwvvhPbZLgf6c5tWNmQ" name="Screenshot 2026-07-15 104549" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sdADwvvhPbZLgf6c5tWNmQ.png" mos="" align="middle" fullscreen="" width="1731" height="1513" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow" data-dimension112="47fb5fcc-847d-11f1-a878-8f388cfbcff2" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$">View Deal</a></p></div><p>But the big twist is that the Z Fold 8 Ultra is expected to be the successor to the Galaxy Z Fold 7, while the standard Z Fold 8 is a new foldable with a shorter and wider design. It was originally referred to as the Galaxy Fold Wide for a reason.</p><p>The Galaxy Z Flip 8 is expected to be exactly what we expected, with the added possibility of it being the last Samsung flip phone for the immediate future. </p><p>We should also expect to see updated wearables with the reveal of <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-9-and-ultra-2-rumors-everything-weve-heard-so-far">Galaxy Watch 9</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-rumors-heres-everything-we-expect-from-samsungs-next-gen-rugged-smartwatch">Galaxy Watch Ultra 2</a>, alongside more news about Samsung's Galaxy Glasses — which were announced as <a href="https://www.tomsguide.com/computing/smart-glasses/i-tested-googles-intelligent-eyewear-and-found-the-smart-glasses-that-will-defeat-ray-ban-meta">Intelligent Eyewear</a> at <a href="https://www.tomsguide.com/news/live/google-io-2026-live-news-updates">Google I/O</a> back in May. We've heard rumors that Samsung is also working on a new version of its Galaxy Tag Bluetooth tracker, but it's unclear whether that will be appearing at Unpacked or if it's coming at a later date.</p><p>Finally there's One UI 9.5, which is likely to debut on the new foldables. Details on the new software are scant right now, but you can expect to see plenty of foldable-centric optimizations and possibly even some AI upgrades. So expect to hear all about that during the Unpacked event.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-pre-order-deals"><span>Galaxy Z Fold 8 pre-order deals</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:696px;"><p class="vanilla-image-block" style="padding-top:56.61%;"><img id="hMBysPJZniSW3QEz4fLz5R" name="Screenshot 2026-07-20 105328" alt="samsung foldable 2026 leaked marketing materials" src="https://cdn.mos.cms.futurecdn.net/hMBysPJZniSW3QEz4fLz5R.png" mos="" align="middle" fullscreen="" width="696" height="394" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Galaxy Unpacked may not have happened yet, but there are already some early pre-order deals out there for you to take advantage of, if you don't want to wait for an official announcement. </p><p>Samsung is offering buyers the chance to "reserve" a new Galaxy foldable <a href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow">on its website</a>, which will net you $30 credit on your eventual pre-order and up to $1,230 in trade-in savings. Those of you that sign up will also be entered into a prize draw to win one of 10 $500 Samsung gift cards. </p><p>This is a limited time deal, though, and the offer ends as soon as Galaxy Unpacked begins on Wednesday morning. It's also worth noting that you're not going to be forced to pre-order the phone if you change your mind, or decide that one of the new foldables isn't for you. So if there's even a small chance you might buy one of the new foldables, it just makes sense to sign up.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-wide-vs-fold-8-ultra-heres-the-foldable-im-most-excited-for">Samsung Galaxy Z Fold 8 (Wide) vs Fold 8 Ultra — here's the foldable I'm most excited for</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/massive-samsung-leak-reveals-official-galaxy-z-fold-8-fold-8-ultra-and-flip-8-images-ahead-of-unpacked">Massive Samsung leak reveals official Galaxy Z Fold 8, Fold 8 Ultra, and Flip 8 images ahead of Unpacked</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/im-not-convinced-crease-free-foldables-like-the-galaxy-z-fold-8-actually-matter-prove-me-wrong">I’m not convinced crease-free foldables like the Galaxy Z Fold 8 actually matter. Prove me wrong.</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Card takes aim at Apple Card with way more perks and rewards — here’s what you get ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-card-takes-aim-at-apple-card-with-way-more-perks-and-rewards-heres-what-you-get</link>
                                                                            <description>
                            <![CDATA[ Samsung's new Barclays-issued Galaxy Card aims to challenge the Apple Card by offering loyalists 5% cash back on direct brand purchases and 3% on all mobile wallet transactions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UdCBnSycFwcbMfbNXzWKSe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MrLbPpWiijKrLfn8SEAFTj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 20 Jul 2026 21:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.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/MrLbPpWiijKrLfn8SEAFTj-1280-80.jpg">
                                                            <media:credit><![CDATA[Samsung]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Card.]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Card.]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Card.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MrLbPpWiijKrLfn8SEAFTj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>With <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked 2026</a> set to kick off in a matter of days, you know that Samsung’s new foldable phones won’t come cheap. If you’re planning on being an early adopter of one of them, like the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8 Ultra</a>, then you might want to sign up for the <a href="https://www.samsung.com/us/apps/samsung-wallet/" target="_blank">Samsung Galaxy Card</a>.</p><p>I think Samsung's first-ever U.S. credit card, which is a Visa card issued by Barclays, is going to give the <a href="https://www.tomsguide.com/features/apple-card-italy">Apple Card</a> a run for its money. I know how a generous rewards system can entice someone to choose one credit card over another, so Samsung is making a compelling offer here.</p><p>Even though it’s designated as a Samsung Wallet-first experience that lives as a digital card on your Galaxy phone, it will also be available as a premium black metal card. One of the biggest incentives is the 5% cash rewards you get on direct Samsung purchases. </p><h2 id="samsung-galaxy-card-vs-apple-card">Samsung Galaxy Card vs. Apple Card</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Samsung Galaxy Card</strong></p></td><td  ><p><strong>Apple Card</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Annual Fee</strong></p></td><td  ><p>$0</p></td><td  ><p>$0</p></td></tr><tr><td class="firstcol " ><p><strong>Issuer</strong></p></td><td  ><p>Barclays </p></td><td  ><p>Goldman Sachs</p></td></tr><tr><td class="firstcol " ><p><strong>Card Type</strong></p></td><td  ><p>Visa</p></td><td  ><p>Mastercard</p></td></tr><tr><td class="firstcol " ><p><strong>Direct Brand Purchases</strong></p></td><td  ><p>5% cash rewards</p></td><td  ><p>3% cash rewards</p></td></tr><tr><td class="firstcol " ><p><strong>Mobile Wallet Purchases</strong></p></td><td  ><p>3% via Samsung Wallet</p></td><td  ><p>2% via Apple Pay (3% at select merchants)</p></td></tr><tr><td class="firstcol " ><p><strong>Streaming Services</strong></p></td><td  ><p>2% cash rewards</p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>All Other Purchases</strong></p></td><td  ><p>1% cash rewards</p></td><td  ><p>1% cash rewards</p></td></tr><tr><td class="firstcol " ><p><strong>Sign-Up Bonus</strong></p></td><td  ><p>$200 after $2,000 spent in first 90 days</p></td><td  ><p>$75 when you spend $75 within the first 30 days</p></td></tr></tbody></table></div><p>When I look at the comparison chart between the Samsung Galaxy Card and the Apple Card, I’m instantly hooked by the sign-up bonus Samsung is offering. You’ll get <strong>$200 back in cash rewards</strong> if you spend $2,000 within the first 90 days, whereas you typically only get a smaller, $75 welcome bonus when you spend $75 within the first 30 days with the Apple Card.</p><p>"Samsung Galaxy Card is part of our ongoing vision for Samsung Wallet to deliver more connected and rewarding everyday experiences," said Woncheol Chai, EVP and Head of the Digital Wallet Team at the Mobile eXperience Business at Samsung Electronics. "Collaborating with like-minded partners, such as Barclays, is what made Samsung Galaxy Card possible. This marks yet another milestone in the evolution of Samsung Wallet and mobile payments — offering a new solution for busy users who want cash rewards whether they're running errands or purchasing the latest Galaxy devices."</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:7845px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J82HL8F88GL2vkZr4hmcvi" name="Samsung Galaxy Card" alt="Samsung Galaxy Card." src="https://cdn.mos.cms.futurecdn.net/J82HL8F88GL2vkZr4hmcvi.jpg" mos="" align="middle" fullscreen="" width="7845" height="4413" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Another important perk you should know about is the <strong>5% cash rewards on all direct Samsung purchases</strong>. That’s huge if you intend on buying a lot of Samsung gear outside of phones, like Galaxy Watches, appliances, and TVs. By staying in the Samsung ecosystem, you earn more. In contrast, Apple maxes out at a 3% cash back reward when you buy directly from them or a few select merchants.</p><p>While both credit cards offer a baseline 1% reward on all other purchases, you get <strong>3% cash back when using the card through Samsung Wallet</strong> — beating Apple's 2% reward for standard Apple Pay transactions. These figures may sound inconsequential, but they quickly add up if you’re smart about how and where you shop.</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:6097px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="h6axTuH2RFxbuCTbWi8Swg" name="Samsung Galaxy Card" alt="Samsung Galaxy Card." src="https://cdn.mos.cms.futurecdn.net/h6axTuH2RFxbuCTbWi8Swg.jpg" mos="" align="middle" fullscreen="" width="6097" height="3430" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>The only catch right now is that Samsung hasn't gone into full detail about its complete fee structure. While there's no annual fee, the Apple Card famously prides itself on having no fees at all — including late and foreign transaction fees.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eG2dLX"></div>                            </div>                            <script src="https://kwizly.com/embed/eG2dLX.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/phones/samsung-phones/samsung-galaxy-z-8-preorders-havent-started-yet-but-you-can-save-up-to-usd1-230-right-now-heres-how">Samsung Galaxy Z 8 preorders haven't started yet, but you can save up to $1,230 right now — here’s how</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/im-not-convinced-crease-free-foldables-like-the-galaxy-z-fold-8-actually-matter-prove-me-wrong">I’m not convinced crease-free foldables like the Galaxy Z Fold 8 actually matter. Prove me wrong.</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/every-samsung-device-from-this-months-unpacked-just-leaked-heres-your-full-look-at-the-entire-lineup">Every Samsung device from this month's Unpacked just leaked — here's your full look at the entire lineup</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Massive Samsung leak reveals official Galaxy Z Fold 8, Fold 8 Ultra, and Flip 8 images ahead of Unpacked ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/massive-samsung-leak-reveals-official-galaxy-z-fold-8-fold-8-ultra-and-flip-8-images-ahead-of-unpacked</link>
                                                                            <description>
                            <![CDATA[ Leaker Evan Blass just revealed marketing images and key specs for Samsung's new foldable phones ahead of Unpacked, including the Fold 8, Fold 8 Ultra and Flip 8. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wzh4ZSxieSJcRGZA8QULma</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oXa3EgJef8m8m6Kegginp4-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Mon, 20 Jul 2026 10:52:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/png" url="https://cdn.mos.cms.futurecdn.net/oXa3EgJef8m8m6Kegginp4-1280-80.png">
                                                            <media:credit><![CDATA[Android Headlines / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oXa3EgJef8m8m6Kegginp4-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We are a little over two days away from <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked</a>, which should see Samsung unveil the next wave of foldable Galaxy phones. But, if you're too impatient to wait for the event, leaked marketing materials have already hit the web courtesy of long-time leaker Evan Blass's <a href="https://evleaks.substack.com/" target="_blank">substack newsletter</a>.</p><p>These materials aren't just renders that show us what the three phones might look like. Blass appears to have full marketing materials featuring images and specs for the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a>, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-last-minute-rumors-release-date-price-specs-and-all-the-biggest-upgrades">Galaxy Z Fold 8 Ultra</a> and the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Galaxy Z Flip 8</a>. Blass is well known for publishing this sort of material close to big launch events, and if everything is as accurate as it usually is, it means  there may not be much for Samsung to unveil on Wednesday.</p><p>We already knew quite a lot of this information, thanks to a series of leaks over the past few months. But it's nice to see everything, and I mean everything, in one place. Here's what you need to know.</p><h2 id="galaxy-z-fold-8-ultra">Galaxy Z Fold 8 Ultra</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5KYcLqXWkV9hxNWzQwTwGQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hMBysPJZniSW3QEz4fLz5R.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nTxkcexEBv7hyGQngusHmQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X5FU9Rqha9BS6danbYjRkQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/UkfnB2SDvyyAjGu2jgkyyQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZZXpTkQzzA5jFgrZm9gZoQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure></figure><p>The renders show off the Z Fold 8 Ultra much as we expected, with almost an identical design to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> that was released last year. This means you're getting a tall, narrow design complete with three rear cameras — presumably offering the same 6.3-inch cover display and 8-inch foldable screen. </p><p>Those camera lenses consist of a 200MP main lens with 2x "optical quality" digital zoom, a 50MP ultrawide camera and a 10MP telephoto lens with 3x optical zoom. Both the cover display and folding display feature 10MP selfie cameras. </p><p>The battery is listed as 5,000 mAh, which is the same as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a>, with around 27 hours of video playback. That's a big jump from the 4,400 mAh battery on the Fold 7.</p><h2 id="galaxy-z-fold-8">Galaxy Z Fold 8</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/D796WCrad77DLKsYPmkC6R.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JUZudpPW34zsZ2CTcEgu5R.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WmFcRLqhLE4tfQK5kXx6aQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/J4A3htJSm83yYJrrvVHFCQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hnNdrd2WpkLky82rCaiBoQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/n3SP7r9y5CnEwrfMkpFXrQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure></figure><p>The passport-style Z Fold 8 has that shorter, wider body that we've been expecting, though the images don't specify the size of those screens. Past rumors suggest that it will be a 5.5-inch cover display and a 7.6-inch foldable display.</p><p>We only have two cameras on the back for this model, with the main and ultrawide lenses each sporting 50MP of resolution. The main lens also offers a 2x "optical quality" zoom, but there's no actual optical magnification thanks to the lack of a telephoto lens. Both selfie cameras are, once again, listed as having 10MP resolution.</p><p>The size of the battery isn't listed, but the leaked materials mention 26 hours of video playback — which tracks with <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-and-z-fold-wide-specs-leak-but-whats-surprising-are-the-missing-features">rumors that the Z Fold 8 will have a 4,800 mAh battery</a>. There's also an image showcasing the Snapdragon 8 Gen 5 Elite for Galaxy chip, though <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">Samsung had already confirmed this was on the way</a>.</p><h2 id="galaxy-z-flip-8">Galaxy Z Flip 8</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/S2hcsFPY44uuV36WCzvEVQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QFN4B5VhK5984ZX7x6bUZQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SJUhyBdVxCZENC4XjuqiHQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bGigGqtfBokWDvJB9Nb2SQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wxR4p3zBAYbJN49h28JWzQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ohReFn2tKnrgyfMomGgyqQ.png" alt="samsung foldable 2026 leaked marketing materials" /><figcaption><small role="credit">Evan Blass</small></figcaption></figure></figure><p>The Z Flip 8 looks exactly as you'd expect, with no meaningful design change compared to the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-hands-on-review-feels-like-flip-phone-perfection">Z Flip 7</a>. Specs don't mention anything about the screens, but we're expecting to see a 4.1-inch cover display and 6.9-inch foldable display inside.</p><p>We're apparently getting a 50MP main camera lens with the same 2x optical quality zoom, a 12MP ultrawide camera and a 10MP selfie camera on the internal screen. The battery is said to be 4,300 mAh, which is the exact same as the Z Flip 7.</p><h2 id="samsung-placing-biggest-bet-on-the-wide-fold-8">Samsung placing biggest bet on the wide Fold 8</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2100px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="UXWN6x4PJvfNn6HCBsU2j4" name="TG_galaxy-z-fold-8_3" alt="Samsung Galaxy Z Fold 8 leaked "official" renders" src="https://cdn.mos.cms.futurecdn.net/UXWN6x4PJvfNn6HCBsU2j4.png" mos="" align="middle" fullscreen="" width="2100" height="1181" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines / Tom's Guide)</span></figcaption></figure><p>This year's Galaxy Unpacked marks the biggest change to the lineup since the release of the <a href="https://www.tomsguide.com/reviews/samsung-galaxy-z-flip-review#:~:text=Inside%20the%20Samsung%20Galaxy%20Z,lot%20of%20room%20to%20spare.">original Galaxy Z Flip </a>back in 2020, thanks to the launch of the wider Galaxy Z Fold 8 model. And Samsung is reportedly quite confident about the Z Fold 8's prospects.</p><p>According to industry sources speaking to <a href="https://www.etnews.com/20260716000040">ET News</a>, Samsung has set a production target of 2.8 million Z Fold 8 units. That's in contrast to the 2 million Z Fold 8 Ultras and 1.5 million Z Flip 8s it has tasked its suppliers to produce. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WnnJKW"></div>                            </div>                            <script src="https://kwizly.com/embed/WnnJKW.js" async></script><p>In other words, this suggests that Samsung anticipates much higher demand for the Galaxy Z Fold 8. It's not entirely clear why, but I suspect that the design might have something to do with it. The shorter stature of the Z Fold 8 might make it more pocketable than the Z Fold 8 Ultra, and more comfortable for a lot of people to use. </p><p>Plus, the Z Fold 8 is supposed to have a similar design to the upcoming <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>. Considering <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-delay-rumors-shot-down-in-new-report-now-apples-first-foldable-phone-may-launch-alongside-iphone-18-pro-after-all">Apple expects big demand for its first foldable phone</a>, it makes sense Samsung would place its biggest bet on this form factor.</p><p>I'm also hoping that the Z Fold 8 will be significantly cheaper than the Z Fold 8 Ultra, which is rumored to have a starting price of $2,099 — <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-could-get-another-usd100-price-hike-this-year-for-the-third-time-in-a-row">$100 more than the Z Fold 7</a>. The regular Fold 8 is tipped to cost $1,899.</p><p>We'll have all the official details and our hands-on impressions during <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked</a> on Wednesday. The event is taking place in London, starting at 9 a.m. ET / 6 a.m. PT / 2 p.m. BST, and we will have live coverage of the entire event.</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/phones/samsung-phones/samsung-galaxy-z-8-preorders-havent-started-yet-but-you-can-save-up-to-usd1-230-right-now-heres-how">Samsung Galaxy Z 8 preorders haven't started yet, but you can save up to $1,230 right now — here’s how</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/im-not-convinced-crease-free-foldables-like-the-galaxy-z-fold-8-actually-matter-prove-me-wrong">I’m not convinced crease-free foldables like the Galaxy Z Fold 8 actually matter. Prove me wrong.</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/every-samsung-device-from-this-months-unpacked-just-leaked-heres-your-full-look-at-the-entire-lineup">Every Samsung device from this month's Unpacked just leaked — here's your full look at the entire lineup</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’m not convinced crease-free foldables like the Galaxy Z Fold 8 actually matter. Prove me wrong. ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/im-not-convinced-crease-free-foldables-like-the-galaxy-z-fold-8-actually-matter-prove-me-wrong</link>
                                                                            <description>
                            <![CDATA[ Samsung may have just eliminated the foldable display crease, but do you actually think that matters? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MJ8nkqG5BxXQTAonqREjDK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 20 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide/Samsung]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Later this week will see Samsung announce the next generation of Galaxy Foldables, and it's already been confirmed that these phones will feature a <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">crease-free "Flex Titanium" display</a> for the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a> and Galaxy Z Fold 8 Ultra.</p><p>This essentially means that Samsung has added extra layers to the display, including a titanium-alloy film and a titanium base plate, which works to reduce crease visibility along the phone.</p><p>The display crease is a major talking point this year, thanks to the impending launch of foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>. Reports claim that Apple has been rather particular about the crease, to the point where it apparently refused to release a creased foldable. But while the crease-free display is being used as a key selling point by Samsung and Apple, I don't actually care that much. My question now is, do any of you?</p><h2 id="my-problem-with-crease-free-displays">My problem with crease-free displays</h2><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/QhSHTJId_Io" allowfullscreen></iframe></div></div><p>To call it a "problem" is a little disingenuous, I don't actually dislike the idea of a crease-free foldable display. It's more a case of I'm not so bothered by the presence of a crease, that I think it's worth devoting an enormous amount of time and resources to try and remove it. </p><p>It's certainly not such a big deal that you should devote everything to destroying it, and <a href="https://www.tomsguide.com/phones/iphone-flip-tipped-to-eliminate-the-biggest-design-flaw-with-foldable-phones-heres-how">delay the release of your device until it happens</a>.</p><p>I get that there are a lot of criticisms about the state of display creases, and have experienced many of them myself. Every foldable I've used has the obvious visual warping along the center of the screen, while many of them also have a noticeable dip when running your finger over it. These problems are irritating and can hamper your experience with a new phone, which is amplified by the fact foldables have such absurdly high price tags.</p><p>But at the same time, this is a display that folds in half, and things that fold tend to crease. It doesn't matter whether we're talking about paper, fabric, or whatever else you might want to fold away, a crease is likely to form. So in my mind, the idea of a crease in a foldable phone is just another fact of life.</p><p>Obviously we've seen material and industrial design improve to the point that display creases have been minimized quite considerably over the past decade. I don't take issue with this, but I do often wonder what hyperfocus on eliminating the crease does for the rest of the phone. I can't help but wonder whether any other upgrades were missed out on because of it, and whether that would have any meaningful impact on use and performance.</p><p>There have been no rumors mentioning the possible return of the S Pen, which was unceremoniously removed from the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> to prioritize thickness. Since stylus support is wholly dependent on the display technology, it feels like the kind of thing Samsung could have been working on instead of trying to produce a crease-free display.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WnnJKW"></div>                            </div>                            <script src="https://kwizly.com/embed/WnnJKW.js" async></script><h2 id="what-do-you-want-to-see-from-the-z-fold-8-and-unpacked">What do you want to see from the Z Fold 8 and Unpacked?</h2><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="ngZMgfaiWEGHUBvc59jg8R" name="Galaxy Unpacked 2026 invite" alt="Samsung Galaxy Unpacked invite" src="https://cdn.mos.cms.futurecdn.net/ngZMgfaiWEGHUBvc59jg8R.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 / Samsung)</span></figcaption></figure><p>That said, the rumors suggest that Samsung is putting a lot of effort into adding upgrades for the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Z Fold 8 Ultra</a> — compared to last year's Galaxy Z Fold 7 flagship. Rumors suggest we'll see a bigger battery, a significantly more powerful chipset, faster charging, and possibly even a slimmer design. So it's not like reducing the display crease has come at the cost of other important upgrades.</p><p>Obviously I am the kind of person that is immersed in the world of phones almost constantly. My views on what Samsung is doing are going to be very different to the average foldable phone fan that's hoping to buy a Galaxy Z Fold 8 or Z Fold 8 Ultra for themselves.</p><p>So what do you think about the display crease? Is eliminating it something you desperately want to see, or would you rather Samsung focus its efforts in other areas — just like me. Drop us a comment below, and tell us what you want to see from Galaxy Unpacked when things kick off later this week.</p><p>Considering we are expecting to see three foldables at this year's summer Unpacked, alongside two new smartwatches, this is shaping up to be one of the biggest Galaxy foldable launch events in a long time.</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/phones/iphones/ios-27-just-upgraded-a-hidden-imessage-feature-in-a-bunch-of-incredible-ways-heres-how-it-works">iOS 27 just upgraded a hidden iMessage feature in a bunch of incredible ways — here's how it works</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-maxs-biggest-upgrade-may-have-just-been-confirmed-and-its-a-photography-game-changer">iPhone 18 Pro Max's biggest upgrade may have just been confirmed, and it's a photography game changer</a></li><li><a href="https://www.tomsguide.com/ai/google-gemini/i-hate-paying-for-calorie-tracking-apps-so-i-had-gemini-analyze-my-food-photos-instead-heres-what-it-found">I hate paying for calorie-tracking apps, so I had Gemini analyze my food photos instead — here’s what it found</a></li></ul><div class="block__comparison"><h3></h3><div class="comparisons"><div class="comparison"><h4></h4><ul></ul></div><div class="comparison"><h4></h4><ul></ul></div></div></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 Ultra last-minute rumors: Release date, price, specs and all the biggest upgrades ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-last-minute-rumors-release-date-price-specs-and-all-the-biggest-upgrades</link>
                                                                            <description>
                            <![CDATA[ The Samsung Galaxy Z Fold 8 Ultra is coming with a crease-free display, bigger battery and a higher price. Here's everything we know so far. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cv8vobCfQKZBgeELRfiCGH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 19 Jul 2026 11:12:24 +0000</pubDate>                                                                                                                                <updated>Wed, 22 Jul 2026 11:36:09 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alan Martin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xMmhmPSssqZHHFWveDgSs7.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/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Android Headlines]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><em><strong>Update</strong></em><em>: check out our </em><a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live"><em>Samsung Galaxy Unpacked live blog</em></a><em> for all the big Galaxy Z Fold 8 news as it happens. </em></p><p>This summer will see the eighth generation of Samsung’s foldables. But this time around, the Korean giant will be shaking things up with a new ‘Ultra’ variant of its flagship foldable <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a>.</p><p>The Samsung Galaxy Z Fold 8 Ultra follows in the footsteps of the company’s Galaxy S Ultra line, offering improved specs for those willing to pay top dollar. Based on the rumors, we expect a brighter display with a dramatically reduced crease, an upgraded ultra-wide camera, bigger battery and more. But a price hike is also rumored.</p><p>Here’s what we know about the Galaxy Z Fold 8 Ultra so far, and where it improves on the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Samsung Galaxy Z Fold 7</a>.</p><h2 id="samsung-galaxy-z-fold-8-ultra-specs-rumored">Samsung Galaxy Z Fold 8 Ultra specs (rumored)</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Samsung Galaxy Z Fold 8 Ultra </strong></p></td><td  ><p><strong>Samsung Galaxy Z Fold 7</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $2,099 </p></td><td  ><p>From $1,999 </p></td></tr><tr><td class="firstcol " ><p><strong>Cover display</strong></p></td><td  ><p>6.5-inch AMOLED (2520 x 1080, 120Hz)</p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 120Hz) </p></td></tr><tr><td class="firstcol " ><p><strong>Main display</strong></p></td><td  ><p>8-inch AMOLED (2504 x 2256, 120Hz)</p></td><td  ><p>8-inch AMOLED (2184 x 1968, 120Hz) </p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5</p></td><td  ><p>Snapdragon 8 Elite </p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB (16GB for 1TB)</p></td><td  ><p>12GB (16GB for 1TB)</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB/512GB/1TB</p></td><td  ><p>256GB/512GB/1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>4,400 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>200MP main, 50MP ultrawide, 10MP telephoto with 2x optical zoom</p></td><td  ><p>200MP wide (f/1.7), 12MP ultra-wide (f/2.2), 10MP telephoto (f/2.4, 3x optical, 30x space zoom) </p></td></tr><tr><td class="firstcol " ><p><strong>Front camera</strong></p></td><td  ><p>10MP selfie (cover and main)</p></td><td  ><p>10MP (f/2.2) </p></td></tr><tr><td class="firstcol " ><p><strong>Charging Speed</strong></p></td><td  ><p>45W</p></td><td  ><p>25W</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>161.1 12.39 x 4.5 (unfolded)</p></td><td  ><p>158.4 × 143.2 × 4.2 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Graphite, Cream, Violet Shadow, Green Shadow</p></td><td  ><p>Blue Shadow, Silver Shadow, Jet Black</p></td></tr></tbody></table></div><h2 id="samsung-galaxy-z-fold-8-ultra-release-date-and-price">Samsung Galaxy Z Fold 8 Ultra release date and 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:1154px;"><p class="vanilla-image-block" style="padding-top:67.50%;"><img id="xq9adVGvW6BMhS6PBwwhXK" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/xq9adVGvW6BMhS6PBwwhXK.jpg" mos="" align="middle" fullscreen="" width="1154" height="779" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>Samsung has already announced that its next Galaxy Unpacked event <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-8-preorders-havent-started-yet-but-you-can-save-up-to-usd1-230-right-now-heres-how">will be on Wednesday, July 22</a>. While the company doesn’t reveal what’s coming in advance, various <a href="https://www.tomsguide.com/phones/samsung-phones/every-samsung-device-from-this-months-unpacked-just-leaked-heres-your-full-look-at-the-entire-lineup">leaks have shown it to be new foldables and wearables</a>, with the Samsung Galaxy Z Fold 8 front and center. It’s unlikely to be available to buy immediately, with the Z Fold 7 launching 16 days after being announced, so expect a release date between August 5-7.</p><div class="product"><a data-dimension112="5b0e445e-835f-11f1-8197-97f5b5768e8c" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1731px;"><p class="vanilla-image-block" style="padding-top:87.41%;"><img id="sdADwvvhPbZLgf6c5tWNmQ" name="Screenshot 2026-07-15 104549" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sdADwvvhPbZLgf6c5tWNmQ.png" mos="" align="middle" fullscreen="" width="1731" height="1513" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow" data-dimension112="5b0e445e-835f-11f1-8197-97f5b5768e8c" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$">View Deal</a></p></div><p>Samsung foldables have always been expensive. A combination of the Ultra upgrades and <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">ongoing AI-driven component price inflation</a> make the Galaxy Z Fold Ultra price rumor of $2,099 seem legit. That would be $100 more than the Galaxy Z Fold 7. That will get pricier if you want more storage space and RAM.</p><h2 id="samsung-galaxy-z-fold-8-ultra-design-and-displays">Samsung Galaxy Z Fold 8 Ultra design and displays</h2><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="4d6G4N7sz3jDp9knTCbZ68" name="Z Fold 8 Ultra vs Z Fold 8" alt="Renders of Galaxy Z Fold 8 Ultra and Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/4d6G4N7sz3jDp9knTCbZ68.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: Android Headlines)</span></figcaption></figure><p>While the non-Ultra variant of the Samsung Galaxy Z Fold 8 will boast a new shorter and wider format, the Ultra model sticks with familiar dimensions of the past few models. That means a 6.5-inch cover screen that opens up to an 8-inch tablet-style canvas on the inside.</p><p>But look a little closer, and you should see some changes. For starters, it’s a tiny bit thinner, with <a href="https://winfuture.de/news,159995.html" target="_blank">WinFuture</a> suggesting a thickness of just 4.1mm when unfolded (down 0.1mm from the current model). </p><p>More importantly, Samsung has addressed a long-running complaint about foldables: the crease. This year, Samsung has made real progress in making said crease invisible while improving the toughness via a new material called “Flex Titanium”. Our global editor-in-chief, Mark Spoonauer, has <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">seen the new tech first hand</a>, and was enormously impressed. “I almost didn’t believe my eyes at first,” he wrote.</p><p>Another rumor points to the Galaxy Z Fold 8 Ultra's internal display featuring an <a href="https://www.sammobile.com/news/galaxy-z-fold-8-ultra-display-5-upgrades-over-z-fold-7/#goog_rewarded">anti-glare coating and a brightness of 3,000 nits</a> (up from 2,600 nits on the Fold 7). So it should be much easier to use the Z Fold 8 Ultra in direct sunlight.</p><p>While the internal screen is still eight inches diagonally, the resolution has been increased from 2,184 x 1,968 to 2,504 x 2,256, according to <a href="https://winfuture.de/news,159995.html" target="_blank">WinFuture’s reporting</a>. That should make things noticeably sharper for consuming content on the tablet-sized screen. The cover display is an unchanged 6.5-inch 2,520 x 1,080 canvas, and both support 120Hz refresh rates.</p><h2 id="samsung-galaxy-z-fold-8-ultra-performance">Samsung Galaxy Z Fold 8 Ultra performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1731px;"><p class="vanilla-image-block" style="padding-top:87.41%;"><img id="sdADwvvhPbZLgf6c5tWNmQ" name="Screenshot 2026-07-15 104549" alt="samsung galaxy z fold 8 & fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/sdADwvvhPbZLgf6c5tWNmQ.png" mos="" align="middle" fullscreen="" width="1731" height="1513" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headline)</span></figcaption></figure><p>The main internals of the Galaxy Z Fold 8 Ultra shouldn’t be a huge surprise. As usual, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">Samsung will be incorporating Qualcomm’s latest flagship Snapdragon chipset to power things</a>. This time it will be the same Snapdragon 8 Elite Gen 5 ‘For Galaxy’ as seen in the Samsung Galaxy S26 Ultra. Here’s how that phone compares to the Galaxy Z Fold 7:</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>3,052 / 9,735</p></td><td  ><p>41.2 fps / 10,812</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563 </p></td><td  ><p>49.37 fps / 12,984</p></td></tr></tbody></table></div><p>Like the Z Fold 7, it’s 12GB of RAM for Galaxy Z Fold 8 Ultra handsets with 256GB or 512GB. If you want 16GB RAM, you’ll need to splurge for the 1TB model. Given the current high price of both storage and RAM, that might be a bigger expense than usual.</p><p>Assuming our base price rumor is correct and that Samsung will stick with the same cost of upgrades as with the S26 Ultra, a 16GB/1TB Z Fold 8 Ultra could come to $2,599.</p><h2 id="samsung-galaxy-z-fold-8-ultra-cameras">Samsung Galaxy Z Fold 8 Ultra cameras</h2><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="T4zk9r57nDefBdEWXnNHUK" name="Galaxy Z Fold 8 and Wide" alt="Galaxy Z Fold 8 render next to Galaxy Z Fold Wide render" src="https://cdn.mos.cms.futurecdn.net/T4zk9r57nDefBdEWXnNHUK.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: Android Headlines / Ice Universe)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 8 Ultra’s rear camera setup is a mixed bag, with only one major rumored upgrade compared to its predecessor. </p><p>To recap, the Samsung Galaxy Z Fold 7 featured a 200MP wide (f/1.7) main camera, a 12MP ultra-wide (f/2.2) snapper, and a 10MP telephoto (f/2.4, 3x optical, 30x space zoom) lens. </p><p>While we don’t have exact aperture specs, Z Fold 8 Ultra leaks suggest that the 200MP wide and 10MP 3x telephoto lens are staying, with only the ultrawide camera getting an upgrade. It’s a big improvement, though, with the megapixel count leaping from 12MP to 50MP.</p><p>But generally, the ‘Ultra’ branding here seems to be achieved via comparison to the regulare Z Fold 8 model. It’s <a href="https://www.notebookcheck.net/Leaked-Samsung-Z-Fold-8-Ultra-and-Z-Flip-8-promotional-materials-confirm-battery-capacities-and-camera-specifications.1345651.0.html" target="_blank">rumored to feature just two cameras: a 50MP wide lens and a 50MP ultrawide</a>.</p><h2 id="samsung-galaxy-z-fold-8-battery-life-and-charging">Samsung Galaxy Z Fold 8 battery life and charging</h2><p>There is some positive news for the Galaxy Z Fold 8's battery life. While the Galaxy Z Fold 7 has a 4,400mAh cell, the Z Fold 8 Ultra is reportedly getting an upgrade to 5,000mAh thanks to silicon carbon technology.</p><p>When the time comes, the Galaxy Z Fold 8 Ultra will charge faster, with <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-tipped-for-a-major-charging-upgrade-iphone-fold-should-take-notes">45W charging instead of the 25W found on the older model</a>. </p><h2 id="samsung-galaxy-z-fold-8-ultra-outlook">Samsung Galaxy Z Fold 8 Ultra outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:67.50%;"><img id="3SX2vvAX9zpmxQD6YjwfXK" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/3SX2vvAX9zpmxQD6YjwfXK.jpg" mos="" align="middle" fullscreen="" width="1154" height="779" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>Does Samsung’s upcoming flagship do enough to justify its rumored ‘Ultra’ branding? Based on what we’ve seen so far, just about. The upgrades to battery capacity, charging speeds, and ultrawide camera are all positive. The biggest upgrade comes with the display with a nearly crease free design, much brighter panel and anti-glare coating. </p><p>Galaxy Z Fold 7 owners might be jealous of some of these improvements, but anyone who owns an older foldable — or those who have never tried one — will likely be tempted by the Galaxy Z Fold 8 Ultra. Stay tuned for our hands on impressions and full Galaxy Z Fold 8 Ultra review. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ LG C6 vs Samsung S90H: After testing both, here’s the OLED TV to buy ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/lg-c6-vs-samsung-s90h-after-testing-both-heres-the-oled-tv-to-buy</link>
                                                                            <description>
                            <![CDATA[ The LG C6 and the Samsung S90H are two of the best OLED TVs of 2026. Here's how they compare — from performance to features and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">77SgfVGsQgKJ5EJf3gzySi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fdZE54rMngDZ24gneTENX9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 18 Jul 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/fdZE54rMngDZ24gneTENX9-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:description>                                                            <media:text><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:text>
                                <media:title type="plain"><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fdZE54rMngDZ24gneTENX9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</a> is the latest in a long line of perennially popular, mid-range OLED TVs. It offers the exceptional performance we've come to expect from an LG OLED TV along with a class-leading selection of gaming- and streaming-related features. </p><p>As a Samsung-branded, mid-range OLED TV, the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a> is the C6's top rival. Its price, performance and size availability is similar to that of the C6, but its overall design is quite different.</p><p>If you're in the market for an OLED TV this year, and you're willing to spend on something above the entry-level tier, the C6 and S90H are two of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> to consider. Here's how they stack up when it comes to performance, design and features.</p>        <div class="featured_product_block featured_block_versus" data-id="e3444d30-81ef-11f1-a745-4d7465a4c5d1">            <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review" data-model-name="LG C6 OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yZJJv6Rpskz5oXrVozrW7o.jpg" alt="The LG C6 OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">LG C6</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>As the brand's newest mid-range OLED TV, the LG C6 delivers an excellent blend of performance and value. Its picture quality is roughly on par with the Samsung S90H and the two TVs are similar in price, so the biggest differences come down to the C6's Dolby Vision support and its glossy-style screen.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="e3444db2-81ef-11f1-855d-1bd1bf5fce3f">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</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>The S90H is Samsung's newest mid-range OLED, and its performance, size availability and features are similar to the LG C6. Unlike the C6, the S90H comes with a matte-style finish to combat direct glare, so people with bright light sources in their room may prefer the S90H. Unfortunately, it doesn't support Dolby Vision.</p></p>                </div>                            </div>        </div><h2 id="lg-c6-vs-samsung-s90h-specs-compared">LG C6 vs Samsung S90H: specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>42", 48", 55", 65"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>webOS 26</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>a11 AI Processor 4K Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Before we dive into the rest of the specs, let's discuss size availability. The LG C6<em> is </em>available in in 77- and 83-inch screen sizes, but these variants are classified as an altogether different model called the LG C6H. This means if you want a 77- or 83-inch LG C6, you'll technically have to buy the C6H.</p><p>We've not yet tested the 77- or 83-inch versions of the C6H, but LG promises better performance on these sets due to the fact that they leverage LG Display's newest RGB Tandem OLED display. This type of OLED panel allows for higher brightness and better color volume than the standard WOLED displays found on the 42- to 65-inch versions of the C6.</p><p>One of the biggest differences between these sets concerns HDR support. Like all LG OLED TVs, the C6 supports Dolby Vision, a licensed version of enhanced HDR.</p><p>The S90H <em>does not</em> support Dolby Vision. No Samsung TV does. Instead, it offers HDR10+, a royalty-free version of Dolby Vision that uses metadata to adjust the picture on a scene-by-scene basis, similar to Dolby Vision.</p><p>You'll still be able to watch Dolby Vision content on the S90H, and it'll certainly look great, but without Dolby Vision support, the S90H won't be optimized to replicate the creator's intent on Dolby Vision-mastered movies and shows . (To learn more check out our guide to <a href="https://www.tomsguide.com/tvs/do-you-actually-need-dolby-vision-on-your-next-tv-heres-the-answer">whether or not you need Dolby Vision</a>.)</p><p>Neither one of these OLED TVs supports ATSC 3.0, which supports native 4K over-the-air broadcasting. However, both sets offer a full slate of four HDMI 2.1-compatible inputs, along with support for 4K gaming at 120Hz (and up to 165Hz when a PC is linked up).</p><p>It's close, but the C6's Dolby Vision support gives it an edge..</p><p><em><strong>Winner: </strong></em><em>LG C6</em></p><h2 id="lg-c6-vs-samsung-s90h-design">LG C6 vs Samsung S90H: design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="4hk6YBsm54ZTtJ2tU5FFSi" name="LG-C6--9" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/4hk6YBsm54ZTtJ2tU5FFSi.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Given their performance similarities, I suspect that the design differences between the C6 and the S90H will inform many people's choice about which to buy.</p><p>The C6 (seen above) looks remarkably similar to its predecessor, the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c5-oled-tv-review">LG C5</a>. That's not a bad thing, as both the C5 and C6 are quite sleek.</p><p>The C6's wedge-shaped stand sits below the center of the screen. The stand isn't very tall, so people with larger soundbars should make sure that their device won't obstruct the screen.</p><p>Every size in the C6 series ships with the newest version of LG's remote control. Like previous iterations, this remote features Wii-mote-like motion controls for pointing and clicking. (If you don't want to use this feature, the remote's directional pad can override the motion 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.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>Like the C6, the S90H — the back of which you can see above — also leans into the ultra-thin look that OLED TVs are typically associated with. (It doesn't, however, feature a unique, marble-like design on the back of its panel like LG's OLED.)</p><p>The C6's stand is a flat plate rather than a wedge-shaped piece, and it lifts the S90H slightly higher above its surface than the C6's stand. If your soundbar is extra tall, you might want to take a closer look at the S90H.</p><p>Samsung's Solar Cell remote control is included in the box, and while I'm annoyed at its lack of a dedicated input button, I do appreciate the fact that it charges by way of a solar panel on its back. It really cuts down on battery waste.</p><p>Unlike its predecessor (the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90f-oled-tv-review">S90F OLED</a>), the S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p><div><blockquote><p>The S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p></blockquote></div><p>In average-to-well-lit rooms, the S90H's matte finish significantly lifts the picture's black levels. Big, bold reflections will disappear, but the light from those sources will scatter across the display. When this happens, the darker portions of the screen can appear purplish-gray and lose the deep, inky presentation that many people associate with OLED picture quality.</p><p>The C6's glossy screen isn't as adept at fighting direct glare, but it maintains the inky OLED patina in well-lit environments. With the lights off, both presentations look similar.</p><p>Depending on your living space and viewing habits, you'll likely prefer one of these designs over the other. Folks who are concerned about reflecting light ought to favor the S90H's matte-style screen, and viewers without competing light sources will likely prefer the C6's glossy screen.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-performance">LG C6 vs Samsung S90H: performance</h2><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="mU4CinhJF5ZAXBVzLJxM2o" name="Samsung-55-inch-S90H--1-LIST" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/mU4CinhJF5ZAXBVzLJxM2o.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>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were in their respective Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>LG C6</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>355</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>1.5</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>1,355</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.77%</p></td><td  ><p>109.61%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>75.92%</p></td><td  ><p>77.83% </p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.1</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>As much as I'd love to regale you with a multi-point breakdown of the many ways in which the performance of these rival sets diverge, the truth of the matter is that they're almost the same TV.</p><p>Both deliver the key benefits that OLEDs are known for: perfect black levels, pixel-level dimming and ultra-wide viewing angles. Given these benefits, pretty much everything looks terrific on the C6 and S90H.</p><p>The C6 is slightly brighter during SDR content (like cable TV and most TV shows), but it's close enough in this category that it almost doesn't matter. Ditto for HDR content, too — the S90H offers slightly brighter HDR performance, but in normal viewing scenarios, the difference is barely noticeable.</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="jg7j6rWsv5fcAUR3h2qbTi" name="LG-C6--2" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/jg7j6rWsv5fcAUR3h2qbTi.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><div><blockquote><p>They're almost the same TV.</p></blockquote></div><p>When it comes to color, these OLEDs are neck and neck, too: The S90H's marginally higher brightness allows for a wider range of color, but — and stop me if you've heard this one before — <em>the difference is too subtle to matter</em>.</p><p>The story here would've been different if Samsung had outfitted the S90H with a quantum dot-enhanced OLED display, just as last-year's S90F did. With quantum dots in tow, the S90H would likely produce a much wider range of colors. Unfortunately, with WOLED panels in play, Samsung's mid-range OLED has lost a step to LG's this year.</p><p>Nevertheless, home theater enthusiasts will be thrilled to learn that both sets are remarkably accurate in their out-of-the-box state. You won't have to shell out for a professional calibration in order to enjoy a precise picture.</p><p>Both of these TVs look fantastic. However, even in a direct, side-by-side comparison, their differences are subtle.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-smart-platform-and-features">LG C6 vs Samsung S90H: smart platform and 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:1805px;"><p class="vanilla-image-block" style="padding-top:56.18%;"><img id="sdYXGmHMCP7u9WFkt43kRi" name="LG-C6--8" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/sdYXGmHMCP7u9WFkt43kRi.jpg" mos="" align="middle" fullscreen="" width="1805" height="1014" attribution="" endorsement="" class="inline"></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 C6's user experience is built around the latest version of LG's webOS. Dubbed webOS 26, it's a similar experience to the version we tested last year, but a handful of small changes to the interface make it a bit easier to navigate. </p><p>While I'm always in favor of software improvements, webOS still isn't my top choice for daily streaming on account of its heavy ad placement and occasional slow-down. Still, webOS will get the job done if you'd rather not deal with a separate streaming box.</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="nBeHybaXXUBc2u2Sz2EC6o" name="Samsung-55-inch-S90H--14" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/nBeHybaXXUBc2u2Sz2EC6o.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: Tom's Guide)</span></figcaption></figure><p>Samsung's Tizen-based streaming platform, Smart Hub, has similarly seen some subtle improvements year over year. For instance, there's now a quick-access menu at the top of most of the pages on the home screen, and its convenient placement makes it easier to access often-used settings.</p><p>Unless you favor LG's software over Samsung (or vice versa), both of these user experiences are on a similar level when it comes to sponsored content and navigation speed.</p><div><blockquote><p>Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. </p></blockquote></div><p>And, as far as gaming features go, the similarities continue. Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. With a gaming PC hooked up, you can stretch that to 4K/165Hz on both sets.</p><p>In addition, both the C6 and S90H support Variable Refresh Rate (VRR), Auto Low Latency Mode (ALLM) and a version of AMD FreeSync Premium for smooth, tear-free gameplay.</p><p>We've already factored in the S90H's lack of Dolby Vision support, and once you set this aside, these TVs offer essentially the same set of features and ehancements.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-verdict">LG C6 vs Samsung S90H: verdict</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>94</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>Regardless of which set you settle on, you're getting equally impressive performance and a near-identical selection of features. That said, the LG C6 is the OLED TV I recommend for most people. Its glossy screen is less divisive and the S90H's lack of Dolby Vision support is likely to be a sticking point for a certain type of viewer.</p><p>That said, you should consider the S90H if your living space and viewing habits are such that you'd make the most of its matte-style screen (or if you'd rather have Samsung's software suite).</p><p>Price is less of a factor in this matchup since both TVs are similarly priced. The <a href="https://www.bestbuy.com/product/lg-65-class-c6-series-oled-evo-ai-4k-smart-webos-tv-2026/JJ8VPZKZ8H" target="_blank" rel="nofollow">65-inch LG C6 is on sale for $1,799 at Best Buy</a> and the <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch Samsung S90H is currently $1,999 at Best Buy</a>. These prices will fluctuate in the coming weeks and months, but I don't expect them to stray too far from one another.</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/oled-tvs/lg-c6-oled-review">LG C6 OLED review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Samsung's S90H — and it's a great glare-free OLED TV for the money ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review</link>
                                                                            <description>
                            <![CDATA[ This OLED offers excellent images and respectable audio, but if you don’t mind glossy screens, you'll give up only a little and save a lot with the company's current S85H or last year's S90F models. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jBbi6U2uw267yGoGWDSHRX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mU4CinhJF5ZAXBVzLJxM2o-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 11:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 16 Jul 2026 14:52:57 +0000</updated>
                                                                                                                                            <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sean Captain ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/JSRB2JCTkfMBLNXxfjg5G9.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/mU4CinhJF5ZAXBVzLJxM2o-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung OLED S90H 4K TV on a desk]]></media:description>                                                            <media:text><![CDATA[Samsung OLED S90H 4K TV on a desk]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung OLED S90H 4K TV on a desk]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mU4CinhJF5ZAXBVzLJxM2o-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">SAMSUNG S90H: SPECS</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Price: </strong>$1,599<br><strong>Screen size: </strong>55-inch<br><strong>Resolution: </strong>3,840 x 2,160<br><strong>HDR: </strong>HDR10+, HDR10+ Adaptive, HDR10+ Gaming, HDR10, HDR10+ Advanced, HLG<br><strong>Refresh rate: </strong>Up to 165Hz (VRR support)<br><strong>Ports: </strong>4 HDMI 2.1 up to 4K/165Hz (one with eARC), 3 USB-A, optical digital audio out, LAN, RF-in (ATSC 1), EX-LINK (RS-232C)<br><strong>Audio: </strong>2.1-channel, 40W (Dolby Atmos, OTS Lite, Q-Symphony)<br><strong>Smart TV software: </strong>One UI Tizen with Samsung Vision AI<br><strong>Size (without stand): </strong>48.2 × 1.6 × 27.9 inches (W×D×H)<br><strong>Weight (without stand): </strong>32.2 lbs</p></div></div><p>OLED panel prices have been coming down (for now), while brightness levels have been coming up…at least when we’re talking about the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs"><u>best OLED TVs</u></a>. Samsung’s S90H series exemplifies that progress, with bright images, an anti-glare screen, and strong dynamic range, even in a moderately lit room. </p><p>That accomplishment comes alongside the traditional strengths of OLED — deep blacks, rich (and in this case, accurate) color, and screens measuring just a few millimeters thick. This TV is well-equipped for gaming, too, with inconsequential input lag through the latest high-throughput HDMI ports.</p><p>The biggest challengers to Samsung's S90H line may be its own, cheaper siblings: the impressive new S85H and last year's excellent <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90f-oled-tv-review"><u>S90F</u></a>, which were $600 to $1000 cheaper, at press time, based on discounts. Those are two of the <a href="https://www.tomsguide.com/best-picks/best-samsung-tvs"><u>best Samsung TVs</u></a>, and if you don’t need the new anti-reflective matte screen, those other options deliver a lot of the same features at a more affordable price.</p><h3 class="article-body__section" id="section-samsung-s90h-review-pricing-and-availability"><span>Samsung S90H review: Pricing and availability</span></h3><p>The S90H is Samsung’s mid-range OLED for 2026 that sits between the entry-level <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s85h-oled-review"><u>Samsung S85H</u></a> (which we just awarded four stars) and the flagship <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review"><u>Samsung S95H</u></a> (which just earned five). The 55-inch S90H model we reviewed lists for $1,999, and is often discounted at samsung.com and at various retailers like Amazon for $1,797. </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="LaiA87FXc4yqxiLgxHww6o" name="Samsung-55-inch-S90H--6" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/LaiA87FXc4yqxiLgxHww6o.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>Other S90H sizes and list prices are: 42-inch ($1,297), 48-inch ($1,397), 65-inch ($1,997), 77-inch ($2,997), and 83-inch ($4,497).</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="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.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 step-up S95H lists at $2,299 for a 55-inch screen and adds a brushed-metal frame, Art Store access for using it as a digital picture frame, and powerful OTS+ (70W, 4.2.2-channel) audio. The step-down S85H lists for $1,399; it trades the Samsung Glare Free screen for a standard OLED panel and downgrades audio and gaming features to lower price.</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="a2SquYyZmbZHKnGTqsXJen" name="Samsung-55-inch-S90H--17" alt="A side view of the screen on a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/a2SquYyZmbZHKnGTqsXJen.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 S90H’s primary competition outside Samsung is the identically priced (at 55 inches) <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review"><u>LG C6 OLED</u></a>. (We reviewed the 65-inch version, which lists for $2,699.) Another close rival is the <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review"><u>Sony Bravia 8 II</u></a>, which features PlayStation-specific integrations. (The 55-inch model lists for $2,599; we tested the 65-inch, $3,299 version.) </p><h3 class="article-body__section" id="section-samsung-s90h-review-design"><span>Samsung S90H review: Design</span></h3><p>The S90H exemplifies the ultra-minimalist panel aesthetic of the day. Its barely-there bezel leaves no room for branding. Without the bulky backlight required for LCD sets, the panel is also incredibly thin, at about 0.15 inches. The bottom-half of the TV protrudes to accommodate all the internals, for a maximum thickness of 1.6 inches.</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="BANh8SWSm6eE5V8364uw7o" name="Samsung-55-inch-S90H--19" alt="The pedestal of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/BANh8SWSm6eE5V8364uw7o.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 one unsubtle feature is a beefy central pedestal stand, with a faux-pewter "Space Titan" plastic finish. Of course, such a thin set is ideal for wall-mounting, using screw holes aligned in the VESA-standard 300mm × 200mm rectangular pattern. The exceptionally petite power cord connector on the back right-side of the TV is well-suited for streamlined mounting.</p><p>Even better, because of the new anti-glare screen, you don't have to be careful around windows — it's perfectly capable of dispersing large amounts of light (though you will notice slightly raised black levels as a tradeoff). </p><h3 class="article-body__section" id="section-samsung-s90h-review-ports"><span>Samsung S90H review: Ports</span></h3><p>The TV is brimming with high-end connections — all on the left side of the panel, when viewed from behind. Chief among them: a quartet of HDMI 2.1 inputs. They support the highest-grade input: up to 4K/120Hz for sources such as the PS5, Xbox Series X, and many gaming PCs; and up to 4K/165Hz for the most-capable game PCs. The TV supports both NVIDIA G-Sync and AMD FreeSync Premium Pro variable refresh rate (VRR) standards. </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="nGmBVZw5ar4ewLQQZoFxAo" name="Samsung-55-inch-S90H--15" alt="The ports on a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/nGmBVZw5ar4ewLQQZoFxAo.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>HDMI port 3 supports eARC, which can output high-end digital audio signals to a soundbar or home-theater system. The S90H can decode Dolby Atmos for its built-in sound system or output the signal via the eARC port. It also features a standard optical digital audio S/PDIF output.</p><p>Every other type of connection is also present: 3 USB-A ports, LAN for a wired network connection, and RS-232C (which Samsung calls EX-LINK) for access by professional technicians or calibrators. The latter two are basically vestigial organs on consumer TVs these days. You can attach a cable or satellite box or a terrestrial antenna via the RF-in port. </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="wmMwcB6HQnrjBpT72Cg96o" name="Samsung-55-inch-S90H--16" alt="The ports on a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/wmMwcB6HQnrjBpT72Cg96o.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>Terrestrial signals are routed to an older-style ATSC 1 tuner that doesn't support new ATSC 3.0 NextGen broadcast standards for 4K resolution, HDR, and wider color gamuts. (These limitations don't apply if you are using other sources, such as modern cable or streaming services.) Its Bluetooth 5.3 and Wi-Fi 6E wireless capabilities are not the latest either, but are more than adequate.</p><h3 class="article-body__section" id="section-how-we-test"><span>How we test</span></h3><p>We follow a standard testing protocol for every TV we review at Tom’s Guide. Our benchmarks include a series of technical and subjective tests designed to rate the set’s performance. For our technical tests, we set the TV to Filmmaker mode (usually the most accurate out of the box) and take measurements using a Jeti spectraval 1501-HiRes spectroradiometer, a Klein K10-A colorimeter, a Murideo 8K-SIX-G Metal pattern generator, and <a href="https://www.portrait.com/calman-home/"><u>Portrait Displays’ Calman TV-calibration software</u></a>. We also use a Leo Bodnar 4K Video Signal Lag Tester for determining the TV’s gaming prowess.</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="9jX22Y9iuym7C4axHww68o" name="Samsung-55-inch-S90H--11" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/9jX22Y9iuym7C4axHww68o.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>Subjective tests vary based on the reviewer but usually include anecdotes from a diverse selection of movies, TV shows, and other content. For a more detailed look, check out our “<a href="https://www.tomsguide.com/us/how-we-test-tvs,review-2478.html"><u>How we test TVs</u></a>” page.</p><h3 class="article-body__section" id="section-samsung-s90h-review-performance"><span>Samsung S90H review: Performance</span></h3><p>I zeroed in on the is-it-worth-it question by evaluating the S90H vs S85H. Long story short: They are very close, with the S90H standing out a little in HDR quality and more in sound quality.</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="pBLEfoyiUMSrziwZojdb8o" name="Samsung-55-inch-S90H--10" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/pBLEfoyiUMSrziwZojdb8o.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>Visually, in a moderately lit room, there were only slight differences between the two models. The S90H's higher brightness helped a tad, and skintones were perhaps a bit too warm on the S85H, but I had to squint to make out any of these differences. </p><p>I love "Bridgerton" (Season 1, Ep 3, 17:00-19:00) for testing TVs. It spans a wide range of lighting from brilliant sunshine to dim interiors (rendered in HDR10+), a riot of bright but not garish colors, and the show's hallmark variety of skin tones. The S90H handled the material as well as any TV I have tested. In the deeper shadows, the S90H showed a noticeable improvement over the S85H in clarity — point to the S90H.</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="khrPvvqvt27QKbyTgGfZ8o" name="Samsung-55-inch-S90H--9" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/khrPvvqvt27QKbyTgGfZ8o.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>Turning on Ariana Grande's "<a href="https://youtu.be/v1t4MTqdfyI?si=E_K0QjjDKgXOCRPd"><u>hate that i made you love me</u></a>," on YouTube showed some other slight differences. For instance, I could see a tad more detail in the wheels of the upturned, burning car, or in Grande's face against various fire scenes. I did not see a clear difference with the S90H's glare-free screen technology in my moderately-lit test environment — but in rooms with uncontrollable ambient light, it's going to make a world of difference.</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="M79zQxVBgVMFEYLUetsB6o" name="Samsung-55-inch-S90H--8" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/M79zQxVBgVMFEYLUetsB6o.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>Of course, we can’t talk about the S90H without talking about its AI features — Samsung has gone all-in for AI enhancement, powered by its NQ4 AI Gen3 processor. AI Mode is on by default for both video and audio. The audio effects are subtle. The video ones can be dramatic. Sometimes AI Mode produces a little extra clarity; often, it just makes everything super-bright and slightly blue-tinted (which increases the perception of brightness). For bright videos in a bright room, you won't notice it too much. With higher grade content, it can be a detriment.</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="FvB4QdXQBM6SELmQsosW4o" name="Samsung-55-inch-S90H--7" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/FvB4QdXQBM6SELmQsosW4o.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 liked Samsung's AI enhancement in my review of its <a href="https://www.tomsguide.com/tvs/qled-tvs/samsung-qn70f-neo-qled-tv-review"><u>QN70F Neo QLED TV</u></a> because it made up for the TVs shortcomings, such as murkiness in HDR content like "Dune" or "Stranger Things," but here it can actually make the image worse.</p><p>For example, AI Mode was rather brutal for the HDR-10 "Blade Runner 2049" Blu-ray (Chapter 5). It did maintain strong blacks, but it also blew out (and blue-d out) some scenes. This could help in a very bright room. But for film-night viewing, the set's Filmmaker mode preserved the nuance of Denis Villeneuve's vision (even though this TV doesn't support the Dolby Vision standard for image fidelity). </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="xnrPPyRF9PpLCmZSR3DN4o" name="Samsung-55-inch-S90H--3" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/xnrPPyRF9PpLCmZSR3DN4o.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 find Filmmaker mode too dim, you can get similar quality and a bit more brightness in the adjacent Movie mode. I had no choice but to use it when watching the extremely dim night scenes in the "Sinners" Blu-ray. Eco was also a good, even brighter, option. But AI Mode made a bright, blue mess of it.</p><p>When I turned off AI Mode, the TV defaulted into the Eco Mode, which was the right choice for most content. It produced the best colors across most content types, and it was certainly the best for displaying photos. In a challenging picture I took of three women sitting before a fountain on a brilliant day, the S90H captured colors with subtle accuracy and toned down a heavily overexposed portion of the image about as well as can be expected. </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="FYEVfWA3SvfGhSAYDMCY4o" name="Samsung-55-inch-S90H--4" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/FYEVfWA3SvfGhSAYDMCY4o.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>But here's the thing: The S85H performed equally well. They were also matched for a photo testing extreme light and dark: a bright-blue neon sign against a black background. OLED is the master of black levels, and even a lower-cost model is a solid performer. </p><h3 class="article-body__section" id="section-samsung-s90h-review-test-results"><span>Samsung S90H review: Test results</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Samsung</strong><br><strong>S90H OLED</strong><br><strong>(55")</strong></p></td><td  ><p><strong>Samsung S90F</strong></p><p><strong>(65")</strong></p></td><td  ><p><strong>LG C6</strong><br><strong>OLED (65")</strong></p></td><td  ><p><strong>Sony</strong><br><strong>Bravia 8 II</strong><br><strong>(65")</strong></p></td><td  ><p><strong>Samsung</strong><br><strong>S85H OLED</strong><br><strong>(65")</strong></p></td><td  ><p><strong>LG B6</strong><br><strong>OLED (65")</strong></p></td><td  ><p><strong>Panasonic</strong><br><strong>Z95B (65")</strong></p></td></tr><tr><td class="firstcol " ><p><strong>SDR Brightness</strong><br><strong>(10%, nits)</strong></p></td><td  ><p>226</p></td><td  ><p>520</p></td><td  ><p>360</p></td><td  ><p>103</p></td><td  ><p>230</p></td><td  ><p>248</p></td><td  ><p>103</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E</strong><br><strong>(lower is better)</strong></p></td><td  ><p>1.65</p></td><td  ><p>1.1</p></td><td  ><p>1.62</p></td><td  ><p>3.59</p></td><td  ><p>1.69</p></td><td  ><p>1.04</p></td><td  ><p>1.36</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 709 Gamut</strong><br><strong>Coverage</strong></p></td><td  ><p>109.61%</p></td><td  ><p>99.99%</p></td><td  ><p>97.80%</p></td><td  ><p>100.00%</p></td><td  ><p>100.00%</p></td><td  ><p>98.84%</p></td><td  ><p>96.80%</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness</strong><br><strong>(10%, nits)</strong></p></td><td  ><p>1,497</p></td><td  ><p>1,155</p></td><td  ><p>1,365</p></td><td  ><p>1,584</p></td><td  ><p>771</p></td><td  ><p>780</p></td><td  ><p>983</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut</strong><br><strong>Coverage</strong></p></td><td  ><p>99.34%</p></td><td  ><p>100%</p></td><td  ><p>99.76%</p></td><td  ><p>100.00%</p></td><td  ><p>97.48%</p></td><td  ><p>96.11%</p></td><td  ><p>99.77%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut</strong><br><strong>Coverage</strong></p></td><td  ><p>77.83%</p></td><td  ><p>89.03%</p></td><td  ><p>75.79%</p></td><td  ><p>90.55%</p></td><td  ><p>72.94%</p></td><td  ><p>70.69%</p></td><td  ><p>81.42%</p></td></tr><tr><td class="firstcol " ><p><strong>Input Lag (ms)</strong></p></td><td  ><p>9.3</p></td><td  ><p>9.1</p></td><td  ><p>12.9/9.1 (Boost)</p></td><td  ><p>16.3</p></td><td  ><p>9.2</p></td><td  ><p>12.9 / 8.9</p><p>(Boost)</p></td><td  ><p>12.7</p></td></tr></tbody></table></div><p>*As measured in Filmmaker mode.</p><p>In a battle among high-performance TVs, the differentiating factor is often brightness, especially with HDR content. This is where you generally get what you pay for, as in Samsung's own OLED lineup. We measured HDR brightness of 771 nits for the S85H, 1,497 nits for the S90H, and 2,721 nits for the S95H (not pictured in the chart above, but tested in the same 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="zwqfQfo5o6idCCSugSDDCo" name="Samsung-55-inch-S90H--12" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/zwqfQfo5o6idCCSugSDDCo.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 S90H we reviewed is one of the only 55-inch OLED models we've tested; most have been 65-inch screens. So our comparisons inevitably span screen sizes. The S90H's HDR brightness is well above average for all 65-inch OLEDs we've tested (1,104 nits) and a tad above average for newer models from 2025 and 2026 (1,331 nits). Newer 65-inch LCD TVs, by comparison, average out to just a bit more, at 1,507 nits — showing that the <a href="https://www.tomsguide.com/tvs/oled-tvs/some-oled-tvs-are-getting-brighter-and-cheaper-in-2026-heres-what-you-need-to-know-before-shopping"><u>performance gap between TV technologies is narrowing </u></a>(excluding some new LCDs that target blinding brightness like the <a href="https://www.tomsguide.com/tvs/tcl-qm9k-mini-led-tv-review"><u>TCL QM9K</u></a>).</p><p>These and other rival TVs are either quite close, or inconsequentially different, in most other measures. The cheaper S85H already reproduces 100% of the Rec. 709 color gamut; comparatively, the 109.61% of the S90H and 113.30% for the S95H are only of theoretical benefit. Here specs take a backseat to a practical question: How does the color look?</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="WEEHYEYMVfpkDfimfdAB6o" name="Samsung-55-inch-S90H--5" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/WEEHYEYMVfpkDfimfdAB6o.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>Delta-E is a measure of how far the colors on the screen diverge from what the signal sent to the panel calls for. The lower the number, the better the accuracy. This TV's Delta-E of 1.65 (in Filmmaker mode) is quite good. It's in the lower (better) half of results, ranging from 0.8 to 3.6, for the OLEDs we've tested (with an average of 1.9). More importantly, it's far below a level at which a person, rather than a color meter, would notice a difference. </p><p>For yet more perspective, this TV's performance is indistinguishable from that of its cheaper sibling, the S85H, which posts a Delta-E of 1.69. Curiously, it's also better than that of the pricier S95H, at 2.24.</p><h3 class="article-body__section" id="section-samsung-s90h-review-audio"><span>Samsung S90H review: Audio</span></h3><p>Sometimes there is a clear correlation between specs and experience, and built-in audio is one of those cases. The 20W, 2.0-channel speakers in the S85H didn't sound bad: I found the quality of the trumpets and guitar playing on the Bruno Mars "Risk It All" YouTube video to sound faithful. But the audio lacked a sense of presence. (Raising the volume didn't make a meaningful difference.)</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="bRxVPvyuChomXXA2iefqAo" name="Samsung-55-inch-S90H--13" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/bRxVPvyuChomXXA2iefqAo.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>By contrast, the 40W, 2.1-channel system in the S90H provides enough oomph for a respectable audio experience. It puts the spatial audio capabilities of Dolby Atmos to good effect in "Blade Runner 2049." </p><p>Even the YouTube music videos had a more enveloping quality: Switching from Standard to Amplify mode definitely expanded the soundstage in both the Bruno Mars and Arianna Grande music videos.</p><p>Keep in mind: This is grading on a curve. You will get a substantially fuller experience, especially in bass, with external speakers. If sound is a priority for you, it may not matter much that the S90H has better built-in audio than the S85H. You'll be adding home theater speakers or one of the<a href="https://www.tomsguide.com/audio/soundbars/best-soundbars"> <u>best soundbars</u></a>, anyway. But if you don't want peripherals to distract from this TV's slim, minimalist design, you'll appreciate the built-in 40W, 2.1 system.</p><h3 class="article-body__section" id="section-samsung-s90h-review-interface-and-remote"><span>Samsung S90H review: Interface and remote</span></h3><p>Samsung's One UI Tizen smart platform exemplifies the bloat that is endemic in smart TV software. The setup screens push you hard to install the SmartThings app — a hub for Samsung's smart home device universe, which hogged 866MB on my iPhone 13. What's more: Popups encouraging me to use SmartThings plagued my navigation of the TV interface. I was able to bypass the app for setting up the TV, but it was still a long, complex process, requiring me to click through a wall of permissions screens to set up a mandatory account. (I had been kinder to Tizen in my review of the QN70F, but the more time I spend with it, the more frustrated I get.)</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="nBeHybaXXUBc2u2Sz2EC6o" name="Samsung-55-inch-S90H--14" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/nBeHybaXXUBc2u2Sz2EC6o.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 overall interface is pretty standard. From top-to-bottom: a bunch of promoted content, some clusters of content (such as soccer coverage), a thin band of installed streaming app icons, and clusters of recommendations (such as "New on TV" or "4th of July Favorites"). After I connected a Blu-ray player, an icon for the device was scuttled to the end of the apps bar, which took a while for me to locate. The set includes access to Samsung TV Plus, with over 400 content channels. </p><p>Samsung's Bixby voice interface could handle basic queries, such as "What are the top five movies with Tom Cruise?" I got options like "Top Gun: Maverick" and various Missions Impossible, and the options to select services to play them on, such as Pluto TV. The experience was not consistent, though. I didn't always get the same movie recommendations, or not recommendations in the same order. And I didn't always get the same options for where to play them. (The TV also offers Alexa as an assistant.)</p><p>When I asked the TV to "play 'Bridgerton' on Netflix," all I got was a Wikipedia-like description of the show and options for "related content." (That's despite having just watched the show in the Netflix app on this 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="LAiT9M2XhwKcGgSJPKgJDo" name="Samsung-55-inch-S90H--18" alt="The remote for a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/LAiT9M2XhwKcGgSJPKgJDo.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>Going the tactile route, this TV provides Samsung's standard slim remote — small enough for most people to operate one-handed. It has the ubiquitous four-direction ring and central button, shortcuts to select video apps, and a button for the TV's shortcut settings menu. The remote charges via USB-C or a solar panel on the back.</p><h3 class="article-body__section" id="section-samsung-s90h-review-verdict"><span>Samsung S90H review: Verdict</span></h3><p>If it existed in a vacuum, the S90H would be one of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs"><u>best OLED TVs</u></a> of 2026. Unfortunately it has to share shelf space with the brand’s cheaper S85H and step-up S95H OLEDs that are, in my opinion, either a better value or a better performer overall.</p><p>That’s not to say that the S90H is a bad value, though. Factors such as relatively high brightness, relatively good sound, and top-tier gaming capabilities justify the cost of the S90H. </p><p>If you want good anti-glare matte coating and a better-than-average sound system, this TV's price is justified. If your budget isn't as high as your aspirations, however, look to the S85H or discounts on recent predecessor models, especially the S90F.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Every Samsung device from this month's Unpacked just leaked — here's your full look at the entire lineup ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/every-samsung-device-from-this-months-unpacked-just-leaked-heres-your-full-look-at-the-entire-lineup</link>
                                                                            <description>
                            <![CDATA[ Galaxy Unpacked isn't happening until next week, but these leaked renders are giving us a look at the full line-up a little early. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">i7UbTt6pCEfPpkNp2xHXGW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 11:11:24 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/png" url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png">
                                                            <media:credit><![CDATA[Android Headlines / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The next <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Samsung Galaxy Unpacked</a> is less than a week away, with Samsung expected to unveil a new wave of foldables and smartwatches. We're all pretty sure we know what to expect, and what those devices should look like. But if anyone had doubts, a smorgasbord of leaked renders just landed at <a href="https://www.androidheadlines.com/galaxy-z-fold-8-ultra" target="_blank">Android Headlines</a>, giving us an in-depth look at everything Samsung plans to reveal.</p><p>These renders show off the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Samsung Galaxy Z Flip 8</a>, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a>, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold Ultra</a>, <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-9-and-ultra-2-rumors-everything-weve-heard-so-far">Galaxy Watch 9</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-rumors-heres-everything-we-expect-from-samsungs-next-gen-rugged-smartwatch">Galaxy Watch Ultra 2</a>. We've seen renders for some of these devices before, particularly the foldables, but this time we're seeing imagery that looks official. As well as showing the devices, they also reveal some of the colors that are on the way.</p><p>Needless to say there are no real surprises where the design is concerned. The Galaxy Z Fold 8 Ultra looks almost identical to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a>, though there do appear to be some design tweaks such as more rounded corners. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/sdADwvvhPbZLgf6c5tWNmQ.png" alt="samsung galaxy z fold 8 & fold 8 ultra" /><figcaption><small role="credit">Android Headline</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/G2ARpHcivk6o5rJkyKsViQ.png" alt="samsung galaxy z fold 8, z flip 8 & fold 8 ultra" /><figcaption><small role="credit">Android Headline</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YiqzfcrqbeG4hEz3ciR3gQ.png" alt="samsung galaxy z fold 8" /><figcaption><small role="credit">Android Headline</small></figcaption></figure></figure><p>The images also offer a closer look at the Z Fold 8 and Z Fold 8 Ultra together, showcasing just how small the Fold 8 actually is. From these angles, it looks as though it's around 75% the height of the Ultra model, and somewhere in the region of 25% wider. However, I'll admit it's harder to gauge the width of these devices from just the images on offer.</p><p>Color-wise, there are a few things to digest. Standard color options appear to be navy blue and a lavender-like shade, though it's unclear whether these colors will be available for both Z Fold devices. Android Headlines also claims that the Z Fold 8 will be available in a "pistachio" color, which will be exclusive to Samsung's online store. </p><p>Considering pistachio flavoring is everywhere right now, this isn't a huge surprise. That said, the color itself looks less like the green we associate with the nuts, and more like an unappetizing blue/gray. Hopefully the real thing is a little more vivid.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/UuSWzg8DhbAn7C6E39JdQQ.png" alt="samsung galaxy z flip 8" /><figcaption><small role="credit">Android Headline</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xRi5ji4sK5ib4Qfgnu2UaQ.png" alt="samsung galaxy z flip 8" /><figcaption><small role="credit">Android Headline</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sGfNZQ3uUtToe6UtuetBUQ.png" alt="samsung galaxy z flip 8" /><figcaption><small role="credit">Android Headline</small></figcaption></figure></figure><p>As for the Galaxy Z Flip 8, that's... basically the same as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-7-hands-on-review-feels-like-flip-phone-perfection">Z Flip 7</a>. It's no real surprise that Samsung hasn't changed the design, because it's rare to see a meaningful design change that doesn't involve increasing the size of the cover display. But since the cover display has taken up about as much space as it can, things have obviously become a little stagnant. </p><p>Colors include a shade of pink and the online-exclusive "Mint," which is that same washed-out-looking green we've seen on a bunch of phones.</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:1611px;"><p class="vanilla-image-block" style="padding-top:60.02%;"><img id="5bySfMdnMAxt6jhn724HmQ" name="Screenshot 2026-07-15 104709" alt="samsung galaxy watch 9 and galaxy watch Ultra 2" src="https://cdn.mos.cms.futurecdn.net/5bySfMdnMAxt6jhn724HmQ.png" mos="" align="middle" fullscreen="" width="1611" height="967" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headline)</span></figcaption></figure><p>It's a similar story with the Galaxy Watch 9 and Watch Ultra 2. Both devices are very similar-looking to their predecessors, to the point where we can't see any meaningful differences. </p><p>Hopefully, the upgrades are a little more substantial than what we're expecting from the Z Flip 8. Colors shown include a white Watch 9 and a gunmetal gray Ultra 2 with a dark green band.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-wide-vs-fold-8-ultra-heres-the-foldable-im-most-excited-for">Samsung Galaxy Z Fold 8 (Wide) vs Fold 8 Ultra — here's the foldable I'm most excited for</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">I've seen the Galaxy Z Fold 8's crease-free 'Flex Titanium' display — and Apple should be nervous</a></li><li><a href="https://www.tomsguide.com/phones/i-just-saw-the-future-of-phones-inside-samsung-display-with-2-jaw-dropping-slidable-concepts">I just saw the future of phones inside Samsung Display with 2 jaw-dropping ‘slidable’ concepts</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just saw the future of phones inside Samsung Display with 2 jaw-dropping ‘slidable’ concepts ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/i-just-saw-the-future-of-phones-inside-samsung-display-with-2-jaw-dropping-slidable-concepts</link>
                                                                            <description>
                            <![CDATA[ Samsung Display let journalists inside its South Korea headquarters for the first time to preview new concept devices, including two slidable form factors and a new ‘zero-bezel’ panel. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CbdeZbVN9XZHb69fUujK5b</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ZawSeXAbd935P6BKyaPMwc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/ZawSeXAbd935P6BKyaPMwc-1280-80.jpg">
                                                            <media:credit><![CDATA[Samsung Display]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung foldable and slidable display technology]]></media:description>                                                            <media:text><![CDATA[Samsung foldable and slidable display technology]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung foldable and slidable display technology]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ZawSeXAbd935P6BKyaPMwc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Right now the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones"><u>best foldable phones</u></a> are considered leading edge when it comes to phone design, but that might not be the case for long. I was one of the first people in the world to go inside Samsung Display’s headquarters in South Korea, and I got a sneak peek at new concepts that take things in boldly weird new directions.</p><p>Samsung Display showed us two so-called “slidable” designs. The first looks like a compact slab phone, dubbed the Flex Slidable. Starting at 4.7 inches, it expands via a sliding mechanism to reach a mammoth 7.2 inches.</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="crw5K4t9LnbU9M3BoMTp6d" name="Samsung Display Tech-3" alt="Samsung foldable and slidable display technology" src="https://cdn.mos.cms.futurecdn.net/crw5K4t9LnbU9M3BoMTp6d.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung Display)</span></figcaption></figure><p>According to Samsung, pulling one end of the device causes a hidden display to slide out. But I could see there being a button to let you slide the display on command. The actual process of unfurling was on the slow side, but again this was a demo concept.</p><p>The second slidable was even more intriguing, called Flex Hybrid. This concept also has a sliding display that grows to 7.2 inches, but it’s also foldable for even more versatility. It’s the first mobile device I’ve seen that combines the two technologies — foldable and slidable — into a single product. Foldable tech is applied to the left side of the screen and slidable technology to the right, which according to Samsung makes this a product “that can satisfy both portability and entertainment needs simultaneously.”</p><h2 id="when-are-slidables-coming">When are slidables coming?</h2><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/Wdfyhqzo3mpNZGxpSd3uvW/5_Samsung%20Display_Giheung_Video%20copy%202.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/Wdfyhqzo3mpNZGxpSd3uvW/5_Samsung%20Display_Giheung_Video%20copy%202.mp4"></video></div><p>So my question for Samsung Display was, how close are we to slidable phones actually becoming real shipping products?</p><p>“We have to consider the real-world usage pattern,” said Byung Duk Yang, executive vice president at Samsung Display. “So I think the display might be ready, but we should consider many aspects of the usage. When we have confidence that we can deliver meaningful innovation to users, then we are going to release the product.”</p><div><blockquote><p>“It’s not easy, the slidable form factor. I know many people are very interested in slidable and stretchable (phones). But I’m an engineer, and from the engineer point of view there are many obstacles we have to overcome.”</p><p>— Byung Duk Yang, Executive VP, Core Component Technology Team, Samsung Display</p></blockquote></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="vSJB9fsYD6jreBL5cyDNuf" name="Flex Titanium Samsung-5" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/vSJB9fsYD6jreBL5cyDNuf.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Byung Duk Yang, Executive VP of the Core Component Technology Team, Samsung Display </span><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Of course, it’s one thing to be able to show off a slick demo device. It’s quite another to deliver a sliding form factor that reaches the level of reliability Samsung Display has achieved with foldable panels.</p><p>We saw a mini <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous" target="_blank">torture chamber at Samsung Display</a> that folds displays up to 500,000 times.</p><p>“It’s not easy, the slidable form factor. I know many people are very interested in slidable and stretchable (phones). But I’m an engineer, and from the engineer point of view there are many obstacles we have to overcome,” Yang said.</p><h2 id="zero-bezels-are-almost-here">Zero bezels are (almost) here</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="6qP5h4nNPnWKgA556cgyRd" name="Samsung Display Tech-2" alt="Samsung foldable and slidable display technology" src="https://cdn.mos.cms.futurecdn.net/6qP5h4nNPnWKgA556cgyRd.jpg" mos="" align="middle" fullscreen="" width="3000" height="2000" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung Display)</span></figcaption></figure><p>Last but not least, I checked out Samsung Display’s nearly bezel-less display. How small are we talking? The 6.8-inch OLED screen’s bezels are so tiny I could barely make them out as I got up real close. Samsung positioned the panel behind a tablet-size display on purpose so you couldn’t tell where the small screen ended and the big one began.</p><p>The top size has a border of just 0.4mm, and the left, right and bottom have bezels that measure 0.6mm.</p><p>Samsung achieved this feat through advanced designed techniques, including minimizing the width of the outer wiring and using sophisticated module technology. The result is bezels that are up to 40% smaller compared to the phones shipping today.</p><p>Apple is rumored to be working on a nearly bezel-free handset for the <a href="https://www.tomsguide.com/phones/iphones/iphone-20-leak-reveals-7-jaw-dropping-features-for-the-20th-anniversary-model"><u>iPhone 20</u></a>, but Samsung could beat them to the punch.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've seen the Galaxy Z Fold 8's crease-free 'Flex Titanium' display — and Apple should be nervous ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous</link>
                                                                            <description>
                            <![CDATA[ Samsung has revealed Flex Titanium technology for the Galaxy Z Fold 8 series, and it enables a crease-free look while making the device thinner and stronger. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jdr5ae4kv5KiXdiEHyN7WM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 14 Jul 2026 23:01:23 +0000</pubDate>                                                                                                                                <updated>Wed, 15 Jul 2026 17:10:56 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide/Samsung]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 7 next to Samsung Flex Titanium Display for Galaxy Z Fold 8]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zML8QkZbJj7gv5eES4uWCm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung has actually done it. After seven years of making foldables, it has found a way to make a foldable display nearly crease-free while also making it more durable — and somehow even thinner. And I almost didn’t believe my eyes at first.</p><p>This breakthrough, coming to the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a> series, is made possible because of a new technology called Flex Titanium. And it could be a real game-changer, especially as Samsung prepares for Apple to enter the foldable phone arena with its <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>.</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/QhSHTJId_Io" allowfullscreen></iframe></div></div><p>I got the inside scoop on how the Flex Titanium innovation came together, and also saw the new panel torture tested here at Samsung Display’s headquarters in South Korea ahead of Samsung Unpacked. In fact, I’m one of only five journalists in the world who have ever stepped inside Samsung Display.</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="fFZSzBsbc4V34HAHBmUuyf" name="Flex Titanium Samsung" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/fFZSzBsbc4V34HAHBmUuyf.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>There I sat down with two key Samsung executives, including Byung Duk Yang, Executive Vice President of the Core Component Technology Team and KyungJin Yoo, EVP & Head of Team Mobile Display Product Development Team, to learn more about how Samsung is reinventing the foldable experience.</p><h2 id="what-is-flex-titanium">What is Flex Titanium?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="f49CJBcFe4g59SHyRSwx8k" name="Flex Titanium Samsung-7" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/f49CJBcFe4g59SHyRSwx8k.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung Display)</span></figcaption></figure><p>Samsung has used titanium in its foldable phones before for improved toughness and dispersing any distress, but this is the first time it has employed Flex Titanium, which consists of a titanium-alloy film and a titanium plate.</p><p>The titanium-alloy film supports the display and sits below the OLED panel. It offers 20 times greater stiffness than plastic films while also being 30% the thickness of human hair. The result is a slimmer display panel that’s also super strong.</p><p>“Titanium is not flexible. This time we used a new titanium alloy because we needed some stretchability,” said Yang.</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="vSJB9fsYD6jreBL5cyDNuf" name="Flex Titanium Samsung-5" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/vSJB9fsYD6jreBL5cyDNuf.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Byung Duk Yang, Executive VP of the Core Component Technology Team, Samsung </span><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>Meanwhile, the titanium plate is a flexible structure that supports the display module from beneath. Since it allows for tighter bonding with the display module, air gaps are eliminated between the module and plate adhesive. </p><p>The result? Dramatically reduced crease visibility and a more immersive viewing experience.</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="JJSKzqod474GpHhENNXxXf" name="Flex Titanium Samsung-6" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/JJSKzqod474GpHhENNXxXf.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>“What we have done is come up with a lattice structure for the fold area and then we use a laser hole process (to fill the gaps in the lattice design),” Yoo said. “We have come up with precision processing to increase the integrity and completeness of the structure.”</p><h2 id="500-000-folds-plus-a-fun-ball-drop-test">500,000 folds?! (plus a fun ball drop test)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="GPiKm4xAToBip82fuxgVxf" name="Flex Titanium Samsung-3" alt="Samsung Flex Titanium display" src="https://cdn.mos.cms.futurecdn.net/GPiKm4xAToBip82fuxgVxf.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>500,000. That’s how many times Samsung Display bends its foldable displays to make sure they’re durable enough to live inside devices like the upcoming Galaxy Z Fold 8 series.</p><p>I see the robotic arms in action testing four phones on one level and two others on a top level inside a large metal box, folding and unfolding 24 hours a day. There are eight cameras pointed at the phones so engineers can check to see exactly when a device may have failed or to diagnose any issues.</p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/vxwCYFzpdVLBAfRdgacwag/5_Samsung%20Display_Giheung_Video%20copy%203.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/vxwCYFzpdVLBAfRdgacwag/5_Samsung%20Display_Giheung_Video%20copy%203.mp4"></video></div><p>The other benefit of doing all of this testing inside a sealed box? Samsung will ratchet up the temperature all the way up to 140℉ (60℃) and all the way down to -4 ℉ (-20℃) to make sure the folding can keep going in all sorts of conditions.</p><p>At room temperature, Samsung Display will fold a display up to 500,000 times. At the coldest temperature, the panels can fold up to 60,000 times and up to 300,000 times at the highest temp.</p><p>In another room, we were able to drop a 21.7-gram (0.76 ounce) metal ball on top of Samsung’s foldable display at various heights, going all the way up to 50cm (19.7 inches). There was not a scratch on the panel. </p><div class="looped-video"><video class="lazyload-in-view lazyloading" data-src="https://cdn.mos.cms.futurecdn.net/eGrhc2YQEb999t646X6UXT/5_Samsung%20Display_Giheung_Video%20copy%204.mp4" autoplay loop muted playsinline src="https://cdn.mos.cms.futurecdn.net/eGrhc2YQEb999t646X6UXT/5_Samsung%20Display_Giheung_Video%20copy%204.mp4"></video></div><p>“We have to understand the user behavior and various display challenges, like dropping or pressure with large objects or tiny objects,” Yang said. “We have developed very comprehensive and sophisticated evaluation methods to understand the user behavior and real-world usage patterns.”</p><h2 id="extreme-image-quality-testing">Extreme image quality testing</h2><p>Typically at Tom’s Guide we’ll use a colorimeter and software to test a phone display head-on, measuring its brightness, color reproduction and accuracy (Delta-E). But Samsung Display goes way, way beyond this in its labs. </p><p>Inside another machine, Samsung Display performs image quality testing and reflection testing with a spherical light source that’s coated with a barium sulfate material to achieve the highest reflection rate possible. The doors are also shut to block any outside light.</p><p>Samsung Display then measures the light bouncing back and how much light is reflected from the panel itself. The lower the number the better. </p><p>But it’s important to emphasize that Samsung does this in eight different directions, and that more than 20 points are detected for just one direction. So that’s 160 points total for a total 3-minute test. The phone is continually turned the entire time.</p><h2 id="the-apple-threat-and-opportunity">The Apple threat (and opportunity)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="iSPkwa4yFiCgX2PV3ok2dN" name="Flex Titanium Samsung-8" alt="KyungJin Yoo, EVP & Head of Team Mobile Display Product Development Team, Samsung" src="https://cdn.mos.cms.futurecdn.net/iSPkwa4yFiCgX2PV3ok2dN.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">KyungJin Yoo, EVP & Head of Team Mobile Display Product Development Team, Samsung </span><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>It’s no secret at this point that Apple plans to enter the foldable market in September with the iPhone Ultra/iPhone Fold. But Samsung doesn’t seem worried about its rival and in fact “loves” another big player entering the space.</p><div><blockquote><p>“As we minimize the crease, which has been a perennial issue with consumers, we believe that the market is really going to expand even further."</p><p>— KyungJin Yoo, EVP & Head of Team Mobile Display Product Development Team, Samsung</p></blockquote></div><p>“We cannot comment on rumors, but we think it’s more than welcome because when other competitors and companies join the market,” Yang said. “I think the market will expand and the awareness will increase. Competition is good for the users and we mean it, we love other companies joining this market.”</p><p>Based on what I observed during my time in Korea, Samsung’s key advantage over Apple is experience.</p><p>“When Samsung first came up with the foldable in 2019, of course this was a big innovation and also was touted by the market, but we needed continuous improvement on the thickness and the weight as well as the durability,” Yoo said. “As we minimize the crease, which has been a perennial issue with consumers, we believe that the market is really going to expand even further, and perhaps that is the kind of validation that we are now going to get from companies like Apple.”</p><p>Yang also touted that the company has been at this for several years, so it gives them an advantage over competitors. And if it’s able to address users’ durability concerns, it should be able to help to grow the foldable phone market overall.</p><p>“I think we can enhance or extend the market and provide a better experience to users with foldable devices,” Yang said.</p><h2 id="bottom-line-3">Bottom line</h2><p>Samsung started showing the world foldable displays way back in 2009, but the first <a href="https://www.tomsguide.com/reviews/samsung-galaxy-fold">Galaxy Fold</a> didn’t land on store shelves until 2019, so it’s clear that the company is playing the long game with foldables as the category evolves.</p><p>If the Galaxy Z Fold 8’s Flex Titanium tech manages to finally push foldables into the mainstream, it will be because of the mad science happening inside these very labs. Stay tuned for our full hands-on impressions as we gear up for the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Unpacked launch</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy S26 Ultra owners are literally seeing red as they report a strange tint on their screens ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-owners-are-literally-seeing-red-as-they-report-a-strange-tint-on-their-screens</link>
                                                                            <description>
                            <![CDATA[ Galaxy S26 Ultra owners are facing another red scare thanks to a strange tint in the middle of the display. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EPJWJu2BP3wYm6XcSXJ4QS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/iGGyvv7a4hQPrn26YbFnid-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 14 Jul 2026 11:47:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/iGGyvv7a4hQPrn26YbFnid-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy S26 Ultra]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy S26 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy S26 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/iGGyvv7a4hQPrn26YbFnid-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Few phones are able to launch without users reporting some kind of significant problem. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a> is no exception, and this time some users have started reporting that the screens are slowly turning red. I guess that's one way to try and tone down the blue light emissions, but it's hardly ideal for a phone that costs $1,300.</p><p>Some of these reports date back as far as March, with <a href="https://www.reddit.com/r/samsunggalaxy/comments/1rohgvu/did_anyone_else_notice_the_red_colour_on_the_s26/" target="_blank">multiple Reddit users</a> noticing that the S26 Ultra's red coloring is more washed out than it should be — even with the vivid setting turned on and setting the screen to maximum resolution. More recently those reports have switched gears, noting that screens have been slowly developing pink and red tints.</p><p>Reports have come in from a bunch of places across the web, <a href="https://www.reddit.com/r/galaxys26ultra/comments/1utailn/display_issue/?share_id=d8HO4POh-5__Ky4cnpsjh" target="_blank">including</a> <a href="https://www.reddit.com/r/galaxys26ultra/comments/1uv8jh8/a_red_tint_issue_on_the_s26_ultra_display_please/" target="_blank">Reddit</a>, Korean social network <a href="https://cafe.naver.com/anycallusershow/5203032" target="_blank">Naver</a> and <a href="https://r1.community.samsung.com/t5/%EA%B0%A4%EB%9F%AD%EC%8B%9C-s/%EA%B0%A4%EB%9F%AD%EC%8B%9Cs26%EC%9A%B8%ED%8A%B8%EB%9D%BC-%EB%94%94%EC%8A%A4%ED%94%8C%EB%A0%88%EC%9D%B4-%EA%B0%9C%EB%B0%9C%EC%A7%84%EB%93%A4%EC%9D%B4-%ED%99%95%EC%9D%B8%ED%95%B4%EB%B3%B4%EC%85%94%EC%95%BC%ED%95%A0-%EA%B2%83-%EA%B0%99%EC%8A%B5%EB%8B%88%EB%8B%A4/td-p/38671949" target="_blank">Samsung's own community forums</a>. The general experience seems to be similar for a lot of people with users spotting that the red tint starts appearing in the center of their display.</p><h2 id="another-red-flag-for-s26-ultra-s-display">Another red flag for S26 Ultra's display</h2><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:75.00%;"><img id="H9nAMc4SaczGXQX6Azia3h" name="S26U일반전시비교2" alt="galaxy s26 ultra with red tint" src="https://cdn.mos.cms.futurecdn.net/H9nAMc4SaczGXQX6Azia3h.jpg" mos="" align="middle" fullscreen="" width="1600" height="1200" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">New S26 Ultra (left) side-by-side with display model (right) </span><span class="credit" itemprop="copyrightHolder">(Image credit: HDLTE77 / Naver)</span></figcaption></figure><p><a href="https://cafe.naver.com/anycallusershow/5203032" target="_blank">One Naver user </a>even took their phone, an S26 Ultra manufactured in June, to the Samsung Store to compare it to display models. They found that the display model had a significantly redder screen than the new model, speculating that the problem is exacerbated by time, estimating around 3 to 4 months before it becomes an issue.</p><p>It's hard to make out the red tint in the photos, but seeing the older and newer Galaxy S26 Ultra models side by side shows just how much of a difference there can be. The consensus also seems to be that this is a kind of after image, rather than screen burn, because the coloring <a href="https://www.reddit.com/r/galaxys26ultra/comments/1utailn/comment/owuecq6/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">apparently</a> takes the same rectangular shape on each affected device.</p><p>That being said, some owners have chimed in on Reddit to point out that nothing has happened to their devices, or even the <a href="https://www.reddit.com/r/galaxys26ultra/comments/1utailn/comment/oxegztc/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button">demo units</a> that have been on display since the launch of Galaxy S26 series earlier this year. My own Galaxy S26 Ultra seems fine, too.</p><p>At least one user has said that they're not sure if they can see the problem, and<a href="https://www.reddit.com/r/galaxys26ultra/comments/1utailn/comment/oxelme9/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank"> admits</a> they may be "tricking" themselves into seeing something. There's no doubt some phones have this issue, but if the coloring is as subtle as some people have claimed, that is a possibility. Meanwhile, the <a href="https://www.reddit.com/r/galaxys26ultra/comments/1utailn/comment/oxew8hw/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">originator of this particular thread</a> seems to believe that the problem has been restricted to Korea for the time being. Considering this is the opinion of one person, I'm not entirely sure it can be trusted.</p><p>Another <a href="https://www.reddit.com/r/galaxys26ultra/comments/1uv8jh8/comment/ox97l74/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">Redditor</a> seems to think that there's glue in the area in question, and that it is visible under UV light until it fully dries — a process they think can take around 6 months. Honestly, I don't buy this explanation at all, least of all because the photos of the tint don't feature any noticeable UV light.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-e47GAX"></div>                            </div>                            <script src="https://kwizly.com/embed/e47GAX.js" async></script><h2 id="let-s-hope-samsung-doesn-t-get-red-faced">Let's hope Samsung doesn't get red-faced</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="k2Zgx8GTwHWoNoLBcZJpzM" name="Galaxy S26 Ultra review-16" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/v2/t:321,l:0,cw:4592,ch:2583,q:80/k2Zgx8GTwHWoNoLBcZJpzM.jpg" mos="" align="middle" fullscreen="" width="4592" height="3448" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>We've reached out to Samsung to ask about this issue, and will update if we hear back. I'm particularly interested to hear what the exact problem is, and if this red tint is the result of some kind of manufacturing issue or related to changes in the screen itself. </p><p>After all, Samsung did <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-has-the-worlds-first-privacy-display-heres-how-it-works">launch the Galaxy S26 Ultra with a tinted Privacy Display</a>, and testing proved that the screen brightness (<a href="https://www.tomsguide.com/phones/samsung-phones/the-galaxy-s26-ultras-headline-feature-is-turning-out-to-be-its-biggest-complaint-owners-angry-over-fuzzy-text-headaches-and-eye-strain">among other things</a>) was affected by this. The display is dimmer and has narrower viewing angles even when Privacy Display is switched off.</p><p>If this is the result of a specific manufacturing issue that has since been fixed, then the damage caused by this tint will at least be contained. But if the problem is more widespread, it could potentially be a problem for those people who own an S26 Ultra and plan on keeping it for the long term. </p><p>Samsung has already courted controversy with the S26 screen, originally claiming it offered 10-bit color depth only to backtrack and admit that the physical display <a href="https://www.sammobile.com/news/samsung-galaxy-s26-plus-ultra-doesnt-feature-10-bit-displays/" target="_blank">could only display 8-bit color depth</a>. The last thing it needs is to find out a bunch of screens will eventually tint everything with a rose-shaded hue. </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/phones/high-storage-phones-are-feeling-more-like-a-scam-than-ever-how-to-avoid-overpaying">High storage phones are feeling more like a scam than ever — how to avoid overpaying</a></li><li><a href="https://www.tomsguide.com/phones/iphones/apple-is-paying-usd250-million-to-iphone-customers-over-delayed-ai-features-heres-how-to-get-your-share">Apple is paying $250 million to iPhone customers over delayed AI features — here's how to get your share</a></li><li><a href="https://www.tomsguide.com/phones/i-tortured-myself-for-2-weeks-with-the-trump-phone-heres-3-phones-under-usd500-that-are-way-better">I tortured myself for 2 weeks with the Trump Phone — here's 3 phones under $500 that are way better</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Samsung S95H is the best-looking OLED TV we've tested this year — but it's not the one I recommend buying ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/the-samsung-s95h-is-the-best-oled-tv-weve-tested-this-year-but-its-not-the-one-i-recommend-buying</link>
                                                                            <description>
                            <![CDATA[ To date, the 5-star Samsung S95H OLED is the best TV we've reviewed in 2026. But, for most folks, the LG C6 is a better buy. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YZyqeM5ae4AUrw8BtHkSqJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Bz8FQQEFFWnGYmQ8fyhTei-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 14 Jul 2026 05:30:00 +0000</pubDate>                                                                                                                                <updated>Tue, 14 Jul 2026 14:05:12 +0000</updated>
                                                                                                                                            <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/Bz8FQQEFFWnGYmQ8fyhTei-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[LG C6 OLED TV shown on a wood table]]></media:description>                                                            <media:text><![CDATA[LG C6 OLED TV shown on a wood table]]></media:text>
                                <media:title type="plain"><![CDATA[LG C6 OLED TV shown on a wood table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Bz8FQQEFFWnGYmQ8fyhTei-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's been a banner year for high-performance TVs. OLEDs are better than ever and, between RGB LED and Super Quantum Dot (SQD) TVs, brands are breaking ground with all-new souped-up display technologies.</p><p>Take, for instance, the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a>. After extensive testing, we awarded the S95H a rare, five-star rating on account of its stunning performance and its extensive list of features. The S95H is not only one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> of the year, it's one of the best TVs I've ever seen, period.</p><p>But there's a twist. Broadly speaking, there aren't too many people I'd point in the S95H's direction. Despite its prowess, this near-perfect TV is a tougher sell than another competitive OLED: the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ddhs67cP7D9Efs3irU7iy9" name="Samsung-S95H--8" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/ddhs67cP7D9Efs3irU7iy9.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><h2 id="don-t-get-me-wrong-the-s95h-is-great">Don't get me wrong, the S95H is great...</h2><p>To understand why I recommend the C6, let's dive deeper into the Samsung S95H's performance: Most of its success comes down to contrast. </p><p>As an OLED, the S95H trades a traditional backlight for millions of self-illuminating pixels. The benefits here are immense, as the S95H can whip up perfect black levels with zero light bloom.</p><p>OLED TVs have always been dimmer than backlit LCD sets, but the gap is shrinking. At over 2,700 nits, the S95H is one of the brightest OLEDs we've ever measured, and this combination of perfect black levels and searing highlight brightness creates eye-popping depth and a truly realistic-looking presentation.</p><p>The added horsepower is primarily the result of the S95H's quantum dot-enhanced OLED display. These nanocrystals are also responsible for the S95H's incredible color — it covers an impressive 89.6% of the BT.2020 color gamut.</p><p>It all adds up to a TV whose picture is as close to perfection as I've seen. But I'm still recommending the LG C6 over the S95H for most shoppers, and I suspect I'll continue doing so throughout the year.</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="cSTGNGmq6xfMtjG9k7aMVi" name="LG-C6--3" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/cSTGNGmq6xfMtjG9k7aMVi.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><h2 id="but-the-c6-is-probably-the-better-buy">...but the C6 is (probably) the better buy</h2><p>LG's mid-range marvel isn't nearly as bright as Samsung's <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TV</a>, nor is it strapped with quantum dots for brighter, purer color. But the C6 is a gorgeous sight to behold nonetheless, and it all comes down to LG's fantastic OLED engineering.</p><p>Its peak brightness of around 1,300 nits is plenty punchy when paired with the perfect black levels of an OLED-driven picture. Yes, the S95H's blistering highlights play a huge role in its eye-catching presentation, but even the most jaded of viewers are liable to be floored by the C6's excellent HDR performance.</p><div><blockquote><p>The S95H is obviously the more impressive-looking OLED, but the C6 is an order of magnitude cheaper than Samsung's top-shelf set.</p></blockquote></div><p>The C6 covers about 76% of the BT.2020, and while that isn't as impressive as the S95H, you're not likely to notice the difference outside of a direct, side-by-side comparison. More importantly, according to our testing, the C6 is terrifically accurate right out of the box.</p><div class="product"><a data-dimension112="561108ec-7efa-11f1-9c55-b14f7324f918" data-action="Deal Block" data-label="The LG C6 offers nearly all of the same features as the Samsung S95H. It also boasts all of the benefits of OLED technology, like perfect black levels, pixel-level dimming and ultra-wide viewing angles. It's one of the TVs I'll be recommending the most throughout the rest of the year." data-dimension48="The LG C6 offers nearly all of the same features as the Samsung S95H. It also boasts all of the benefits of OLED technology, like perfect black levels, pixel-level dimming and ultra-wide viewing angles. It's one of the TVs I'll be recommending the most throughout the rest of the year." data-dimension25="$1999" href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED65C6PUA/dp/B0GRK5D3RW" 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="pApZeLtG7EepRfSr7wqdbf" name="LG-C6-OLED-TV-1-by-1-Deal-Block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pApZeLtG7EepRfSr7wqdbf.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The LG C6 offers nearly all of the same features as the Samsung S95H. It also boasts all of the benefits of OLED technology, like perfect black levels, pixel-level dimming and ultra-wide viewing angles. It's one of the TVs I'll be recommending the most throughout the rest of the year.<a class="view-deal button" href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED65C6PUA/dp/B0GRK5D3RW" target="_blank" rel="nofollow" data-dimension112="561108ec-7efa-11f1-9c55-b14f7324f918" data-action="Deal Block" data-label="The LG C6 offers nearly all of the same features as the Samsung S95H. It also boasts all of the benefits of OLED technology, like perfect black levels, pixel-level dimming and ultra-wide viewing angles. It's one of the TVs I'll be recommending the most throughout the rest of the year." data-dimension48="The LG C6 offers nearly all of the same features as the Samsung S95H. It also boasts all of the benefits of OLED technology, like perfect black levels, pixel-level dimming and ultra-wide viewing angles. It's one of the TVs I'll be recommending the most throughout the rest of the year." data-dimension25="$1999">View Deal</a></p></div><p>The main reason I'll spend the rest of the year recommending the C6 over the S95H, however, has nothing to do with performance. The S95H is obviously the more impressive-looking OLED, but the C6 is an order of magnitude cheaper than Samsung's top-shelf set.</p><div><blockquote><p>The 65-inch C6 just received its first major discount of about $700, which brings its price down to $1,999. </p></blockquote></div><p>The 65-inch C6 just received its first major discount of about $700, which brings its price down to $1,999. That's not a budget-friendly sticker price, to be clear, but it's much friendlier than buying the<a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow"> 65-inch Samsung S95H for $3,299</a>.</p><p>Ask yourself this: The S95H offers better performance than the C6, but is that added performance worth an extra $1,300? For dedicated home theater enthusiasts, the answer might be yes, but the average viewer looking for high-end performance will be more than happy with the C6.</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/lg-c6-vs-samsung-s95h-we-tested-both-oled-tvs-heres-the-best-choice-for-you">LG C6 vs Samsung S95H: We pushed both OLED TVs to the limit to find the true winner</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/heres-everything-you-need-to-know-about-lgs-hyper-radiant-color-technology-and-why-you-should-want-it-in-an-oled-tv">Here’s everything you need to know about LG's Hyper Radiant Color technology — and why you should want it in an OLED TV</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H is 2026’s OLED to beat</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ High storage phones are feeling more like a scam than ever — how to avoid overpaying ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/high-storage-phones-are-feeling-more-like-a-scam-than-ever-how-to-avoid-overpaying</link>
                                                                            <description>
                            <![CDATA[ High storage phones cost a heck of a lot of money, and they may be about to get more expensive. It's about time we stopped facilitating this, because it feels like a scam. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ctoXvm6cDQL54YmQMW88Mk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 12 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 7 vs Galaxy S25 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VU2noUg3VKuYacmAcaWLFY-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Lots of people lament the <a href="https://www.tomsguide.com/news/5-reasons-i-wish-the-headphone-jack-was-coming-back">loss of the headphone jack</a> and how that changed the way we use our phones, but me? I'm still not over the fact that <a href="https://www.tomsguide.com/features/this-amazingly-small-android-phone-has-features-you-wont-find-on-an-iphone-samsung-galaxy-or-pixel">expandable storage has been relegated</a> to the bare minimum of budget handsets. These days it's been replaced with high storage options that add hundreds of dollars onto the cost of your phone.</p><p>I have always maintained that being forced to pay for the same amount of storage every time you buy a new phone is a total scam, certainly compared to being able to swap microSD cards from one device to another. </p><p>But more recently, after seeing the rumored price hikes that will affect flagship phones due to be released this year, I'm more convinced than ever that paying for storage is a complete waste of money.</p><h2 id="storage-is-an-expensive-addition">Storage is an expensive addition</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FkYnLdfVHjjo8V94zycCVV" name="iPhone 17 Pro Max-16" alt="iPhone 17 Pro Max shown in hand" src="https://cdn.mos.cms.futurecdn.net/FkYnLdfVHjjo8V94zycCVV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></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 very easy to fill up your phone's storage without even realizing it. Whether you're obsessed with apps, or can't stop taking photos and videos or your daily life, that space fills up fast. I can't tell you the number of times <a href="https://www.tomsguide.com/phones/ive-almost-filled-up-my-128gb-phone-again-and-it-makes-me-miss-microsd-card-slots">I've almost filled up the 128GB of storage</a> on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>, and had to scramble to offload files and delete things that are just wasting space.</p><p>Obviously the easiest solution to this problem is to buy a phone with more storage. A 256GB model would effectively double my storage space, and that's just the next model up. These days most flagship phones offer at least 512GB and even 1TB storage options for the people that need a lot of space on their phones.</p><p>The downside is that this causes the price of your new phone to rise by quite a bit. The <a href="https://store.google.com/config/pixel_10_pro?hl=en-US" target="_blank" rel="nofollow">128GB Pixel 10 Pro costs $999</a>, which rises to $1,099 for 256GB, $1,219 for 512GB and $1,449 for 1TB. For the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro</a> you're looking at a <a href="https://www.apple.com/shop/buy-iphone/iphone-17-pro" target="_blank" rel="nofollow">starting price of $1,099 </a>for 256GB of storage, which rises to $1,299 and $1,499 for 512GB and 1TB models. </p><p>For both these phones, you could be paying 30 to 36% more simply by upgrading your storage. That may be a good deal for those of you that need the space, and want the convenience of easy-to-use and readily-available storage on your phone. But this ends up being an expense you have to buy every time you upgrade your phone. The storage doesn't come with you, and once you're finished with the phone all that extra space is gone unless you pay the premium again.</p><h2 id="ramageddon-could-make-it-worse">RAMageddon could make it worse</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6820px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4YibtQAHoKKwDCm6y8NNaM" name="RAM Memory credit Shutterstock-2 (1)" alt="RAM stick on US dollars" src="https://cdn.mos.cms.futurecdn.net/4YibtQAHoKKwDCm6y8NNaM.jpg" mos="" align="middle" fullscreen="" width="6820" height="3836" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Right now the main problem is that the cost of storage is rising pretty rapidly. <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> hasn't just affected the cost of memory, as AI data centers eat up as much supply as they can handle, they're also buying up storage as well. Which means the cost of storage is increasing, and we've already seen reports suggesting that this is going to affect the price of high-storage phone models.</p><p>EU price leaks for the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Samsung Galaxy Z Fold 8 Ultra</a> suggest that the upcoming foldable's price will increase by as much as <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know">€280 for a 1TB model</a>. Meanwhile the 256GB and 512GB are rumored to be rising by €100 and €180, respectively. </p><p>Of course, these are just leaked prices in one part of the world, and there's no telling whether other phone companies will follow suit. In fact, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">Pixel 11 Pro XL price leaks</a> suggest a blanket €100 price increase for all models, regardless of how much storage they have. But it suggests we may be looking at a future where higher storage phones cost even more than they currently do, which means the premium of being able to have access to all that storage is even higher than before.</p><p>It certainly doesn't help that some phone companies might already follow Samsung's example, and start <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">cutting the amount of RAM on low-storage models</a>. That effectively means that the price tag for higher-specced variants has to cover the rising cost of storage and RAM.</p><h2 id="how-to-avoid-paying-for-high-storage-phones">How to avoid paying for high storage phones</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2715px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vbGrCLaZGfUvCojyg8YYUd" name="Galaxy S26 Ultra 24 hours-12" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/vbGrCLaZGfUvCojyg8YYUd.jpg" mos="" align="middle" fullscreen="" width="2715" height="1527" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Naturally there are some ways <a href="https://www.tomsguide.com/phones/buying-a-new-phone-heres-how-to-avoid-paying-for-pricey-storage-upgrades">you can avoid having to pay for high storage phones</a>, the simplest of which is to rely on the <a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">best cloud storage</a> instead. However, that comes with the added issue of having to pay a continuous subscription fee to retain access to all the files and photos you offload to the cloud.</p><p>Plus, there will be occasions where you need to either upgrade your storage allowance (in exchange for more money) or sort through your backups to free up space. So you are only delaying the problem, even if the ability to beam things into cloud storage, and access it at any time via the internet, is very convenient.</p><p>Another option is to continually offload those same files to local storage, in the form of external hard drives or networked storage. Admittedly this makes it a lot harder to access files and photos when you don't have physical access to your drives, but it's a lot more cost effective than continuously paying for high-storage phones or cloud services.</p><p>Then again, there are some <a href="https://www.tomsguide.com/computing/peripherals/im-a-content-creator-and-this-sandisk-creator-phone-ssd-is-the-storage-upgrade-id-actually-give-as-a-holiday-gift">portable hard drives that feature MagSafe compatibility</a> and let you store your extra storage on the back of your phone.</p><p>Of course there's also the tried-and-tested option, which is to buy a cheaper phone with lower amounts of storage, and do everything you can to stop it from filling up too quickly. We're talking about things like minimizing the amount of useless apps you have, shooting photos at a lower resolution, stop letting random files and downloads take up space they shouldn't have, and things of that nature.</p><p>Then again it's easier said than done to avoid high storage phones when companies are cutting the smaller 128GB models, and offering the more expensive 256GB option as the new entry-level model. As much as I was sick of having 128GB of base storage, I do wish more companies had followed <a href="https://www.tomsguide.com/phones/iphones/iphone-17-marks-the-end-of-the-128gb-phone-era-heres-why-thats-a-big-deal">Apple's example with iPhone 17 and increased the base storage at no extra cost.</a></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/phones/iphones/safari-just-got-3-massive-al-upgrades-in-ios-27-and-chrome-cant-compete">Forget Chrome — Safari just got 3 massive Al upgrades in iOS 27</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-vs-iphone-18-pro-max-five-biggest-expected-differences">iPhone Ultra vs iPhone 18 Pro Max: 5 biggest expected differences</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-ignored-every-galaxy-z-fold-8-rumor-then-these-3-leaks-changed-my-mind">I ignored every Galaxy Z Fold 8 rumor. Then these 3 leaks changed my mind</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Flip 8 could be Samsung's last flip phone — here's what we know ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-could-be-samsungs-last-flip-phone-heres-what-we-know</link>
                                                                            <description>
                            <![CDATA[ The Galaxy Z Flip 8 could be the last Samsung flip foldable to be released for the immediate future. Here's what we know. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pGwYfoyLtPpugUYAoW4whB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/stdpm3etmdUKwPei3DdUo6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Jul 2026 11:16:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/stdpm3etmdUKwPei3DdUo6-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Flip 7 review.]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Flip 7 review.]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Flip 7 review.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/stdpm3etmdUKwPei3DdUo6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I have to say, I've always found foldable flip phones more appealing than the book-shaped models like <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a>. They're shaped like a proper phone, but with the ability to fold into a more compact and convenient form for travel — like a Transformer, but without all the baggage of potentially running into a Decepticon on the highway.</p><p>Sadly, it seems Samsung may be giving up on flip phones, at least for the immediate future. We first heard <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-tipster-says-galaxy-z-flip-9-could-be-cancelled-heres-why-thats-a-terrible-idea">reports of this back in May</a>, with news that Samsung may have canceled the Galaxy Z Flip 9. Now, long-time Samsung leaker <a href="https://x.com/UniverseIce/status/2075075643017142419?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E2075075643017142419%7Ctwgr%5Eacdf0b7d443c702a11ae4cc0230f82035863c261%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.androidcentral.com%2Fphones%2Fsamsung-galaxy%2Fgalaxy-z-flip-8-might-be-the-last-galaxy-z-flip-phone" target="_blank">Ice Universe</a> has corroborated those claims with a brief post on X.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">The Samsung Galaxy Z Flip 8 is likely to be Samsung's last small folding product. pic.twitter.com/9zN4nNRLT2<a href="https://twitter.com/cantworkitout/status/2075075643017142419">July 9, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>The leaker doesn't elaborate on the post in any way, simply stating that the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Z Flip 8</a> will likely be the last small foldable that Samsung makes. Which, honestly, isn't actually that surprising when you think about it.</p><p>Over the past few years, it seems as though the Z Flip series has been an afterthought for Samsung. The focus has been on the flagship Z Fold series, and the feeling I got was that there just wasn't enough interest left to produce a really solid Z Flip upgrade. </p><p>If you think about how the series has changed over the last few years, the biggest upgrade has been the cover display, but even that has reached the point where there isn't much else that can be done. Things like the cameras and battery have barely changed, while the price has slowly risen.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WwqLgX"></div>                            </div>                            <script src="https://kwizly.com/embed/WwqLgX.js" async></script><p>On top of that, Samsung also has to contend with the rising cost of actually making these things. RAM and storage prices are sky high right now, of course, but phone production itself has become more expensive over the past several years. We may have reached the stage where interest in the Z Flip series isn't enough to justify producing them. Though I do wonder if things would be different if the lineup hadn't suffered years of stagnation and minimal attention.</p><p>The fact that Ice Universe says that this will be the last "small folding product" says a lot too. It means Samsung won't be scrapping the Z Flip series in favor of something new. Instead, it'll likely go all in on the Z Fold series now that we have Ultra and Wide variants to choose between.</p><p>It's not ideal for those of you hoping to get a foldable Galaxy experience on a smaller budget, considering the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-could-get-another-usd100-price-hike-this-year-for-the-third-time-in-a-row">astronomical Z Fold prices</a>, but at least Motorola is still in the flip foldable game. For now, anyway.</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/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">I just tested the phone everybody thinks is a preview of the iPhone Fold — God, I hope they’re wrong</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-ignored-every-galaxy-z-fold-8-rumor-then-these-3-leaks-changed-my-mind">I ignored every Galaxy Z Fold 8 rumor. Then these 3 leaks changed my mind</a></li><li><a href="https://www.tomsguide.com/how-to/hidden-samsung-galaxy-features">23 hidden Samsung Galaxy features you definitely need to be using</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 could get another $100 price hike this year — for the third time in a row ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-could-get-another-usd100-price-hike-this-year-for-the-third-time-in-a-row</link>
                                                                            <description>
                            <![CDATA[ A new report claims Samsung could increase the price of the Z Fold 8 Ultra by $100 compared to the Z Fold 7 — and that news is as shocking as licking rubber insulation. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Vmx4VBFHLNsSkdTQ2cXX28</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TUpQXWztpsvyKCquEJ7bo7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Jul 2026 10:06:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/TUpQXWztpsvyKCquEJ7bo7-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 7 review.]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 7 review.]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 7 review.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TUpQXWztpsvyKCquEJ7bo7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Earlier this week, we saw reports that the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Samsung Galaxy Z Fold 8</a> could be subjected to a serious price hike in the European market — rising by as <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know">much as €280 for some high-storage models</a>. Now U.S. pricing has leaked and, you guessed it, the prices are set to be higher than last year.</p><p>According to a new report from<a href="https://www.sedaily.com/article/20066114?ref=naver" target="_blank"> SE Daily</a>, the Samsung Galaxy Z Fold 8 (formerly known as the Z fold Wide) will come with a price tag in excess of $2,000 — possibly as high as $2,099. In comparison, the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> started at $1,999, while the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-6-review-test-results">Z Fold 6 </a>was $1,899 and the <a href="https://www.tomsguide.com/reviews/samsung-galaxy-z-fold-5">Z Fold 5</a> started at $1,799.</p><p>The upgrade from <a href="https://www.tomsguide.com/reviews/samsung-galaxy-z-fold-4">Z Fold 4</a> to Z Fold 5 was the last time Samsung kept the Z Fold series price static, which makes this price hike the third time in a row Samsung has decided we need to pay more for our folding phones.</p><p>SE Daily appears to be referring to the flagship foldable, which the rumor mill has taken to calling the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a>. This is the successor to the Z Fold 7, and is expected to come with the same form factor and high-profile features like the 200MP camera.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBz9me"></div>                            </div>                            <script src="https://kwizly.com/embed/eBz9me.js" async></script><h2 id="what-about-the-z-fold-8-wide-and-z-flip-8">What about the Z Fold 8 Wide and Z Flip 8?</h2><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="Fh92Cg5wtRa2mZBrNNLT7d" name="Galaxy Z Fold Wide edit 1" alt="Samsung Galaxy Z Fold 8 render" src="https://cdn.mos.cms.futurecdn.net/Fh92Cg5wtRa2mZBrNNLT7d.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: OnLeaks/AndroidHeadlines)</span></figcaption></figure><p>The other book-style foldable on the way is what used to be called the Galaxy Z Fold Wide, but has now started being referred to as the Z Fold 8. This foldable is set to offer a shorter and wider design, similar in shape to a passport and a close approximation of what the foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a> may look like. </p><p>SE Daily claims this phone will cost $1,899, which is $100 less than the price of a Z Fold 7. That slightly lower price tag will likely account for the fact that the Z Fold 8 doesn't have as much high-end hardware, and skips out on features like the telephoto camera lens and 200MP photo resolution. </p><p>There's no mention of how much the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Galaxy Z Flip 8</a> might cost, but the EU leak suggests we may also see a €100 price hike on the flip-foldable too.</p><p>We don't currently have any official information to work with, so it shouldn't be surprising to anyone that Samsung could increase the price of the Z Fold 8 and Z Flip 8. After all, the cost of making phones has gone up, especially if you're hoping to offer a good amount of memory and storage. So while I fully expect the price of the Z Fold 8 to go up, the question I have is how much the higher-storage variants might cost.</p><p>According to that EU leak, the 512GB Z Fold 8 Ultra will be €180 more than the equivalent Z Fold 7, while the 1TB model will be €280 more. That's a lot of extra money to be asked to spend, and it's not like Galaxy Foldables were ever cheap to begin with.</p><p>We'll find out for sure at <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked</a> on July 22, which has <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8">now been officially confirmed by Samsung</a>. The event is set to take place in London, starting at 9a.m. ET / 6 a.m. PT / 2 p.m. BST, and in the meantime you can read all about the upcoming phones in our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Samsung Galaxy Z Fold 8</a>, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Samsung Galaxy Z Fold 8 Ultra</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Samsung Galaxy Z Flip 8</a> hubs.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-official-renders-just-leaked-before-unpacked-here-it-is-in-every-single-color">Samsung Galaxy Z Fold 8 'official' renders just leaked before Unpacked — here it is in every single color</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-ignored-every-galaxy-z-fold-8-rumor-then-these-3-leaks-changed-my-mind">I ignored every Galaxy Z Fold 8 rumor. Then these 3 leaks changed my mind</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-delay-rumors-shot-down-in-new-report-now-apples-first-foldable-phone-may-launch-alongside-iphone-18-pro-after-all">iPhone Ultra delay rumors shot down in new report — now Apple's first foldable phone may launch alongside iPhone 18 Pro after all</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I ignored every Galaxy Z Fold 8 rumor. Then these 3 leaks changed my mind ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/i-ignored-every-galaxy-z-fold-8-rumor-then-these-3-leaks-changed-my-mind</link>
                                                                            <description>
                            <![CDATA[ I ignored months of Galaxy Z Fold 8 rumors, but these three recent leaks finally made me excited for Samsung's next foldable. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2c6UrqUAqqMwsobsvworE4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/iTL4gstrayu5RRNVbQG5ij-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Jul 2026 05:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC.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/iTL4gstrayu5RRNVbQG5ij-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 7 front display]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 7 front display]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 7 front display]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/iTL4gstrayu5RRNVbQG5ij-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's summertime, which means it's time for Samsung's new foldable phones. The company has <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8">confirmed July 22 for the next Galaxy Unpacked</a> event in London, where we are expected to see the new generation of foldables, including the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8 </a>series. </p><p>I'm not sure about you, but for the first time in years, I haven't been all that excited about the new Galaxy Z Fold(s). Samsung already addressed most of our long-standing complaints with the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> last year, bringing in a wider cover display and a thinner design. </p><p>Add <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> to the mix, and we can expect these new foldables to be priced sky-high and well out of our reach (unless you act fast, <a href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow">reserve your unit now</a> and save up to $1,230 on your Galaxy Z Fold 8 pre-order). </p><p>That said, a few interesting <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8 leaks</a> over the past few weeks have pulled my attention back toward Samsung's foldables. I spent the last couple of months ignoring most of the Z Fold 8 rumors, but these are the ones that finally got my attention. </p><div class="product"><a data-dimension112="64afc498-7ab7-11f1-954d-c9599b0e504b" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $0 Samsung credit during the pre-order windows up to $,1230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $0 Samsung credit during the pre-order windows up to $,1230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" 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:56.25%;"><img id="mWpzZk8WKemwjqEkA7sZHW" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mWpzZk8WKemwjqEkA7sZHW.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>You can reserve a new Galaxy Z8 foldable device to receive a $0 Samsung credit during the pre-order windows up to $,1230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow" data-dimension112="64afc498-7ab7-11f1-954d-c9599b0e504b" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $0 Samsung credit during the pre-order windows up to $,1230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $0 Samsung credit during the pre-order windows up to $,1230 in savings. You can also enter a sweepstakes for a chance to win one of 10 $500 Samsung.com gift cards." data-dimension25="$">View Deal</a></p></div><h2 id="samsung-is-breaking-its-one-book-style-foldable-a-year-pattern">Samsung is breaking its one-book-style foldable-a-year pattern</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:67.50%;"><img id="fCmtASmrt4v4j2Sb2NEpi5" name="Galaxy-Z-Wide-Fold8-5K2-1154x779" alt="Leaked renders of the Samsung Galaxy Z Fold 8 Wide" src="https://cdn.mos.cms.futurecdn.net/fCmtASmrt4v4j2Sb2NEpi5.jpg" mos="" align="middle" fullscreen="" width="1154" height="779" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines / OnLeaks)</span></figcaption></figure><p>Every time Samsung launches its Galaxy S series, it gives us a couple of options to choose from. There's the base model for people who don't want to spend too much and prefer a more compact form factor, and then there's the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-ultra-vs-galaxy-s25-ultra">Galaxy S26 Ultra</a> for those who want the best of everything, with a large screen and an S Pen. </p><p>With the Galaxy Z Fold series, things have been a little different because Samsung has only ever launched a single book-style foldable each year and called it a day. That's changing in 2026, though, as Samsung is finally rumored to debut not one but two book-style foldables this year. </p><p>Alongside the standard Galaxy Z Fold 7 successor, Samsung is said to be launching a new foldable aimed squarely at the <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a> launching later this year. This second device will reportedly have a different form factor, closer to a passport-style shape, with a less-tall but wider display. </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="erzowpsUgu6pR4mQrQZYS7" name="Huawei Pura X Max" alt="Huawei Pura X Max" src="https://cdn.mos.cms.futurecdn.net/erzowpsUgu6pR4mQrQZYS7.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>That means when it unfolds, it'll feel more like a standard tablet rather than the squarer display the current Galaxy Z Fold series offers. You'll still be able to opt for the classic book-style foldable we've seen for years, but you'll now also have the option of this new form factor entering the market. </p><p>This is where things get interesting, because Samsung is apparently changing its naming scheme too. The standard Galaxy Z Fold form factor we've known all these years will reportedly now be called the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a>, while the new passport-style form factor will take on the standard Galaxy Z Fold 8 name. </p><p>I know this is going to cause a fair bit of confusion among interested buyers, but it's apparently the direction Samsung is heading in. </p><h2 id="the-upgrade-every-foldable-fan-has-wanted-is-coming">The upgrade every foldable fan has wanted is coming</h2><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="RjTo5Kr45sWsRdZYdpfoa9" name="oppo-find-n6-hands-on-4" alt="Hands-on images with the Oppo Find N6 showing the phone and the crease from different angles" src="https://cdn.mos.cms.futurecdn.net/RjTo5Kr45sWsRdZYdpfoa9.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="credit" itemprop="copyrightHolder">(Image credit: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>If you've been following the Galaxy Z Fold 8 leaks this time around, you'll have noticed that not much is changing. You'll get a similar screen size both on the cover and unfolded, an upgraded chipset that's standard at this point, and a triple-camera setup. </p><p>But one thing that leaked only recently, and might turn out to be the biggest upgrade of all, is an improved crease. </p><p>A leaker recently revealed that Samsung has made a <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how">significant improvement to the Galaxy Z Fold 8's hinge</a>, resulting in far better crease control. They went on to suggest it could be comparable to the Oppo Find N6 that launched earlier this year. </p><p>For those who don't remember, the <a href="https://www.tomsguide.com/phones/android-phones/i-have-been-testing-oppo-find-n6-crease-free-foldable-phone">Oppo Find N6</a> launched with a virtually crease-free display. Having used it myself, I can tell you this could be the most underrated yet most impactful upgrade on the Galaxy Z Fold 8 this year.</p><p>One thing I've noticed with almost everyone who picks up a Galaxy Z Fold is how quickly they comment on the depth of the crease. If that's finally going away, it might end up drawing in more customers than any other upgrade on the phone.</p><h2 id="samsung-might-finally-fix-z-fold-s-weakest-point-the-battery">Samsung might finally fix Z Fold's weakest point: the battery</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4064px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DkndawpUeS3uUddnQK8peR" name="Galaxy Fold 7-LIST1" alt="Samsung Galaxy Z Fold 7 shown in hand" src="https://cdn.mos.cms.futurecdn.net/DkndawpUeS3uUddnQK8peR.jpg" mos="" align="middle" fullscreen="" width="4064" height="2286" attribution="" endorsement="" class="inline"></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 one leak that's really got me interested in the Galaxy Z Fold 8 series is the battery capacity. For years, we've complained that the Galaxy Z Fold has fallen behind its Chinese competitors when it comes to battery life.</p><p>We've seen foldables like the Oppo Find N6 and the Honor Magic V6 pack more than 6,000mAh, while Samsung has stuck with sub-4,400mAh batteries on the Galaxy Z Fold for years.</p><p>That finally seems to be changing this year. The Galaxy Z Fold 8 Ultra and Galaxy Z Fold 7 are <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-tipped-for-a-major-charging-upgrade-iphone-fold-should-take-notes">rumored</a> to come with 5,000mAh and 4,800mAh batteries, respectively, which would bring the foldables much closer to the competition. </p><p>It might still not go toe-to-toe with the biggest batteries out there, but paired with the Snapdragon 8 Elite Gen 5's efficiency, I'm more than hopeful Samsung will finally deliver better battery life than before.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WnmoAe"></div>                            </div>                            <script src="https://kwizly.com/embed/WnmoAe.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/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">I just tested the phone everybody thinks is a preview of the iPhone Fold — God, I hope they’re wrong</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-vs-iphone-18-pro-max-five-biggest-expected-differences">iPhone Ultra vs iPhone 18 Pro Max: 5 biggest expected differences</a></li><li><a href="https://www.tomsguide.com/how-to/hidden-samsung-galaxy-features">23 hidden Samsung Galaxy features you definitely need to be using</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ LG C6 vs Samsung S95H: We pushed both OLED TVs to the limit to find the true winner ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/lg-c6-vs-samsung-s95h-we-tested-both-oled-tvs-heres-the-best-choice-for-you</link>
                                                                            <description>
                            <![CDATA[ The LG C6 and the Samsung S95H are two of the best OLED TVs of 2026. Here's how they compare — from performance to features and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mmHB26iCcNAsimbh8UekHS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VLCVcqCXQgyQMCEKr7cgWo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 09 Jul 2026 09:15:00 +0000</pubDate>                                                                                                                                <updated>Thu, 09 Jul 2026 19:01:29 +0000</updated>
                                                                                                                                            <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/VLCVcqCXQgyQMCEKr7cgWo-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The LG C6 and the Samsung S95H in a side-by-side composite]]></media:description>                                                            <media:text><![CDATA[The LG C6 and the Samsung S95H in a side-by-side composite]]></media:text>
                                <media:title type="plain"><![CDATA[The LG C6 and the Samsung S95H in a side-by-side composite]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VLCVcqCXQgyQMCEKr7cgWo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</a> is one of the year's<a href="https://www.tomsguide.com/us/best-tvs,review-2224.html"> best TVs</a>, and it's easy to see why. In addition to its incredible, OLED-driven performance, the C6 offers more gaming- and streaming-related features than any other TV in its class. Like its predecessors, its mid-range price is sure to make it a popular pick.</p><p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a>, on the other hand, is a significant step up from the C6 in many ways. It's arguably the best TV in Samsung's 2026 lineup, and maybe the best TV the brand has ever engineered. Thanks to its quantum dot-enhanced OLED panel, the S95H delivers better brightness and color than the LG C6, but its divisive design and sky-high price tag could limit its appeal.</p><p>If you're in the market for an OLED TV this year and you're willing to spend on something beyond the entry-level tier, the C6 and S95H ought to be on your short list. Here's how they stack up when it comes to performance, design and features.</p>        <div class="featured_product_block featured_block_versus" data-id="886e0378-7ae8-11f1-af43-1337672daa23">            <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review" data-model-name="LG C6 OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yZJJv6Rpskz5oXrVozrW7o.jpg" alt="The LG C6 OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">LG C6</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>As the brand's newest mid-range OLED TV, the LG C6 delivers an excellent blend of performance and value. It's picture quality is superb, but it's not as bright or as colorful as the Samsung S95H. Nevertheless, its versatile size selection and lower price make it a better fit for most folks.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="886e0486-7ae8-11f1-9f67-3bb66e9ece6f">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review" data-model-name="Samsung S95H" 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/yK3hWXsaCPxA6vQ4UNQjCc.jpg" alt="Samsung S95H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S95H</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"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="100" /></span></div>                                        <p><p>The Samsung S95H is one of the best OLED TVs I've ever seen, as it delivers a stunning, quantum dot-enhanced picture and nearly every feature one could want. It's also one of the priciest TVs you can buy, so the LG C6 will likely be a more attractive option for OLED-shoppers.</p></p>                </div>                            </div>        </div><h2 id="lg-c6-vs-samsung-s95h-specs-compared">LG C6 vs Samsung S95H: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S95H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>42", 48", 55", 65"</p></td><td  ><p>55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>webOS 26</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>a11 AI Processor 4K Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>First, let's take a look at the available size options in both series. You can buy the LG C6<em> </em> in 77- and 83-inch variants, but these are classified as an altogether different model called the LG C6H. In other words, if you want a 77- or 83-inch LG C6, you'll technically have to buy the C6H. </p><p>We've yet to test either the 77- or 83-inch versions of the C6H, but LG promises better performance on these sets on account of the fact that they're equipped with LG Display's newest RGB Tandem OLED display. This panel type allows for higher brightness and better color volume than the standard WOLED displays found on the 42- to 65-inch versions of the C6.</p><p>There's panel variance to be aware of on Samsung's side, too. The 55-, 65- and 77-inch versions of the S95H harness Samsung Display's quantum dot-enhanced OLED display, while the 83-inch S95H uses LG Display's RGB Tandem OLED panel, similar to the C6H. (I'll dive into how the differences in panel type affect performance later on.)</p><p>One of the biggest differences between these sets lies in HDR support. Like all LG OLEDs, the C6 supports Dolby Vision, a proprietary version of enhanced HDR.</p><p>As is the case with all Samsung TVs, the S95H <em>does not</em> support Dolby Vision. Instead, Samsung offers HDR10+, a royalty-free version of Dolby Vision that  leverages metadata to adjust the picture on a frame-by-frame basis, similar to how Dolby Vision works.</p><p>You'll still be able to watch Dolby Vision-mastered content on the S95H, but the picture will fall back to standard HDR10. It'll certainly look great, but technically speaking, the S95H can't take full advantage of Dolby Vision's efforts to replicate the creator's intent. (To learn more check out our guide to <a href="https://www.tomsguide.com/tvs/do-you-actually-need-dolby-vision-on-your-next-tv-heres-the-answer">whether or not you need Dolby Vision</a>.)</p><p>Neither OLED supports ATSC 3.0, which allows over-the-air broadcasts to be piped-in at native 4K resolution. However, both sets serve up four HDMI 2.1-compatible inputs and support 4K gaming at 120Hz (and up to 165Hz when a PC is connected).</p><p>With everything else being mostly equal, the C6's Dolby Vision support and wider range of size options gives it an edge here.</p><p><em><strong>Winner: </strong></em><em>LG C6</em></p><h2 id="lg-c6-vs-samsung-s95h-design">LG C6 vs Samsung S95H: design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="4hk6YBsm54ZTtJ2tU5FFSi" name="LG-C6--9" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/4hk6YBsm54ZTtJ2tU5FFSi.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></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 C6 (seen above) mostly sticks to the design approach of its predecessor, the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c5-oled-tv-review">LG C5</a>. That's good news, because it's an elegant-looking TV.</p><p>The C6's downward-slanting, wedge-shaped sits below the center of the screen. It sits low on its surface, so folks with taller soundbars ought to make sure the C6's design offers enough clearance.</p><p>I really love the sleek, thin look of the C6, since it leans into the flexible design elements OLED TVs are known for. And, while you'll almost never see this particular design flourish, I also dig the marble-like finish across the back of the C6's panel.</p><p>The C6 comes with the newest version of LG's Magic Remote. Like older versions of the Magic Remote, the C6's clicker can be used to point and click at the screen like a Wii-mote. If you don't want to use it (which I rarely do), there's a directional pad here, too.</p><p>Whether you mount it on the wall or set it up on a credenza, the C6's design is both premium-looking and convenient. The Samsung S95H, on the other hand, is a different story.</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="GAb2zLXjveaTTdLRkMjPq9" name="Samsung-S95H--6" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/GAb2zLXjveaTTdLRkMjPq9.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>Built around Samsung's flagship OLED screen is a thick, metallic frame. The brushed-metal material plays the part of a premium piece of engineering, but it's quite divisive nonetheless.</p><p>For my money, the S95H's metal frame allows it to look better in a wall-mounted position than a wall-mounted C6. It keeps the S95H flush against the wall and resembles a portrait frame.</p><p>But on a credenza, media console or table, the LG C6 is a better-looking TV. The S95H comes with a pair of L-shaped feet if you don't decide to wall-mount it, but its frame (which can't be detached) looks out of place when not on a wall.</p><p>Like the its previous two predecessors, the S95H's screen features Samsung's Glare Free display. This matte-style finish is unparalleled in its ability to reduce direct glare, but it does so at a cost.</p><p>In well-lit rooms (especially during the day), the S95H's matte finish lifts the TV's black levels due to the manner in which it scatters incoming light. When this happens, darker portions of the screen can appear purplish- or pinkish-gray rather than deep, inky and black.</p><p>Thanks to its glossy-style screen, the C5 doesn't have this issue in well-lit rooms. However, it's nowhere near as adept at blunting the impact of direct glare.</p><p>Both TVs are rocking thoughtful, premium designs, but depending on your needs, you might favor one over another. The C6 is more versatile and the S95H is more specialized.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s95h-performance">LG C6 vs Samsung S95H: Performance</h2><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="p94JnLVCUK4kYgV5pW2q3A" name="Samsung-S95H--10" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/p94JnLVCUK4kYgV5pW2q3A.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>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were in their respective Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>LG C6</strong></p></th><th  ><p><strong>Samsung S95H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>355</p></td><td  ><p>253</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>1.5</p></td><td  ><p>2.2</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>1,355</p></td><td  ><p>2,721</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.77%</p></td><td  ><p>99.92%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>75.92%</p></td><td  ><p>89.6% </p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.1</p></td><td  ><p>9.7</p></td></tr></tbody></table></div><p>Both of these sets are capable of delivering the key features that OLED TVs are known for: perfect black levels and pixel-level dimming. As a result, pretty much everything looks superb on both the C6 and the S95H. However, if you take a peek under their respective hoods, you'll see that their display hardware plays a big part in the S95H's built-in advantages.</p><p>As mentioned, the C6 leverages LG Display's standard WOLED display, while the S95H taps Samsung Display's quantum dot-enhanced OLED display.</p><p>QD-OLEDs tend to offer brighter highlights and purer color than garden-variety WOLED panels, and we can see that in test results of the C6 and S95H. Samsung's flagship is capable of driving nearly twice as much brightness to specular highlights, and this has a tremendously positive impact on visual depth and clarity.</p><p>Fiery sparks, pools of reflective light and muzzle flares are much, <em>much </em>brighter on the S95H during HDR content. In addition, Samsung's quantum dot-enhanced display allows for better overall color volume than the C6, so everything from skin tones to foliage has a chance of looking richer on Samsung's flagship OLED.</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="jg7j6rWsv5fcAUR3h2qbTi" name="LG-C6--2" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/jg7j6rWsv5fcAUR3h2qbTi.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><div><blockquote><p>Fiery sparks, pools of reflective light and muzzle flares are much, much brighter on the S95H.</p></blockquote></div><p>Make no mistake: The C6 is still an incredible performer. Over 1,300 nits of HDR highlight brightness is nothing to scoff at, and the self-emissive nature of OLED means that the C6 gets more out of its highlight brightness than an LCD TV with similar brightness levels. Colors are well-saturated, too, even if the C6 can't cover as much of the expanded color gamut as the S95H.</p><p>If the LG C6 is a 9/10 performer, the S95H offers 10/10 picture quality. In this case, the difference between a 9 and 10, however, is pretty wide. Both are excellent options if you care about picture quality, but the S95H offers some of the best performance I've ever seen.</p><p><em><strong>Winner:</strong></em><em> Samsung S95H</em></p><h2 id="lg-c6-vs-samsung-s95h-smart-platform-and-features">LG C6 vs Samsung S95H: Smart platform and 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:1805px;"><p class="vanilla-image-block" style="padding-top:56.18%;"><img id="sdYXGmHMCP7u9WFkt43kRi" name="LG-C6--8" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/sdYXGmHMCP7u9WFkt43kRi.jpg" mos="" align="middle" fullscreen="" width="1805" height="1014" attribution="" endorsement="" class="inline"></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 C6 ships with the newest version of LG's webOS. It's a similar experience to last-year's version of webOS, but a handful of tweaks to the interface and menu layout make it a bit easier to navigate this year.</p><p>As far as smart platform software goes, LG's webOS isn't my top choice (that honor goes to Roku). It's littered with ads and recommended content, and at times, the software feels a bit sluggish.</p><p>That said, webOS will get the job done if you'd rather not shell out for a dedicated streaming box. I suspect that most people will see no problem using it as their daily streaming platform.</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="tzqh5vreic2Q7xpELi9Lt9" name="Samsung-S95H--12" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/tzqh5vreic2Q7xpELi9Lt9.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: Tom's Guide)</span></figcaption></figure><p>The S95H arrives with a recently refreshed version of Samsung's Tizen-based smart platform, Smart Hub. It's similar to what we used last year, but as is the case with webOS, Samsung has made some minor changes to improve navigation. For instance, new this year is a menu bar at the top of the screen that makes it easier to access important settings.</p><p>Unless you have strong feelings about either streaming software, both webOS and Smart Hub are similar in their perks and pain points. In other words, they're passable.</p><p>As far as gaming features go, the C6 and S95H are almost identical. As mentioned, each OLED offers HDMI 2.1-compatibility across all four inputs, which means you don't have to juggle devices to maximize bandwidth.</p><p>These TVs can make the most out of 4K titles on current-generation consoles, as they each support 4K gaming at 120Hz (and up to 165Hz with a PC linked up). Both offer Variable Refresh Rate (VRR), Auto Low Latency Mode (ALLM) and a version of AMD FreeSync Premium for smooth, artifact-free gameplay.</p><p>We've already docked the S95H for its lack of Dolby Vision support, and setting this aside, these TVs are very similar when it comes to software and enhancements. They're powerful gaming TVs with average streaming platforms.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="lg-c6-vs-samsung-s90f-verdict">LG C6 vs Samsung S90F: Verdict</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S95H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>25</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>94</strong></p></td><td  ><p><strong>96</strong></p></td></tr></tbody></table></div><p>Here's some good news: No matter which set you settle on, you're getting one of the best OLED TVs of the year. But let's take a closer look at some key factors.</p><p>If you absolutely, positively want Dolby Vision support, the answer is easy: Buy the C6. Likewise, if you're looking for an OLED screen under 55 inches, the C6 is the answer.</p><p>The S95H is the OLED to buy if you favor picture quality above all else. Its added brightness and quantum-dot color add up to performance that's a significant step up from the C6. Similarly, if you have bright light sources in your living space and you suspect that the S95H's matte-style screen will help, Samsung is probably the way to go.</p><p>Price is important, too. Today, you can spring for a <a href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED65C6PUA/dp/B0GRK5D3RW/" target="_blank" rel="nofollow">65-inch C6 for $1,999 on Amazon</a>. The <a href="https://www.amazon.com/LG-Upscaling-Filmmaker-Compatible-OLED55C6PUA/dp/B0GS4231WF/" target="_blank" rel="nofollow">55-inch LG C6 is available for just $1,699 on Amazon</a>. That's not exactly cheap, but it's a far better cost than what you'll have to shell out for Samsung's top OLED TV.</p><p>Right now, the <a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow">65-inch Samsung S95H is $3,299 at Best Buy</a>. The <a href="https://www.bestbuy.com/product/samsung-55-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q38Q/sku/6671661" target="_blank" rel="nofollow">55-inch S95H is $2,299 at Best Buy</a> — a full $600 more than the 55-inch C6.</p><p>This gulf in pricing is why I recommend the LG C6 to most shoppers. It's still a stunning, high-performing TV that delivers everything I appreciate about OLED technology, but it's much more accessible. The S95H is more of a luxury purchase for those who want the best of the best.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQA6zW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQA6zW.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/tvs/oled-tvs/lg-c6-oled-review">LG C6 OLED review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 'official' renders just leaked before Unpacked — here it is in every single color ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-official-renders-just-leaked-before-unpacked-here-it-is-in-every-single-color</link>
                                                                            <description>
                            <![CDATA[ Samsung is planning to launch its new foldables in two weeks but fresh leaked images reveal the phone. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bMHyexDwuVGTrdr3DrMxkh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 23:04:14 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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/png" url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png">
                                                            <media:credit><![CDATA[Android Headlines / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked &quot;official&quot; renders]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RVBx3ZrBCzhMJDv2xPbSz4-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung just announced its next <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8">Galaxy Unpacked event,</a> where the wider <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8 </a>should debut. As we get close to the July 22 reveal, more leaks have started popping up.</p><p>The latest comes from Android Headlines, who claim to have official renders of the new Samsung Galaxy Z Fold 8. The new foldable should be wider and shorter than the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a>.</p><p>The leaked images seem to line up with <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-goes-full-taylor-swift-with-wide-galaxy-z-fold-8-tease-by-wiping-its-instagram-bold-stroke-new-shape">Samsung's own teasing imagery</a> that shows a squatter foldable in at least three colorways: cream, graphite and lavender. AH also says that Samsung.com will get a fourth exclusive color, pistachio.</p><p>Here's what they look like:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/oXa3EgJef8m8m6Kegginp4.png" alt="Samsung Galaxy Z Fold 8 leaked "official" renders" /><figcaption><small role="credit">Android Headlines / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hJuTyYkSFNXZa8tuwWKYk4.png" alt="Samsung Galaxy Z Fold 8 leaked "official" renders" /><figcaption><small role="credit">Android Headlines / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/UXWN6x4PJvfNn6HCBsU2j4.png" alt="Samsung Galaxy Z Fold 8 leaked "official" renders" /><figcaption><small role="credit">Android Headlines / Tom's Guide</small></figcaption></figure></figure><h2 id="what-we-know-about-the-galaxy-z-fold-8">What we know about the Galaxy Z Fold 8</h2><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="MUz7SRqUeezZBpFKKe2afQ" name="Galaxy Z Fold 8 case" alt="Galaxy Z Fold 8 case render" src="https://cdn.mos.cms.futurecdn.net/MUz7SRqUeezZBpFKKe2afQ.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: Android Headlines)</span></figcaption></figure><p><a href="https://www.tomsguide.com/phones/samsung-phones/samsungs-galaxy-z-fold-8-wide-revealed-in-leaked-renders-and-the-iphone-fold-should-be-worried">Previously leaked renders </a>measured the Z Fold 8 at 4.87 x 6.35 x 0.19 inches when unfolded, and 4.87 x 3.23 x 0.38 inches when folded. It should weigh around 200 grams, lighter than even the Z Fold 7.</p><p>This week, it was revealed that <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how">Samsung may have finally eliminated the crease</a> on the foldable display. And it will be <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">powered by Qualcomm's Snapdragon 8 Elite Gen 5</a>, the same chipset as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-review">Galaxy S26</a> series. </p><p>As a reminder, because even I get confused by this, the Galaxy Z Fold 8 Ultra is <a href="https://www.tomsguide.com/phones/samsung-phones/first-look-samsung-galaxy-z-fold-8-renders-just-leaked-the-new-foldable-in-full">expected to be the successor</a> to the Galaxy Z Fold 7. The Galaxy Z Fold 8 is the wider version previously dubbed the Galaxy Z Fold 8 Wide.</p><p>It hasn't been made clear why Samsung is going with this confusing naming convention. The Ultra version should be slightly larger and the Fold 8 is supposed to compete directly with the rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra foldable</a>.</p><h2 id="release-date-and-price">Release date and 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:1154px;"><p class="vanilla-image-block" style="padding-top:67.50%;"><img id="JxanPkfW2ApjHk7pmVmKVK" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/JxanPkfW2ApjHk7pmVmKVK.jpg" mos="" align="middle" fullscreen="" width="1154" height="779" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>As mentioned, Samsung's next event is Galaxy Unpacked taking place on July 22 at  9 a.m. ET/ 6 a.m. PT/2 p.m. BST in London. </p><p>We expect to see Samsung announce the  we expect to see Samsung announce the Galaxy Z Fold 8, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a> and<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far"> Galaxy Z Flip 8</a>. Samsung should also announce the <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-9-and-ultra-2-rumors-everything-weve-heard-so-far">Galaxy Watch 9 series</a> as well as the sequel <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-rumors-heres-everything-we-expect-from-samsungs-next-gen-rugged-smartwatch">Galaxy Watch Ultra 2</a> this year.</p><p>Every device will likely hit store shelves or your mailbox about a week or two later.</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/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">Samsung just confirmed the most obvious Galaxy Z Fold 8 upgrade — but I'm still surprised</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know">If you are planning to buy the Samsung Galaxy Z Fold 8 or Galaxy Watch 9, a new leak reveals you might have to pay up to $280 more than last year</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how">Samsung Galaxy Z Fold 8 just stole the iPhone Ultra's secret weapon</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung just confirmed the most obvious Galaxy Z Fold 8 upgrade — but I'm still surprised ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised</link>
                                                                            <description>
                            <![CDATA[ Samsung just confirmed which chip the Galaxy Z Fold 8 will run on, and it's simultaneously surprising and obvious. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JaQN5qdcVRN4Med2GQR5hT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 10:40:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Android Headlines]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung has just confirmed that the <strong>next wave of </strong><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8"><strong>Galaxy Foldables will arrive on July 22,</strong></a> at a special Galaxy Unpacked event in London. The company has also <a href="https://www.instagram.com/reels/DabdLG2yRdp/" target="_blank">confirmed</a> a major piece of hardware for the phone, promising that the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a> will be powered by<strong> </strong>the same <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600"><strong>Samsung Galaxy 8 Elite Gen 5 for Galaxy chipset</strong></a><strong> as the </strong><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-review"><strong>Galaxy S26</strong></a><strong> series. </strong></p><p>While the inclusion of the chip seems obvious, it's actually surprising to see that Samsung is utilizing the custom "For Galaxy" chip in a foldable. While Qualcomm has provided custom Snapdragon chips for Samsung for the past four generations, starting with the Snapdragon 8 Gen 2 for Galaxy, this will be <strong>the first time we see one used to power a foldable</strong>.</p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DabdLG2yRdp/" target="_blank">A post shared by Samsung Mobile (@samsungmobile)</a></p><p>A photo posted by  on </p></blockquote></div><p>The key benefit here is that the For Galaxy chips are often more powerful and offer better performance than their off-the-shelf counterparts. Considering the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> used one of the latter chips, it means there should be a <strong>noticeable boost in performance on the Z Fold 8</strong> than we were expecting.</p><p>It's also worth noting that the teaser suggests <strong>this upgrade will not be exclusive to the </strong><a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold"><strong>Galaxy Z Fold 8 Ultra</strong></a>. We don't actually see one of the upcoming phones, but the outline of one is prominently featured in the video — an outline that is simultaneously too wide and too narrow to be the Z Fold 8 Ultra.</p><p>This suggests that this is the general shape of the Galaxy Z Fold 8, formerly known as the Z Fold Wide, which is set to be shorter and wider than past Z-series foldables. This fits the outline perfectly, and suggests both Z Fold 8 models will have similar levels of performance. That should prove to be a boon for high-process features like gaming and on-device AI.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBz9me"></div>                            </div>                            <script src="https://kwizly.com/embed/eBz9me.js" async></script><p>The one phone we don't expect to get the Gen 5 Elite for Galaxy chip is the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Galaxy Z Flip 8</a>. Or at least, it won't be getting it in all regions. Rumor has it that at least <a href="https://www.gsmarena.com/samsung_galaxy_z_flip8_will_use_the_exynos_2600_in_these_regions-news-73173.php" target="_blank">some parts of the world</a> will see the flip-foldable come with the Exynos 2600 chipset, and it's unclear whether Samsung will continue a trend it started with the<a href="https://www.tomsguide.com/phones/samsung-phones/i-lived-with-the-galaxy-z-flip-7-for-8-months-6-improvements-im-holding-out-for-with-the-galaxy-z-flip-8"> Z Flip 7</a> and use Exynos chips to power its flip phone all around the world.</p><p>Considering recent reports that the upcoming <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know">Galaxy foldables will suffer some major price hikes</a>, this news couldn't come at a better time. After all, if Galaxy Z Fold phones have been running on standard Snapdragon chips for the past three years, then <strong>the switch to a more powerful variant makes any potential price hike a little more justified</strong>. Not that we like paying more for our phones, even if they do come with surprising hardware upgrades.</p><p>The next wave of Galaxy Foldables will be unveiled at <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked on July 22</a>, and in the meantime you can check out our official <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Samsung Galaxy Z Fold 8</a>, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Samsung Galaxy Z Fold 8 Ultra</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Samsung Galaxy Z Flip 8 </a>hubs for all the latest news and rumors.</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/phones/iphones/ios-27-has-a-hidden-liquid-glass-slider-here-is-how-to-find-and-use-it">iOS 27 has a new ‘Liquid Glass’ slider — here is how to find and use it</a></li><li><a href="https://www.tomsguide.com/phones/apple-buried-a-perfect-dumb-phone-feature-inside-your-iphone-heres-how-to-turn-it-on">Apple hid a perfect 'dumb phone' feature inside your iPhone that's great for kids — here's how to turn it on</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">Google Pixel 11 release date and prices leak as official August 12 Pixel event invites go out</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung S95H vs S85H: We've tested both new OLED TVs and this is what I recommend ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-vs-s85h-weve-tested-both-new-oled-tvs-and-this-is-what-i-recommend</link>
                                                                            <description>
                            <![CDATA[ The Samsung S95H is one of the best OLED TVs of 2026, but the entry-level S85H is more affordable. Here's how they compare — from performance to features and design. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XAmZT7ddZGhmKvsMBTkGxG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BtbQJ9qmHzVm4myKornK5k-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 08 Jul 2026 05:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&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/BtbQJ9qmHzVm4myKornK5k-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Samsung S95H and S85H OLED TVs]]></media:description>                                                            <media:text><![CDATA[The Samsung S95H and S85H OLED TVs]]></media:text>
                                <media:title type="plain"><![CDATA[The Samsung S95H and S85H OLED TVs]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BtbQJ9qmHzVm4myKornK5k-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a> is not only one of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> of the year, it's one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> I've ever seen. It recently earned our coveted five-star rating thanks to its jaw-dropping performance and its thorough array of features, but starting at $2,299 (for 55-inch) its prohibitively pricey for most people and its metal-frame design is divisive.</p><p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s85h-oled-review">Samsung S85H</a>, which earned 4 stars in our review, is the brand's entry-level OLED for 2026. As such, it's far less expensive than its flagship-level sibling, starting at $1,199 for a 48-inch. It comes with a ton of nifty features despite its entry-level status, but its otherwise-impressive picture can't compete with the quantum dot-enhanced performance you'll see on the S95H.</p><p>If you're shopping for an OLED TV this year, these sets are worthy candidates. Fortunately, we've tested both extensively, and I've got over a decade of experience under my belt. Here's how the Samsung S95H and S85H OLED TVs compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="5406e526-7a27-11f1-9811-af4c7c77a190">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review" data-model-name="Samsung S95H" 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/yK3hWXsaCPxA6vQ4UNQjCc.jpg" alt="Samsung S95H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S95H</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"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="100" /></span></div>                                        <p><p>Simply put, the Samsung S95H is one of the best OLED TVs ever made, as it delivers incredible, quantum dot-enhanced picture quality and nearly every feature under the sun. It's also one of the priciest TVs of the year, so it won't be a good financial fit for most people.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="5406e5a8-7a27-11f1-8d88-61fa9253d80a">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s85h-oled-review" data-model-name="Samsung S85H OLED 4K TV (2026)" 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/2VRur2GLqSS7NxdUPivKXf.jpg" alt="Samsung S85H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S85H</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>Samsung's entry-level OLED is one of the more affordable ways to secure an OLED TV in 2026, and it arrives with plenty of useful features. Thanks to its OLED display, the S85H's picture quality is quite good, but it's nowhere near as bright and colorful as the S95H.</p></p>                </div>                            </div>        </div><h2 id="samsung-s95h-vs-s85h-specs-compared">Samsung S95H vs S85H: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S85H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 77", 83"</p></td><td  ><p>48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Tizen OS</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>NQ4 AI Gen3</p></td><td  ><p>NQ4 AI Gen2</p></td></tr></tbody></table></div><p>These TVs share many of the same specs despite their different price points. Like all Samsung TVs, neither of these OLEDs supports Dolby Vision, the most widely used, enhanced HDR format. However, they're among the very first Samsung TVs to arrive with <a href="https://www.tomsguide.com/tvs/dolby-vision-2-vs-hdr10-advanced-read-this-before-you-buy-your-next-tv">HDR10+ Advanced</a>, an all-new, royalty-free Dolby Vision alternative. HDR10+ Advanced is a direct competitor of <a href="https://www.tomsguide.com/tvs/dolby-vision-2-helps-your-tv-make-better-choices-whether-its-a-premium-oled-or-budget-lcd-and-you-dont-have-to-do-anything-at-all">Dolby Vision 2</a>, the newest version of Dolby Vision HDR.</p><p>Conveniently, the S85H is available in a smaller, 48-inch screen size and goes up to 83 inches. This is good news for people looking for a more modestly sized OLED TV. The S95H starts at 55 inches and goes up to 83 inches.</p><p>Although both sets support 4K content at 120Hz (the highest 4K spec for current-gen gaming consoles), the S95H can showcase 4K/165Hz content with a PC linked up. And, while it's only relevant for a small subset of people, the S95H can support an optional, external One Connect Box if you need up to four additional HDMI ports.</p><p><em><strong>Winner:</strong></em><em> Samsung S95H</em></p><h2 id="samsung-s95h-vs-s85h-design">Samsung S95H vs S85H: Design</h2><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="GAb2zLXjveaTTdLRkMjPq9" name="Samsung-S95H--6" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/GAb2zLXjveaTTdLRkMjPq9.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><div><blockquote><p>The Samsung S95H's most eye-catching feature is its metal frame.</p></blockquote></div><p>The first thing we ought to discuss is the Samsung S95H's most eye-catching (albeit divisive) feature: a metal frame surrounding its picture.</p><p>The S95H's OLED screen sits <em>above</em> this metallic frame, elegantly lifting the entire picture closer to the viewer. The brushed-metal material looks and feels like a premium flourish, but it won't be everyone's cup of tea.</p><p>Personally speaking, I don't mind the look of the S95H's frame when the TV is mounted on a wall, but it draws more attention to itself when its positioned atop the S95H's included feet. (It's important to note that the frame can't be detached, so if you don't dig the look, you won't be able to duck it.)</p><p>The metal frame isn't the only bold design choice found on the S95H. Like the pair of Samsung-branded flagship OLEDs that preceded it, the S95H's screen features Samsung's now-iconic, Glare Free display.</p><p>This matte-style finish does a fantastic job of eliminating direct glare, but there's a catch: During daytime viewing (or whenever there's an average amount of ambient light), the S95H's matte-style screen lifts its black levels due to the scattering of light. When this happens, darker sequences can appear purplish-gray instead of deep, inky and black.</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="BAtbJgJEVuXSYEuFS2ctza" name="Samsung-S85H--12" alt="Samsung S85H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/BAtbJgJEVuXSYEuFS2ctza.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><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</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="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.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: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>The S85H (seen above) doesn't come with Samsung's Glare Free display. Instead, it features a good ol' fashioned, glossy-style screen.</p><p>This means that, when there's an average amount of light in the room, the S85H's black levels will appear darker, and closer to the way you might expect when imagining OLED-backed performance.</p><p>Unfortunately, if a bright source of light (like a window or lamp) is caught in the S85H's reflection, you'll see most of its impact on the picture. It simply can't blunt the contours of that glare as effectively as the S95H's matte screen.</p><p>The S85H isn't sporting a wide, metallic frame, either, which could be a positive or a negative depending on your taste. Its pair of L-shaped feet keep the panel in place without much wobble, and without the frame, its wafer-thin panel is proudly spotlighted.</p><p>Both OLEDs arrive with Samsung's Solar Cell remote control in the box. It's light-powered lithium-ion battery is mighty convenient and saves on waste, but its lack of backlight feature (to say nothing of its missing input button) remains a drag in 2026.</p><p>While there's no denying that the S95H's overall build quality comes with a more premium look and feel, its bold aesthetic touches will either entice or repulse depending on the viewer. Points for style, I suppose.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s85h-performance">Samsung S95H vs S85H: Performance</h2><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="ddhs67cP7D9Efs3irU7iy9" name="Samsung-S95H--8" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/ddhs67cP7D9Efs3irU7iy9.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>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were switched into Samsung's Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Samsung S95H</strong></p></th><th  ><p><strong>Samsung S85H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>253</p></td><td  ><p>470</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>2.2</p></td><td  ><p>1.7</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,721</p></td><td  ><p>770</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.92%</p></td><td  ><p>97.5%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.6%</p></td><td  ><p>72.9%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.7</p></td><td  ><p>9.2</p></td></tr></tbody></table></div><p>Somewhat surprisingly, in Filmmaker mode, the entry-level S85H offers slightly brighter performance when showing SDR content. This means that run-of-the-mill, average stuff like cable TV, YouTube videos and most over-the-air programming are a touch brighter on the S85H when watching in Samsung's most-accurate picture mode.</p><p>That said, I need to stress that the difference in brightness in SDR is quite slim, and the S95H's superior processing (which includes upscaling) is the real difference-maker during most SDR content.</p><p>In nearly every other way that matters, the S95H is a better-performing TV, and it all comes down to OLED type; the lower-end S85H taps a standard WOLED display, while the 55-, 65- and 77-inch versions of the flagship-level S95H are equipped with Samsung Display's quantum dot-enhanced OLED display.</p><p>The 83-inch S95H also leverages enhanced OLED technology. This model makes use of LG Display's RGB Tandem OLED panel, a sort of souped-up WOLED display.</p><p>There are many <a href="https://www.tomsguide.com/tvs/oled-tvs/qd-oled-vs-woled-whats-the-difference-in-2025">differences between QD-OLED and WOLED</a>, but for our purposes, here's what you need to know: Every size option in the S95H series offers better HDR brightness and color volume than what you'll see across the S85H series, and it's not particularly close.</p><p>As you can see from our test results, the S95H is capable of driving over twice the highlight brightness in HDR compared to the S85H. In real-world terms, this means that small, shimmering reflections of sunlight, distant streetlights and muzzle flashes will look far more realistic on the S95H.</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="jSU9ZTuUfty8G2jYgYdq5b" name="Samsung-S85H--2" alt="Samsung S85H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/jSU9ZTuUfty8G2jYgYdq5b.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><div><blockquote><p>Everything from skin tones to sunsets look truer to life on the higher-end S95H.</p></blockquote></div><p>The S95H also excels in the always-important color category. Thanks to its enhanced OLED display, it covers a whopping 89% of the BT.2020 color space compared to about 73% on the S85H.</p><p>In a footrace, quantum-dot OLEDs gain most of their ground against WOLED due to their ability to work with brighter, purer shades of color. As a result, everything from skin tones to sunsets look truer to life on the higher-end S95H.</p><p>(I should note that, while we haven't tested the 83-inch version of the S95H, I don't expect its RGB Tandem OLED panel to be quite as colorful as the quantum dot-equipped displays attached to the 55-, 65- and 77-inch versions. Nevertheless, I <em>do </em>expect this version to offer significantly better color volume than all sizes of the S85H.)</p><p>The good news is that, no matter its limitations, the S85H is still an OLED TV. It still comes with perfect black levels and pixel-level dimming. Like all OLEDs, it's not saddled with light bloom, nor does it exhibit haloing around super-bright objects.</p><p>Most folks will be gobsmacked by the S85H's picture quality. The S95H is simply brighter, more colorful and guided by more-advanced processing, and in a side-by-side comparison, the differences are overwhelming.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s85h-smart-platform-and-features">Samsung S95H vs S85H: Smart platform and 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zSxvKEgaqv7QaApLNZdx2b" name="Samsung-S85H--16" alt="Samsung S85H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/zSxvKEgaqv7QaApLNZdx2b.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>Both the S95H and the S85H arrive with a refreshed version of Samsung's Tizen-based smart platform. It's similar to what we saw across various 2025 Samsung TVs, but there are some minor changes to the interface that make navigation a bit easier. For instance, new this year is a menu bar at the top of the screen that provides quick access to important settings.</p><p>Samsung Gaming Hub is still prominently featured within the newest interface, but nothing is more omnipresent than the platform's various AI-based features — none of which have helped me solve a problem nor sparked joy in the several hours I've spent testing Samsung TVs this year. Your mileage may vary.</p><p>As far as nuts-and-bolts gaming stuff goes, you're getting support for 4K/120Hz gaming on both of these TVs, but only the S95H can hit 4K/165Hz with a gaming rig linked up. Both sets offer stock VRR, G-Sync compatibility and FreeSync Premium (though the S95H is rocking FreeSync Premium Pro).</p><p>The overall user experience of these TVs is quite similar. That said, the S95H offers more features than almost every other Samsung TV on the market.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s85h-verdict">Samsung S95H vs S85H: 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="LKoKkPQYNgZ7h58mv2i7Cb" name="Samsung-S85H--23" alt="The remote for a Samsung S85H OLED TV" src="https://cdn.mos.cms.futurecdn.net/LKoKkPQYNgZ7h58mv2i7Cb.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><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S85H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>21</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>25</p></td><td  ><p>21</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>96</strong></p></td><td  ><p><strong>87</strong></p></td></tr></tbody></table></div><p>The Samsung S95H is one of the best OLED TVs I've ever laid eyes on. It's also one of the brightest OLEDs you can buy, which not only makes it one of the safest OLED-based options for brighter-than-average rooms, but also allows for an astonishing sense of cinematic, visual depth.</p><p>There's no way around it, however: Many people will bump up against the S95H's bold design elements, and while it's a fantastic bright-room OLED, some home theater enthusiasts won't dig the TV's raised black levels while it sits in a bright room.</p><p>And then there's the price. Right now, the <a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow">65-inch Samsung S95H is $3,299 at Best Buy</a>. That's <em>a lot</em> of money.</p><p>The Samsung S85H is nowhere near as impressive-looking as the S95H, but you're still getting a similar set of features. In addition, as an OLED TV, it's got a bunch of built-in benefits over similarly priced LCD TVs, and its "safer" design has wider appeal than that of the S95H.</p><p>I suspect that the S85H's price will be the thing that catches the conscience of most shoppers. Currently, the<a href="https://www.bestbuy.com/product/samsung-65-class-s85h-oled-4k-uhd-smartvision-ai-smart-tizen-tv-2026/JJGRF3Q85X" target="_blank" rel="nofollow"> 65-inch Samsung S85H is $1,899 at Best Buy</a> — a full $1,400 cheaper than the S95H.</p><p>I can't argue that the S95H's higher-end performance <em>isn't</em> worth the added $1,400 over the S85H. It's a truly stunning TV and, in my estimation, worthy of its high price. Nevertheless, it's an order of magnitude more expensive than Samsung's entry-level OLED, and the S85H is plenty good for the price, too.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WlMqMO"></div>                            </div>                            <script src="https://kwizly.com/embed/WlMqMO.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/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s85h-oled-review">Samsung S85H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/micro-rgb-vs-oled-tvs-whats-the-difference">Micro RGB vs OLED TVs: What’s the difference?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to save up to $1,230 on your Galaxy Z Fold 8 pre-order ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-unpacked-just-announced-for-july-22-with-new-form-factors-heres-how-to-save-up-to-usd1-230-on-your-galaxy-z-fold-8</link>
                                                                            <description>
                            <![CDATA[ Samsung has announced the next Galaxy Unpacked where the Galaxy Z Fold 8 will debut. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xYcDKFJWJW3F6omr6QTt94</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mWpzZk8WKemwjqEkA7sZHW-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Tue, 07 Jul 2026 23:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 21 Jul 2026 21:10:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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/png" url="https://cdn.mos.cms.futurecdn.net/mWpzZk8WKemwjqEkA7sZHW-1280-80.png">
                                                            <media:credit><![CDATA[OnLeaks/Android Headlines]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 leaked render]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mWpzZk8WKemwjqEkA7sZHW-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung just announced its <a href="https://news.samsung.com/us/invitation-galaxy-unpacked-july-2026-new-shape-unfolds/?utm_source=pr_media&utm_medium=email&utm_campaign=general" target="_blank">next Galaxy Unpacked event, </a>where several new Galaxy foldable phones will be announced. The summer version Unpacked kicks off on Wednesday, July 22 in London.</p><p>Samsung promises to reveal "new form factors" for its foldable phones. </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:370px;"><p class="vanilla-image-block" style="padding-top:56.22%;"><img id="Sr3cjPLQQ4HSiw5XhYQWgb" name="QHB8 Reserve Unpacked Invitation AKV Adopt_15s_9x16_h.264 (2)" alt="Samsung Galaxy Unpacked July 2026 gif" src="https://cdn.mos.cms.futurecdn.net/Sr3cjPLQQ4HSiw5XhYQWgb.gif" mos="" align="middle" fullscreen="" width="370" height="208" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p>"Samsung will introduce its latest Galaxy innovations that build on its leadership in foldables, combining intelligent capabilities and new form factors to deliver more personal, adaptive experiences and set a new standard for the AI era," the company said in a press release.</p><p>As part of the event, we expect to see Samsung announce the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Galaxy Z Fold 8 Ultra</a> and<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far"> Galaxy Z Flip 8</a>. Additionally, a new, wider, squatter <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a> is expected, which is meant to rival Apple's rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>.</p><h2 id="what-we-expect-to-see-at-galaxy-unpacked">What we expect to see at Galaxy Unpacked</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:67.50%;"><img id="xq9adVGvW6BMhS6PBwwhXK" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/xq9adVGvW6BMhS6PBwwhXK.jpg" mos="" align="middle" fullscreen="" width="1154" height="779" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Android Headlines)</span></figcaption></figure><p>With the new Samsung foldables, we might finally get a c<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how">rease-free display</a>, according to the most recent leak. Tipster Ice Universe claims the hinge on the Z Fold 8 series is "noticeably different," which should make folding more decisive and improve the crease.</p><p>Unfortunately, it might cost more. Leaked EU pricing suggests that costs could go up by €100 for every Samsung device. So, the Z Fold 8 might start at €2,199 compared to €1,999 last year.</p><p>Additionally, the <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-9-and-ultra-2-rumors-everything-weve-heard-so-far">Galaxy Watch 9</a> series we expect to see at Unpacked could also be more expensive. Samsung should announce the Galaxy Watch 9 as well as the sequel <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-rumors-heres-everything-we-expect-from-samsungs-next-gen-rugged-smartwatch">Galaxy Watch Ultra 2</a> this year.</p><p>Finally, Samsung has announced that its <a href="https://www.tomsguide.com/computing/smart-glasses/i-tested-googles-intelligent-eyewear-and-found-the-smart-glasses-that-will-defeat-ray-ban-meta">Intelligent Eyewear</a> designer smart glasses will launch this fall, but we might get another look at the new specs at Unpacked.</p><h2 id="reserve-your-galaxy-z-fold-8-and-save-up-to-1-230">Reserve your Galaxy Z Fold 8 and save up to $1,230</h2><div class="product"><a data-dimension112="e820afc8-7a52-11f1-8e77-2702f0bdf899" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of ten $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of ten $500 Samsung.com gift cards." data-dimension25="$" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" 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:56.25%;"><img id="mWpzZk8WKemwjqEkA7sZHW" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mWpzZk8WKemwjqEkA7sZHW.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of ten $500 Samsung.com gift cards.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank" rel="nofollow" data-dimension112="e820afc8-7a52-11f1-8e77-2702f0bdf899" data-action="Deal Block" data-label="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of ten $500 Samsung.com gift cards." data-dimension48="You can reserve a new Galaxy Z8 foldable device to receive a $30 Samsung credit during the pre-order windows up to $1,230 in savings. You can also enter a sweepstakes for a chance to win one of ten $500 Samsung.com gift cards." data-dimension25="$">View Deal</a></p></div><p>Starting now, you can reserve a new Galaxy foldable at Samsung.com to receive a $30 credit during pre-order and up to $1,230 in total savings. To reserve you can go <a href="https://www.samsung.com/us/smartphones/the-next-galaxy/reserve/" target="_blank">here</a>.</p><p>Additionally, you can also enter a sweepstakes to win one of ten $500 Samsung.com gift cards.</p><h2 id="how-to-watch-galaxy-unpacked">How to watch Galaxy Unpacked</h2><p>Samsung's event will be livestreamed on  <a href="http://www.samsung.com/" target="_blank">Samsung.com</a>, <a href="https://news.samsung.com/global/" target="_blank">Samsung Newsroom</a> and via the official <a href="https://www.youtube.com/samsung" target="_blank">Samsung YouTube channel,</a>starting at 9 a.m. ET/ 6 a.m. PT/2 p.m. BST.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable"><strong>Samsung Galaxy Z Fold 8 — everything you need to know about the new wider foldable</strong></a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know"><strong>Samsung Galaxy Z Fold 8 leak reveals you might have to pay up to $280 more than last year</strong></a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how"><strong>Samsung Galaxy Z Fold 8 just stole the iPhone Ultra's secret weapon</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ If you are planning to buy the Samsung Galaxy Z Fold 8 or Galaxy Watch 9, a new leak reveals you might have to pay up to $280 more than last year. ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-and-galaxy-watch-9-may-suffer-some-serious-price-increases-heres-what-we-know</link>
                                                                            <description>
                            <![CDATA[ Samsung could increase the price of its upcoming phones and smartwatches, with price hikes ranging from as low as $30 to as high as $280. Here's what we know. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4ux7EdnQkEExU6yeXoQt8Z</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MUz7SRqUeezZBpFKKe2afQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 07 Jul 2026 10:50:34 +0000</pubDate>                                                                                                                                <updated>Tue, 07 Jul 2026 12:25:44 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.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/MUz7SRqUeezZBpFKKe2afQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Android Headlines]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 case render]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 case render]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 case render]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MUz7SRqUeezZBpFKKe2afQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you were hoping to upgrade to the latest flagship Samsung devices without incurring extra cost, then you're sorely out of luck. New reports suggest Samsung could hike the prices of upcoming phones and smartwatches, which means this month's <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-unpacked-2026-preview-galaxy-z-fold-8-z-flip-8-intelligent-eyewear-and-more">Galaxy Unpacked</a> could be a rather pricey affair.</p><p>This news comes from <a href="https://winfuture.de/news,159751.html" target="_blank">Roland Quandt at WinFuture</a>, who shared EU pricing information for the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Galaxy Z Fold 8</a>, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-8-ultra-how-samsungs-next-foldable-could-square-up-with-the-iphone-fold">Z Fold 8 Ultra</a>, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-everything-we-know-so-far">Z Flip 8</a>,<a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-9-and-ultra-2-rumors-everything-weve-heard-so-far"> Galaxy Watch 9</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-galaxy-watch-ultra-2-rumors-heres-everything-we-expect-from-samsungs-next-gen-rugged-smartwatch">Watch Ultra 2</a>. According to Quandt, we're looking at a price increase of at least €100 for the foldable phones, while watches are set to increase by €30 to €50.</p><p><strong>Samsung Galaxy Z Fold 8 price hikes: What you may have to pay</strong></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="Fh92Cg5wtRa2mZBrNNLT7d" name="Galaxy Z Fold Wide edit 1" alt="Samsung Galaxy Z Fold 8 render" src="https://cdn.mos.cms.futurecdn.net/Fh92Cg5wtRa2mZBrNNLT7d.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: OnLeaks/AndroidHeadlines)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>New Price</strong></p></td><td  ><p><strong>Old Price</strong></p></td><td  ><p><strong>Difference</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8 Ultra (256GB)</strong></p></td><td  ><p>€2,199</p></td><td  ><p>€1,999</p></td><td  ><p>€100</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8 Ultra (512GB)</strong></p></td><td  ><p>€2,399</p></td><td  ><p>€2,219</p></td><td  ><p>€180</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8 Ultra (1TB)</strong></p></td><td  ><p>€2,799</p></td><td  ><p>€2,519</p></td><td  ><p>€280</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Flip 8 (256GB)</strong></p></td><td  ><p>€1,299</p></td><td  ><p>€1,199</p></td><td  ><p>€100</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Flip 8 (512GB)</strong></p></td><td  ><p>€1499</p></td><td  ><p>€1,319</p></td><td  ><p>€1</p></td></tr></tbody></table></div><p>Quandt reports that the <strong>Galaxy Z Fold 8 Ultra is set to cost €2,199 for a model with 256GB of storage — a €100 price increase</strong> from its predecessor, the Galaxy Z Fold 7. However, it seems the more storage you opt for, the more the price is going to increase. The 512GB model is expected to cost €2,399, which is a €180 price increase, while the 1TB model is reportedly going to cost €2,799. That's a €280 price increase.</p><p>The <strong>Galaxy Z Flip 8 is expected to undergo the same price increases</strong>, with the 256GB model costing €1,299, while the 512GB model is expected to cost €1,499. Those represent €100 and €180 price increases, respectively.</p><p>The new wider Galaxy Z Fold 8 model will supposedly rock in at €1,999 for a 256GB model, which is the same price as the 256GB Galaxy Z Fold 7. However, since the phone is expected to come with some compromises — the least of which are two rear cameras instead of three — that means you're likely receiving less for that money.</p><p>While we don't know how these price hikes might translate to U.S. dollars, Samsung products typically go for a €1 to $1 conversion. Which means the U.S. models could end up costing anything from $100 to $280 more. That's assuming Quandt's reporting (and my own assumptions) ring true.</p><h2 id="galaxy-watch-9-and-ultra-2-more-rumored-price-hikes">Galaxy Watch 9 and Ultra 2: More rumored price hikes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3144px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="86S3zjUZVNktyg7vLZjWFC" name="Galaxy watch 8 hands on-5" alt="Close-up of the Samsung Galaxy Watch 8 on the writer's wrist" src="https://cdn.mos.cms.futurecdn.net/86S3zjUZVNktyg7vLZjWFC.jpg" mos="" align="middle" fullscreen="" width="3144" height="1769" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>New Price</strong></p></td><td  ><p><strong>Old Price</strong></p></td><td  ><p><strong>Difference</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Watch 9 (BT /40mm)</strong></p></td><td  ><p>€409</p></td><td  ><p>€359</p></td><td  ><p>€50</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Watch 9 (LTE /40mm)</strong></p></td><td  ><p>€459</p></td><td  ><p>€409</p></td><td  ><p>€50</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Watch 9 (BT /44mm)</strong></p></td><td  ><p>€439</p></td><td  ><p>€409</p></td><td  ><p>€30</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Watch 9 (LTE /44mm)</strong></p></td><td  ><p>€489</p></td><td  ><p>€459</p></td><td  ><p>€30</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Watch Ultra 2</strong></p></td><td  ><p>€749</p></td><td  ><p>€699</p></td><td  ><p>€50</p></td></tr></tbody></table></div><p>Sadly, smartwatches are also reportedly increasing in price, with the Galaxy Watch 9 starting at €409 for a 40mm, Bluetooth-only model. Upgrade the connectivity to LTE and you will apparently have to pay €459, which would be <strong>respective price hikes of €40 and €50</strong>. </p><p>Meanwhile, the 44mm models are expected to get €30 price hikes for the Bluetooth and LTE models — which translates to new prices of €439 and €489. As for the Galaxy Watch Ultra 2, Quandt claims that the new price will be €749, which is <strong>a €50 price increase compared to the original Galaxy Watch Ultra smartwatch</strong>.</p><p>Those price increases aren't quite as extreme as the phones, but it still sounds like you're going to have to pay a lot more for the next generation of Galaxy wearables.</p><h2 id="why-are-there-so-many-price-increases">Why are there so many price increases?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6kLR5TcVmSPDqEd7kcDncQ" name="Samsung Galaxy Z Fold 8 leaked render" alt="Samsung Galaxy Z Fold 8 leaked render" src="https://cdn.mos.cms.futurecdn.net/6kLR5TcVmSPDqEd7kcDncQ.jpg" 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: Android Headlines)</span></figcaption></figure><p>The issue in the phone industry right now is that <strong>the cost of making these devices has shot up to unprecedented levels.</strong> The overall cost of production has been on the rise for a while, but with AI eating up so much of the RAM and storage supplies, phone companies are being forced to pay significantly more for basic hardware.</p><p>The prices have risen by so much that <strong>phone companies aren't able to insulate users and still make money</strong>. This means those increased costs are passed onto us, and the price tags on the latest and best phones rise by another order of magnitude.</p><p>The recent push towards adding AI features on phones makes this problem worse, since on-device artificial intelligence is reliant on having a readily available supply of memory and computing power. While cloud computing could make up for some of the windfall, those features come with brief transmission delays and have to run on external hardware — which has obvious privacy risks.</p><p>In other words, downgrading the hardware to cut costs is only going to downgrade the user experience. Not to mention the fact that AI-processing servers need to be paid for somehow. Phone companies aren't going to offer access out of the kindness of their own hearts.</p><p>Obviously <strong>we don't know how accurate Quandt's information about EU price hikes is</strong>, or how they might translate to the U.S. market. But it makes sense that Samsung would increase the prices, especially since it's now offering an "Ultra" Galaxy Foldable.</p><p>Still, we'll have to just wait for Galaxy Unpacked, which is <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-just-tipped-for-july-22-launch-at-unpacked-and-it-could-be-joined-by-galaxy-glasses">rumored to be happening on July 22</a>, to find out for sure. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBz9me"></div>                            </div>                            <script src="https://kwizly.com/embed/eBz9me.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/phones/iphones/iphone-ultra-vs-iphone-18-pro-max-five-biggest-expected-differences">iPhone Ultra vs iPhone 18 Pro Max: 5 biggest expected differences</a></li><li><a href="https://www.tomsguide.com/phones/iphones/apples-foldable-iphone-ultra-may-not-be-released-at-the-same-time-as-the-iphone-18-pro-heres-why">Kuo: iPhone Ultra will ship after iPhone 18 Pro and still 'sell out immediately' with $2,300 - $2,500 price</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-might-beat-iphone-ultra-at-its-own-game-heres-how">Samsung Galaxy Z Fold 8 just stole the iPhone Ultra's secret weapon</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>