Legion Go S SteamOS: was $1555.99 now $949.99It's been a while since we've seen the Legion Go S appear with any kind of discount. Once our favorite gaming handheld, the Legion Go S, even in its supposedly cheaper SteamOS trim, has been a real victim of the memory crisis, pushing its price ever higher. This is still not a great price, but it's the full 32 GB / 1 TB edition, and it is theoretically a $600+ saving.Key specs: 32 GB RAM | 1 TB SSD | Ryzen Z1 Extreme | 120 Hz | SteamOSPrice check: Lenovo $949.99View DealI will admit, I did not expect to see the ol' Lenovo Legion Go S appearing on sale for a non-ridiculous price. I thought those days were over; I thought the memory crisis had done for these old gaming handheld PCs with their Sam Altman-baiting levels of system RAM. But no, here we are with the SteamOS version of the excellent Lenovo Legion Go S on sale at Amazon for $950.Yes, I'm aware that is still a lot of money to spend on what is pretty much guaranteed to be either a secondary or tertiary gaming device for you, and kinda flies against everything that made the original Steam Deck such a tantalising option for a lot of PC gamers. But considering the Legion Go S price went well over the $1,500 mark, this Amazon deal is netting you a discount of over $600 on the list price.We loved the device when we first ran our Legion Go S SteamOS Ed. review, with Jacob giving it a coveted Editor's Pick award and a 91% score. The native SteamOS install makes the whole thing a joy to use; it's a really well-designed device from an ergonomic point of view, and it looks great, too.Check out the latest Black Friday PC gaming deals and join us on WhatsApp for daily deals, direct to your phone.Inevitably, you do run into the familiar Linux-based issues for PC gamers, namely that not every game you might want to play will work. That is largely down to kernel-level anti-cheat software at this point, but this is also something that developers are working on right now to reduce the number of incompatible services.Other than that, it's an excellent handheld to game on, despite the Ryzen Z1 Extreme being a relatively old chip by now. It was introduced around the original ROG Ally, but still stands up, especially against the cheaper chips that have since been released. If you think that because it's Z1 versus Z2 the bigger number is always better, that's not the case. Look at the cheaper $800 Legion Go S at Walmart, and that's sporting a Z2 Go chip.Ryzen Z1 ExtremeRyzen Z2 GoRyzen Z2 ARyzen Z2 ExtremeCPU architectureZen 4Zen 3+Zen 2Zen 5CPU cores / threads8 / 164 / 84 / 88 / 16Integrated graphics12 × RDNA 3 CUs12 × RDNA 2 CUs8 × RDNA 2 CUs16 × RDNA 3.5 CUsConfigurable TDP15–30 W 15–30 W6–20 W15–35 WNPUNoneNoneNoneUp to 50 TOPS (AI Z2 Extreme variant)Which sucks. The Z2 Go is a Zen 3+ chip, with four CPU cores and 12 RDNA 2 CUs in its integrated GPU. The Z1 Extreme is a Zen 4 chip with eight CPU cores and 12 RDNA 3 CUs, making it far more performant in games. And don't even get me started on the Z2 A which goes into the ROG Xbox Ally. That only has 8 RDNA 2 CUs, and it's weak sauce even for its $599 price tag.The Z2 Extreme in the ROG Xbox Ally X has more about it, however, and is the better gaming chip. So if you're happy with Windows, that is an option and is only $50 more, but with less RAM onboard.ROG Xbox Ally | Z2 A: was $599.99 now $599Okay, so this model doesn't have the properly punchy Z2 Extreme chip of the ROG Xbox Ally X below. As such, it's nowhere near as powerful and is more suited to indie games rather than the demanding stuff. That being said, handheld gaming PCs are rising to silly prices right now, and this one's still got a super-comfortable chassis, a good screen, and the Xbox FSE interface.Key specs: Ryzen Z2 A | 7-inch | 1080p | 144 Hz | 16 GB LPDDR5x | 512 GB SSDPrice check: Best Buy $599.99View DealROG Xbox Ally X | Z2 Extreme: $999.99It is a borderline ludicrous amount of cash to drop on a gaming handheld really, but the ROG Xbox Ally X is a truly great device. I thought the design was ridiculous until I had my review unit in-hand. It's super comfortable to use, the new library makes Windows usable, and the Z2 Extreme chip is powerful. Could do with a bit of a discount, but this is the cheapest you'll find it today.Key specs: Ryzen AI Z2 Extreme | 7-inch | 1080p | 120 Hz | 24 GB LPDDR5x-8000 | 1 TB SSDPrice check: Walmart $999.99 | Amazon $1,164.99View Deal fc-author-commerce-widget[data-fcaw-version="1"] { display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; isolation: isolate !important; contain: style !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"]{ width: min( 1200px, var(--fcaw-viewport-width, 100vw) ) !important; max-width: 1200px !important; margin-left: var( --fcaw-full-bleed-offset, calc(50% - min(600px, 50vw)) ) !important; margin-right: 0 !important; position: relative !important;}fc-author-commerce-widget[data-fcaw-version="1"][data-fcaw-full-bleed="true"] #tg-df-spreadsheet-filters { width: min( 1500px, var(--fcaw-viewport-width, 100vw) ) !important; max-width: 1500px !important; margin-left: calc( ( 100% - min(1500px, var(--fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version="1"] .fcaw-v1-fallback *::after { box-sizing: border-box;} /* --- 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 { user-select: text; -webkit-user-select: text; container-type: inline-size; container-name: tg-df; --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-widget-host[data-tg-df-full-bleed="true"] { width: min( 1200px, var(--fcaw-viewport-width, 100vw) ) !important; max-width: 1200px !important; margin-left: calc( ( 100% - min(1200px, var(--fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important; position: relative !important; } .tg-df-widget-host[data-tg-df-full-bleed="true"] #tg-df-spreadsheet-filters { width: min( 1500px, var(--fcaw-viewport-width, 100vw) ) !important; max-width: 1500px !important; margin-left: calc( ( 100% - min(1500px, var(--fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important; } .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: var(--tg-df-blue); } .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: 42rem; } .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; } .tg-df-filters { display: flex; justify-content: center; width: 100%; gap: 12px; margin: 0 auto; max-width: 42rem; } .tg-df-sort-wrapper { position: relative; display: flex; align-items: center; width: 100%; max-width: 280px; } .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-sort-select:hover, .tg-df-filter-select:hover { background-color: #e2e8f0; } .tg-df-multiselect-container { position: relative; } .tg-df-scroll-btn { 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: 4px; } .tg-df-scroll-btn.right { right: 4px; } @container tg-df (max-width: 768px) { .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; } .tg-df-filters-container { position: relative; width: 100%; max-width: 42rem; margin: 0 auto; } .tg-df-filters { justify-content: center; width: 100%; margin: 0 auto; margin-bottom: -320px; padding: 0 0 320px 0; 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: calc(100% + 32px); max-width: none; padding: 10px 24px; font-size: 13px; flex-shrink: 0; text-align: center; justify-content: center; margin: 0 -16px -16px -16px; } /* 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-buying-guide-badge { left: auto; right: 12px; max-width: calc(100% - 24px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .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 { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; } .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-card-listings { margin: 0 0 12px; } .tg-df-card-listings-title { display: block; color: var(--tg-df-text-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.45px; line-height: 1.2; margin-bottom: 4px; text-transform: uppercase; } .tg-df-card-listings-links { border-top: 1px solid var(--tg-df-border); } .tg-df-container .tg-df-card-listing-link { align-items: center; border-bottom: 1px solid var(--tg-df-border); box-sizing: border-box; color: var(--tg-df-blue); display: flex; font-size: 13px; font-weight: 700; justify-content: space-between; line-height: 1.2; min-height: 34px; padding: 5px 2px; text-decoration: none; } .tg-df-container .tg-df-card-listing-link::after { content: '↗'; font-size: 14px; font-weight: 600; margin-left: 8px; } .tg-df-container .tg-df-card-listing-link:hover, .tg-df-container .tg-df-card-listing-link:focus-visible { background: #f8fafc; color: var(--tg-df-blue); outline: 2px solid var(--tg-df-blue); outline-offset: -2px; text-decoration: none; } .tg-df-container .tg-df-card-cta { display: flex; align-items: center; justify-content: center; width: calc(100% + 32px); max-width: none; box-sizing: border-box; background-color: var(--tg-df-blue); 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; margin: 0 -16px -16px -16px; } .tg-df-card:hover .tg-df-card-cta, .tg-df-card-cta:hover { filter: brightness(0.85); } /* 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; } /* Optional mobile 2x2 filter grid */ .tg-df-mobile-2x2-container { display: none; width: 100%; margin: 0 0 16px 0; position: relative; z-index: 30; } .tg-df-mobile-2x2-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; border: 1px solid var(--tg-df-border, #e2e8f0); background: var(--tg-df-bg, #ffffff); } .tg-df-container .tg-df-mobile-grid-cell { appearance: none; display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 12px 14px; font-family: inherit; font-size: 11px; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; color: var(--tg-df-text-muted, #64748b); background: var(--tg-df-bg, #ffffff); border: 0; border-radius: 0; cursor: pointer; box-shadow: none; } .tg-df-mobile-grid-cell > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tg-df-mobile-grid-cell > svg { flex: 0 0 auto; margin-left: 8px; transition: transform 0.15s ease; } .tg-df-mobile-grid-cell > svg.is-open { transform: rotate(180deg); } .tg-df-mobile-grid-cell { border-bottom: 1px solid var(--tg-df-border, #e2e8f0); } .tg-df-mobile-grid-cell:nth-child(odd) { border-right: 1px solid var(--tg-df-border, #e2e8f0); } .tg-df-mobile-2x2-grid--even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) { border-bottom: 0; } .tg-df-mobile-2x2-grid--odd .tg-df-mobile-grid-cell:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; } .tg-df-container .tg-df-mobile-grid-cell.active, .tg-df-container .tg-df-mobile-grid-cell:hover { background: var(--tg-df-bg-secondary, #f8fafc); color: var(--tg-df-text, #0f172a); } .tg-df-container .tg-df-mobile-grid-cell.has-active-filter { background: var(--tg-df-blue, #1f69ff); color: #ffffff; } .tg-df-mobile-menu-drawer { width: 100%; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--tg-df-border, #e2e8f0); border-top: 0; background: var(--tg-df-bg, #ffffff); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .tg-df-container .tg-df-mobile-menu-item { appearance: none; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 42px; padding: 12px 16px; font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; color: var(--tg-df-text, #0f172a); background: var(--tg-df-bg, #ffffff); border: 0; border-bottom: 1px solid #f1f5f9; border-radius: 0; cursor: pointer; box-shadow: none; } .tg-df-container .tg-df-mobile-menu-item:last-child { border-bottom: 0; } .tg-df-container .tg-df-mobile-menu-item.selected { color: var(--tg-df-blue, #1f69ff); background: rgba(31, 105, 255, 0.08); font-weight: 600; } .tg-df-container .tg-df-mobile-menu-item:hover { background: var(--tg-df-bg-secondary, #f8fafc); } .tg-df-mobile-cell-badge { display: inline-flex; align-items: center; justify-content: center; padding: 2px 6px; margin-left: 4px; color: var(--tg-df-blue, #1f69ff); background: rgba(31, 105, 255, 0.1); border-radius: 9999px; font-size: 10px; font-weight: 700; } @container tg-df (max-width: 599px) { .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-mobile-2x2-container { display: block !important; z-index: 50; background: var(--tg-df-bg, #ffffff); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08); } .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"] .tg-df-mobile-2x2-container { position: sticky !important; top: var(--fcaw-mobile-sticky-offset, 0px); } .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-controls { display: none !important; } } @media (max-width: 599px) { .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-mobile-2x2-container { display: block !important; z-index: 50; background: var(--tg-df-bg, #ffffff); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08); } .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"][data-tg-df-sticky-mobile-filters="true"] .tg-df-mobile-2x2-container { position: sticky !important; top: var(--fcaw-mobile-sticky-offset, 0px); } .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns="true"] .tg-df-controls { display: none !important; } } /* A non-full-bleed desktop embed is constrained to the article column. Reuse the compact filter grid there instead of squeezing the rails. */ @container tg-df (min-width: 600px) { .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-mobile-2x2-container { display: block !important; } .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-controls { display: none !important; } } @media (min-width: 600px) { .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-mobile-2x2-container { display: block !important; } .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-full-bleed="false"] .tg-df-controls { display: none !important; } } /* 6. Mobile List View (Stacks into a cleaner horizontal row/list) */ @container tg-df (max-width: 599px) { .tg-df-mobile-authors { gap: 16px !important; } .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; } .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; } .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; } .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; } .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; } .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; } .tg-df-controls { padding: 16px 0 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: 8px; } /* 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: 5px 12px !important; font-size: 11px !important; height: 30px !important; min-height: 30px !important; border-radius: 0 !important; flex: 0 0 auto; text-align: center; white-space: nowrap; line-height: 1.2; margin: 8px 0 0; } } @media (max-width: 599px) { .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: 5px 12px !important; font-size: 11px !important; height: 30px !important; min-height: 30px !important; border-radius: 0 !important; flex: 0 0 auto; text-align: center; white-space: nowrap; line-height: 1.2; margin: 8px 0 0; } } .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: var(--tg-df-blue); 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: var(--tg-df-blue); 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: var(--tg-df-blue); 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-right, .tg-df-container .tg-df-carousel-scroll-left { position: absolute; top: 50%; transform: translateY(-50%); height: 36px; width: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: rgba(255, 255, 255, 0.4); color: var(--tg-df-blue); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: none; cursor: pointer; transition: background-color 0.2s; margin-top: -4px; z-index: 10; } .tg-df-container .tg-df-carousel-scroll-right { right: 0; } .tg-df-container .tg-df-carousel-scroll-left { left: 0; } .tg-df-container .tg-df-carousel-scroll-right:hover, .tg-df-container .tg-df-carousel-scroll-left:hover { background-color: rgba(255, 255, 255, 0.6); } .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right, .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { height: 30px; width: 30px; background-color: rgba(255, 255, 255, 0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-top: 0; color: #0f4098; } .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover, .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover { background-color: white; } .tg-df-container .tg-df-grid-wrapper { position: relative; } .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right, .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left { background-color: white; box-shadow: 0 4px 12px rgba(0,0,0,0.15); top: 40%; width: 44px; height: 44px; color: #0f4098; } .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 var(--tg-df-blue); } .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box { box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(--tg-df-blue); } .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, .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; -webkit-line-clamp: 2; margin-bottom: 8px; color: #011535; } .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title, .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title { -webkit-line-clamp: 3; } .tg-df-grid.carousel-compact .tg-df-card-cta { width: calc(100% + 24px); border-radius: 0; padding: 8px 10px; margin: auto -12px -12px -12px; background-color: var(--tg-df-blue); } .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; padding-right: 12px; } .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; } } @media (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-container .hawk-deal-widget-title-product-title, .tg-df-container .hawk-deal-widget-title-price, .tg-df-container .hawk-deal-widget-title-retailer { font-size: 14px !important; line-height: 1.35 !important; font-weight: 700 !important; } .tg-df-container .hawk-deal-widget-title-was-price { font-size: 13px !important; line-height: 1.35 !important; } .tg-df-container .hawk-deal-widget-text-body-main { font-size: 14px !important; line-height: 1.35 !important; margin-bottom: 8px !important; } } .tg-df-grid.savings-squad-cards .tg-df-card-title { -webkit-line-clamp: unset !important; display: block !important; overflow: visible !important; } /* BESPOKE AUTHOR HEADER STYLES - MAX ISOLATION PROTECTION */ .tg-df-author-embed { width: 100% !important; font-family: inherit !important; background: transparent !important; margin: 0 !important; padding: 0 !important; border: none !important; } .tg-df-author-section { display: block !important; width: 100% !important; max-width: 100% !important; opacity: 1 !important; overflow: visible !important; background: transparent !important; border: none !important; margin: 0 auto !important; padding: 0 !important; box-shadow: none !important; } .tg-df-author-card { text-align: center !important; padding: 1.75rem 1rem 1.25rem 1rem !important; margin: 0 auto !important; max-width: 48rem !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-sizing: border-box !important; box-shadow: none !important; } .tg-df-author-image { width: 180px !important; height: 180px !important; border-radius: 50% !important; object-fit: cover !important; margin: 0 auto 0.75rem auto !important; display: block !important; border: none !important; box-shadow: none !important; max-width: 100% !important; } .tg-df-author-media-slot { width: 100% !important; height: 180px !important; min-height: 180px !important; margin: 0 auto 0.75rem auto !important; display: flex !important; align-items: center !important; justify-content: center !important; } .tg-df-author-media-slot .tg-df-author-image { margin: 0 auto !important; } .tg-df-author-profile-image-wrapper { position: relative !important; width: 180px !important; height: 180px !important; margin: 0 auto 0.75rem auto !important; flex: 0 0 auto !important; } .tg-df-author-profile-brand-logo { position: absolute !important; right: 12px !important; bottom: 12px !important; width: 42px !important; height: 42px !important; padding: 0 !important; border: 3px solid var(--tg-df-bg, #fff) !important; border-radius: 50% !important; background: #000 !important; object-fit: contain !important; box-sizing: border-box !important; } .tg-df-author-curated-by { font-size: 0.875rem !important; color: #6B7280 !important; font-style: normal !important; margin: 0 0 0.25rem 0 !important; padding: 0 !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important; } .tg-df-author-name { font-size: 2rem !important; font-weight: 300 !important; color: #111827 !important; margin: 0 0 0.25rem 0 !important; padding: 0 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; } .tg-df-author-role { font-size: 0.9375rem !important; font-weight: 500 !important; color: var(--tg-df-blue, #1F69FF) !important; margin: 0 0 1.25rem 0 !important; padding: 0 !important; line-height: 1.3 !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; } .tg-df-author-meta-slot { width: 100% !important; min-height: 88px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; } .tg-df-author-meta-slot--site { padding-top: 1rem !important; } .tg-df-author-meta-slot--no-social { min-height: 0 !important; } .tg-df-author-meta-slot--no-social .tg-df-author-role { margin-bottom: 0.5rem !important; } .tg-df-author-social-links { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 1rem !important; margin: 0 auto 1.25rem auto !important; padding: 0 !important; max-width: 42rem !important; width: 100% !important; list-style: none !important; background: none !important; border: none !important; box-shadow: none !important; } .tg-df-author-social-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: 50% !important; background-color: #f2f2f2 !important; color: #111111 !important; font-size: 0.8125rem !important; font-weight: 500 !important; text-decoration: none !important; transition: all 0.2s ease !important; border: 0 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer !important; outline: none !important; margin: 0 !important; height: 34px !important; width: 34px !important; min-width: 34px !important; box-sizing: border-box !important; } .tg-df-author-social-btn:hover { background-color: #dedede !important; color: #111111 !important; transform: translateY(-1px) !important; } .tg-df-author-social-btn > svg { width: 19px !important; height: 19px !important; flex-shrink: 0 !important; display: block !important; margin: 0 !important; } .tg-df-author-social-btn[data-social-key="facebook"] > svg { transform: scale(1.25) !important; } .tg-df-author-social-btn[data-social-key="pinterest"] > svg, .tg-df-author-social-btn[data-social-key="tiktok"] > svg { transform: scale(1.2) !important; } .tg-df-author-bio { max-width: 42rem !important; margin: 0 auto 1.25rem auto !important; padding: 0 0.5rem !important; color: #4b5563 !important; line-height: 1.6 !important; font-weight: 300 !important; font-size: 0.9375rem !important; text-align: center !important; background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; display: block !important; height: auto !important; overflow: visible !important; } .tg-df-author-bio-shell--stable { width: 100% !important; box-sizing: border-box !important; } .tg-df-author-bio--clamped { min-height: 4.8em !important; height: 4.8em !important; max-height: 4.8em !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important; overflow: hidden !important; } .tg-df-author-bio--expanded { min-height: 4.8em !important; height: auto !important; max-height: none !important; display: block !important; overflow: visible !important; } .tg-df-author-bio--static, .tg-df-author-bio--static:hover, .tg-df-author-bio--static:focus, .tg-df-author-bio--static:focus-visible { outline: none !important; box-shadow: none !important; cursor: default !important; } .tg-df-author-bio-toggle-slot { height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0.125rem 0 0 !important; } .tg-df-author-bio-toggle { appearance: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; padding: 0.125rem 0 !important; margin: 0 !important; background: transparent !important; color: #4b5563 !important; box-shadow: none !important; font: inherit !important; font-size: 0.75rem !important; font-weight: 600 !important; line-height: 1.2 !important; text-decoration: none !important; text-transform: none !important; cursor: pointer !important; } .tg-df-author-bio a { color: var(--tg-df-blue, #1F69FF) !important; text-decoration: underline !important; font-weight: 400 !important; background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; display: inline !important; box-shadow: none !important; } .tg-df-author-bio p, .tg-df-author-bio div, .tg-df-author-bio span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: inherit !important; text-transform: none !important; letter-spacing: normal !important; background: none !important; border: none !important; box-shadow: none !important; } .tg-df-author-bio strong, .tg-df-author-bio b { font-weight: 600 !important; } .tg-df-author-bio em, .tg-df-author-bio i { font-style: italic !important; } @container tg-df (min-width: 600px) { .tg-df-author-image { width: 180px !important; height: 180px !important; } .tg-df-author-name { font-size: 2.5rem !important; } } @media (min-width: 600px) { .tg-df-author-image { width: 180px !important; height: 180px !important; } .tg-df-author-name { font-size: 2.5rem !important; } } @container tg-df (max-width: 768px) { .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; } } @media (max-width: 768px) { .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; } } @container tg-df (max-width: 500px) { .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; } .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; } .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; } .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; } .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; } .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } } @media (max-width: 500px) { .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; } .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; } .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; } .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; } .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; } .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { align-items: center; background-color: var(--tg-df-blue); 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-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); 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-active-badges-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; margin-bottom: 16px; width: 100%; } .tg-df-active-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background-color: var(--tg-df-blue, #1f69ff); color: #ffffff; border: 1px solid var(--tg-df-blue, #1f69ff); border-radius: 0px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1; } .tg-df-badge-remove { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 0px; border: none; background: rgba(255, 255, 255, 0.25); color: #ffffff; cursor: pointer; padding: 0; margin-left: 4px; transition: background-color 0.15s, color 0.15s; } .tg-df-badge-remove:hover { background: rgba(255, 255, 255, 0.45); color: #ffffff; } .tg-df-badge-clear-all { display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1; padding: 8px 14px; color: var(--tg-df-text-muted, #64748b); cursor: pointer; background: #ffffff; border: 1px solid var(--tg-df-border, #e2e8f0); border-radius: 0px; transition: all 0.15s ease; } .tg-df-badge-clear-all:hover { background: var(--tg-df-blue, #1f69ff); color: #ffffff; border-color: var(--tg-df-blue, #1f69ff); } .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; } .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; } @container tg-df (max-width: 599px) { .tg-df-filters-container { display: none !important; } #tg-df-controls { display: none !important; } .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; } .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; } .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; } } @media (max-width: 599px) { .tg-df-desktop-only { display: none !important; } .tg-df-filters-container { display: none !important; } #tg-df-controls { display: none !important; } .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; } .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; } .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; } } /* Article Intro Content Styling */ .tg-df-article-content { font-size: 1rem; line-height: 1.7; color: #334155; } .tg-df-article-content p { margin-bottom: 1.25rem; line-height: 1.7; font-size: 1rem; color: #334155; } .tg-df-article-content > p:first-of-type::first-letter { font-size: 3.25rem; font-weight: 700; float: left; line-height: 0.85; margin-right: 0.5rem; margin-top: 0.15rem; color: #0f172a; font-family: inherit; } .tg-df-article-content a { color: #0066cc; text-decoration: underline; font-weight: 500; } .tg-df-article-content a:hover { color: #004499; } .tg-df-article-content strong, .tg-df-article-content b { font-weight: 700; color: #0f172a; } .tg-df-article-section-banner { border-bottom: 2px solid #e6007e; margin: 2.25rem 0 1.25rem 0; position: relative; clear: both; } .tg-df-article-section-banner span { background-color: #e6007e; color: #ffffff; padding: 6px 16px; font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; display: inline-block; } Save $220 CouponsYawyore Gaming PC | Ryzen 5 5600GTThe integrated graphics on this processor won't get you gaming at higher resolutions or higher settings in modern games, but it's a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you'll have to upgrade the entire PC, motherboard, too. Also note that you won't be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSDREAD MORE$599.99$819.99Newegg deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEALSave $235.99 CouponsABS Cyclone Aqua | RTX 5060 | 16 GB DDR4Don't expect to have a good time doing any intensive productivity tasks, but when it comes to entry-level gaming at 1080p or even 1440p with settings lowered, it'll do just fine thanks to the RTX 5060. Just bear in mind there's little room for upgrading the CPU and RAM down the line, as it's an older platform with DDR4. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSDREAD MORE$964$1199.99Walmart deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEALSave $235.99 CouponsABS Cyclone Aqua | RTX 5060 | Core 5 120You're making quite a lot of sacrifices here to keep the price tag under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today's market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD ** 02/11/2026 - UP IN PRICE **READ MORE$964$1199.99Walmart deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEAL CouponsStormcraft Viper | RTX 5060 Ti 8 GB | 16 GB DDR4There is a caveat to this one, which is that it's running just 16 GB of DDR4 RAM, and judging by the picture, it's just a single stick. However, you're getting an RTX 5060 Ti in here for not too far north of $1,000, which is better than I've seen at this price point for quite some time. A future RAM upgrade will be in order, but for starters this is great. Key specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR4-3200 | 1 TB SSD Price check: Newegg OOS | Best Buy $1,549.99READ MORE$1149.99Walmart deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEALSave $250 CouponsThermaltake LCGS NE | RTX 5070 | 16 GB DDR5Gaming PCs with Nvidia GPUs in are getting more and more expensive, so you're not getting quite as good value as you can find for an RX 9070 XT build. But if you're looking to stick to Team Green for a mid-range rig, I'd say this is a good bet for the right side of $2,000. Even if that is just a single stick of DDR5 in there. Key specs: Core Ultra 5 250K Plus | RTX 5070 | 16 GB DDR5-6000 | 1 TB SSDREAD MORE$1749.99$1999.99Newegg deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEAL CouponsMSI Codex R2 | RTX 5070 | 32 GB DDR5A tidy look and a tidy price for a full-on RTX 5070 rig right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby. Key specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD ** 02/11/2026 - UP IN PRICE ** Price check: Newegg $1,900.19 | Best Buy $1,959.99READ MORE$1783.35Walmart deal recommended by:Jacob Fox • Hardware Writer • 2 days agoVIEW DEALLoad More{"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"Product","name":"Gaming PC | Ryzen 5 5600GT","image":"https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png","description":"The integrated graphics on this processor won't get you gaming at higher resolutions or higher settings in modern games, but it's a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you'll have to upgrade the entire PC, motherboard, too. Also note that you won't be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD","brand":{"@type":"Brand","name":"Yawyore"},"offers":{"@type":"Offer","priceCurrency":"USD","price":599.99,"url":"https://www.newegg.com/yawyore-gaming-pc-gaming-desktop-pcs-amd-radeon-vega-7-amd-ryzen-5-5600gt-16gb-ddr4-1-tb-nvme-m-2-ssd-mx240-black/p/3D5-006U-00001?Item=9SIBWW1KCK3454","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":2,"item":{"@type":"Product","name":"Cyclone Aqua | RTX 5060 | 16 GB DDR4","image":"https://cdn.mos.cms.futurecdn.net/bv5daF7MSBrPB3ajuYfzGm.png","description":"Don't expect to have a good time doing any intensive productivity tasks, but when it comes to entry-level gaming at 1080p or even 1440p with settings lowered, it'll do just fine thanks to the RTX 5060. Just bear in mind there's little room for upgrading the CPU and RAM down the line, as it's an older platform with DDR4. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD","brand":{"@type":"Brand","name":"ABS"},"offers":{"@type":"Offer","priceCurrency":"USD","price":964,"url":"https://www.walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20182462849?athbdg=L1100","seller":{"@type":"Organization","name":"Walmart"}}}},{"@type":"ListItem","position":3,"item":{"@type":"Product","name":"Cyclone Aqua | RTX 5060 | Core 5 120","image":"https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png","description":"You're making quite a lot of sacrifices here to keep the price tag under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today's market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD ** 02/11/2026 - UP IN PRICE **","brand":{"@type":"Brand","name":"ABS"},"offers":{"@type":"Offer","priceCurrency":"USD","price":964,"url":"http://walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20182462849?athbdg=L1100","seller":{"@type":"Organization","name":"Walmart"}}}},{"@type":"ListItem","position":4,"item":{"@type":"Product","name":"Viper | RTX 5060 Ti 8 GB | 16 GB DDR4","image":"https://cdn.mos.cms.futurecdn.net/TtDr5b8LAW46aCtarUTMiT.png","description":"There is a caveat to this one, which is that it's running just 16 GB of DDR4 RAM, and judging by the picture, it's just a single stick. However, you're getting an RTX 5060 Ti in here for not too far north of $1,000, which is better than I've seen at this price point for quite some time. A future RAM upgrade will be in order, but for starters this is great. Key specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR4-3200 | 1 TB SSD Price check: Newegg OOS | Best Buy $1,549.99","brand":{"@type":"Brand","name":"Stormcraft"},"offers":{"@type":"Offer","priceCurrency":"USD","price":1149.99,"url":"https://www.walmart.com/ip/STORMCRAFT-Gaming-PC-VIPER-INTEL-Core-i5-14400F-NVIDIA-GeForce-RTX-5060-Ti-8GB-1TB-SSD-16GB-DDR4-3200MHz-RGB-Windows-11-Home-VI1440FBB-56TN1/20175856134?athbdg=L1100","seller":{"@type":"Organization","name":"Walmart"}}}},{"@type":"ListItem","position":5,"item":{"@type":"Product","name":"LCGS NE | RTX 5070 | 16 GB DDR5","image":"https://cdn.mos.cms.futurecdn.net/Dg7nDcFoC39QM3wYgksuHd.png","description":"Gaming PCs with Nvidia GPUs in are getting more and more expensive, so you're not getting quite as good value as you can find for an RX 9070 XT build. But if you're looking to stick to Team Green for a mid-range rig, I'd say this is a good bet for the right side of $2,000. Even if that is just a single stick of DDR5 in there. Key specs: Core Ultra 5 250K Plus | RTX 5070 | 16 GB DDR5-6000 | 1 TB SSD","brand":{"@type":"Brand","name":"Thermaltake"},"offers":{"@type":"Offer","priceCurrency":"USD","price":1749.99,"url":"https://www.newegg.com/thermaltake-gaming-desktop-pc-geforce-rtx-5070-intel-core-ultra-5-250k-plus-16gb-ddr5-1tb-nvme-ssd-n17s-b860-570-lcs-white/p/N82E16883100153?Item=N82E16883100153","seller":{"@type":"Organization","name":"Newegg"}}}},{"@type":"ListItem","position":6,"item":{"@type":"Product","name":"Codex R2 | RTX 5070 | 32 GB DDR5","image":"https://cdn.mos.cms.futurecdn.net/XQqQ7GGDkzM97jKMLwEQfB.png","description":"A tidy look and a tidy price for a full-on RTX 5070 rig right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby. Key specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD ** 02/11/2026 - UP IN PRICE ** Price check: Newegg $1,900.19 | Best Buy $1,959.99","brand":{"@type":"Brand","name":"MSI"},"offers":{"@type":"Offer","priceCurrency":"USD","price":1783.35,"url":"https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526?athbdg=L1100","seller":{"@type":"Organization","name":"Walmart"}}}}]}Available Coupons & DealsNo active vouchers found for . {"authorBioLength":"short","authorFullBleed":false,"authorHandle":"all-authors","authorName":"All authors","backgroundColor":"transparent","customBio":"","discountAmount":"0","editorMode":false,"editorialMaxAgeMonths":"3","includeBuyingGuideProducts":false,"includeCollections":false,"includeDeals":true,"includeReviewProducts":false,"mobileDropdowns":true,"stickyMobileFilters":true,"offerType":"","preloadReviewInventory":false,"lightweightReviewDelivery":false,"hideHawkPrices":false,"prioritiseCommercialProducts":true,"priceRange":"all","productSelection":"latest","query":"Gaming PCs","region":"US","resultCount":"6","retailer":"","selectedBrands":[],"showAuthorBio":false,"showAuthorCounters":true,"showAuthorIdentity":false,"showAuthorRail":false,"showBrandRail":false,"showCategoryRail":false,"showCollectionsDropdown":false,"showPriceDiscountFilters":false,"showReviewSort":false,"showSocialButtons":false,"showCountdown":false,"showHeaderDetails":true,"showFreeformTagRail":false,"sort":"date_desc","viewMode":"author","website":"pcgamer","widgetSubtitle":"Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.","widgetTitle":"Top Deals Handpicked by Our Editors","brands":[],"shortenedHeadlines":{},"compactEmbed":true} {"deals":[{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-0","url":"https://www.newegg.com/yawyore-gaming-pc-gaming-desktop-pcs-amd-radeon-vega-7-amd-ryzen-5-5600gt-16gb-ddr4-1-tb-nvme-m-2-ssd-mx240-black/p/3D5-006U-00001?Item=9SIBWW1KCK3454","image":"https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png","title":"Gaming PC | Ryzen 5 5600GT","brand":"Yawyore","productName":"Gaming PC | Ryzen 5 5600GT","merchant":"Newegg","rawPrice":599.99,"rawMsrp":819.99,"price":"599.99","msrp":"819.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $220","savingType":"amount","isPrime":false,"starRating":null,"description":"The integrated graphics on this processor won't get you gaming at higher resolutions or higher settings in modern games, but it's a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you'll have to upgrade the entire PC, motherboard, too. Also note that you won't be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD","text":"\u003cp\u003eThe integrated graphics on this processor won't get you gaming at higher resolutions or higher settings in modern games, but it's a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you'll have to upgrade the entire PC, motherboard, too. Also note that you won't be able to keep many games installed at the same time on that 500 GB drive. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD\u003c/strong\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-1","url":"https://www.walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20182462849?athbdg=L1100","image":"https://cdn.mos.cms.futurecdn.net/bv5daF7MSBrPB3ajuYfzGm.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/bv5daF7MSBrPB3ajuYfzGm.png","title":"Cyclone Aqua | RTX 5060 | 16 GB DDR4","brand":"ABS","productName":"Cyclone Aqua | RTX 5060 | 16 GB DDR4","merchant":"Walmart","rawPrice":964,"rawMsrp":1199.99,"price":"964","msrp":"1199.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $235.99","savingType":"amount","isPrime":false,"starRating":null,"description":"Don't expect to have a good time doing any intensive productivity tasks, but when it comes to entry-level gaming at 1080p or even 1440p with settings lowered, it'll do just fine thanks to the RTX 5060. Just bear in mind there's little room for upgrading the CPU and RAM down the line, as it's an older platform with DDR4. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD","text":"\u003cp\u003eDon't expect to have a good time doing any intensive productivity tasks, but when it comes to entry-level gaming at 1080p or even 1440p with settings lowered, it'll do just fine thanks to the RTX 5060. Just bear in mind there's little room for upgrading the CPU and RAM down the line, as it's an older platform with DDR4.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD\u003c/strong\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-2","url":"http://walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20182462849?athbdg=L1100","image":"https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png","title":"Cyclone Aqua | RTX 5060 | Core 5 120","brand":"ABS","productName":"Cyclone Aqua | RTX 5060 | Core 5 120","merchant":"Walmart","rawPrice":964,"rawMsrp":1199.99,"price":"964","msrp":"1199.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $235.99","savingType":"amount","isPrime":false,"starRating":null,"description":"You're making quite a lot of sacrifices here to keep the price tag under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today's market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD ** 02/11/2026 - UP IN PRICE **","text":"\u003cp\u003eYou're making quite a lot of sacrifices here to keep the price tag under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you \u003cem\u003eare \u003c/em\u003egetting an RTX 5060 machine for a very reasonable price in today's market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e** 02/11/2026 - UP IN PRICE **\u003c/strong\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-3","url":"https://www.walmart.com/ip/STORMCRAFT-Gaming-PC-VIPER-INTEL-Core-i5-14400F-NVIDIA-GeForce-RTX-5060-Ti-8GB-1TB-SSD-16GB-DDR4-3200MHz-RGB-Windows-11-Home-VI1440FBB-56TN1/20175856134?athbdg=L1100","image":"https://cdn.mos.cms.futurecdn.net/TtDr5b8LAW46aCtarUTMiT.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/TtDr5b8LAW46aCtarUTMiT.png","title":"Viper | RTX 5060 Ti 8 GB | 16 GB DDR4","brand":"Stormcraft","productName":"Viper | RTX 5060 Ti 8 GB | 16 GB DDR4","merchant":"Walmart","rawPrice":1149.99,"rawMsrp":0,"price":"1149.99","msrp":"","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"","savingType":"none","isPrime":false,"starRating":null,"description":"There is a caveat to this one, which is that it's running just 16 GB of DDR4 RAM, and judging by the picture, it's just a single stick. However, you're getting an RTX 5060 Ti in here for not too far north of $1,000, which is better than I've seen at this price point for quite some time. A future RAM upgrade will be in order, but for starters this is great. Key specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR4-3200 | 1 TB SSD Price check: Newegg OOS | Best Buy $1,549.99","text":"\u003cp\u003eThere is a caveat to this one, which is that it's running just 16 GB of DDR4 RAM, and judging by the picture, it's just a single stick. However, you're getting an RTX 5060 Ti in here for not too far north of $1,000, which is better than I've seen at this price point for quite some time. A future RAM upgrade will be in order, but for starters this is great.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR4-3200 | 1 TB SSD\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.newegg.com/stormcraft-gaming-desktop-pc-geforce-rtx-5060-ti-intel-core-i5-14400f-16gb-ddr4-1tb-ssd-viper/p/N82E16883420051\" target=\"_blank\"\u003eNewegg OOS\u003c/a\u003e | \u003ca href=\"https://www.bestbuy.com/product/stormcraft-viper-gaming-pc-i5-14400f-rtx-5060-ti-8gb-16gb-ddr4-1tb-ssd-win-11/J3R85S2HWZ?intl=nosplash\" target=\"_blank\"\u003eBest Buy $1,549.99\u003c/a\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-4","url":"https://www.newegg.com/thermaltake-gaming-desktop-pc-geforce-rtx-5070-intel-core-ultra-5-250k-plus-16gb-ddr5-1tb-nvme-ssd-n17s-b860-570-lcs-white/p/N82E16883100153?Item=N82E16883100153","image":"https://cdn.mos.cms.futurecdn.net/Dg7nDcFoC39QM3wYgksuHd.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/Dg7nDcFoC39QM3wYgksuHd.png","title":"LCGS NE | RTX 5070 | 16 GB DDR5","brand":"Thermaltake","productName":"LCGS NE | RTX 5070 | 16 GB DDR5","merchant":"Newegg","rawPrice":1749.99,"rawMsrp":1999.99,"price":"1749.99","msrp":"1999.99","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"Save $250","savingType":"amount","isPrime":false,"starRating":null,"description":"Gaming PCs with Nvidia GPUs in are getting more and more expensive, so you're not getting quite as good value as you can find for an RX 9070 XT build. But if you're looking to stick to Team Green for a mid-range rig, I'd say this is a good bet for the right side of $2,000. Even if that is just a single stick of DDR5 in there. Key specs: Core Ultra 5 250K Plus | RTX 5070 | 16 GB DDR5-6000 | 1 TB SSD","text":"\u003cp\u003eGaming PCs with Nvidia GPUs in are getting more and more expensive, so you're not getting quite as good value as you can find for an RX 9070 XT build. But if you're looking to stick to Team Green for a mid-range rig, I'd say this is a good bet for the right side of $2,000. Even if that is just a single stick of DDR5 in there.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Core Ultra 5 250K Plus | RTX 5070 | 16 GB DDR5-6000 | 1 TB SSD\u003c/strong\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true},{"id":"airedale-dxkEzyn9RrvdYTZs2ZP4fT-5","url":"https://www.walmart.com/ip/msi-Codex-R2-Gaming-Desktop-Intel-Core-i5-14400F-Geforce-RTX-5070-32GB-DDR5-1TB-m-2-NVMe-SSD-80-Gold-PSU-WiFi-6E-Air-Cooling-Windows-11-Home-D14NVP5/20046572526?athbdg=L1100","image":"https://cdn.mos.cms.futurecdn.net/XQqQ7GGDkzM97jKMLwEQfB.png","fallbackImage":"https://cdn.mos.cms.futurecdn.net/XQqQ7GGDkzM97jKMLwEQfB.png","title":"Codex R2 | RTX 5070 | 32 GB DDR5","brand":"MSI","productName":"Codex R2 | RTX 5070 | 32 GB DDR5","merchant":"Walmart","rawPrice":1783.35,"rawMsrp":0,"price":"1783.35","msrp":"","currency":"$","isoCurrency":"USD","isCheckPrice":false,"savingLabel":"","savingType":"none","isPrime":false,"starRating":null,"description":"A tidy look and a tidy price for a full-on RTX 5070 rig right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby. Key specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD ** 02/11/2026 - UP IN PRICE ** Price check: Newegg $1,900.19 | Best Buy $1,959.99","text":"\u003cp\u003eA tidy look and a tidy price for a full-on RTX 5070 rig right now. Especially so when you consider it comes with 32 GB of DDR5 memory. Not too shabby. \u003c/p\u003e\u003cp\u003e\u003cstrong\u003eKey specs: Core i5 14400F | RTX 5070 | 32 GB DDR5 | 1 TB SSD\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003e** 02/11/2026 - UP IN PRICE **\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrice check: \u003c/strong\u003e\u003ca href=\"https://www.newegg.com/msi-gaming-desktop-pcs-geforce-rtx-5070-1-80ghz-32gb-ddr5-1tb-nvme-ssd/p/3D5-000G-04SD4\" target=\"_blank\"\u003eNewegg $1,900.19\u003c/a\u003e | \u003ca href=\"https://www.bestbuy.com/product/msi-codex-r2-gaming-desktop-intel-core-i5-14400f-32gb-ddr5-ram-geforce-rtx-5070-1tb-m-2-nvme-ssd/J3P7TXHTXX?intl=nosplash\" target=\"_blank\"\u003eBest Buy $1,959.99\u003c/a\u003e\u003c/p\u003e","authorName":"Jacob Fox","authorRole":"Hardware Writer","authorImage":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","documentUrl":"best-cheap-gaming-pc","modifiedDate":"2026-11-09T14:37:38Z","isFeatured":false,"hasCommerceOffer":true}],"authors":[{"bioLong":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","bioShort":"Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob's led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world's #1 PC Gaming site full-time. It's definitely not an ego thing, he assures us.","name":"Jacob","fullName":"Jacob Fox","handle":"jacob-fox","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png","brandKey":"pcgamer"},{"bioLong":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","bioShort":"Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he's back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.","name":"Dave","fullName":"Dave James","handle":"dave-james","role":"Editor-in-Chief, Hardware","image":"https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/not_the_gk","label":"X (Twitter)"},{"key":"email","href":"mailto:dave.james@futurenet.com","label":"Email"}]},{"bioLong":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","bioShort":"James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.","name":"James","fullName":"James Bentley","handle":"james-bentley","role":"Hardware writer","image":"https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png","brandKey":"pcgamer"},{"bioLong":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","bioShort":"Andy built his first gaming PC at the tender age of 12, when IDE cables were a thing and high resolution wasn't. 26 years later (yes he's getting old), he now spends his days writing about and reviewing graphics cards, CPUs, keyboards, mice, gaming headsets and much, much more. You name it, if it's PC gaming hardware he'll write words about it, with opinions and everything.","name":"Andy","fullName":"Andy Edser","handle":"andy-edser","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/ZGont4SjJV38V5HWmjfNAE.png","brandKey":"pcgamer"},{"bioLong":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","bioShort":"Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she's either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.\u0026nbsp;","name":"Jess","fullName":"Jess Kinghorn","handle":"jess-kinghorn","role":"Hardware Writer","image":"https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png","brandKey":"pcgamer","socialNetworks":[{"key":"twitter","href":"https://twitter.com/KoeniginKatze","label":"X (Twitter)"},{"key":"linkedin","href":"https://www.linkedin.com/in/jess-kinghorn","label":"LinkedIn"}]}],"brands":[{"formatted_value":"Stormcraft","count":5},{"formatted_value":"ABS","count":3},{"formatted_value":"Andromeda Insights","count":3},{"formatted_value":"Skytech","count":2},{"formatted_value":"iBuyPower","count":2},{"formatted_value":"Yawyore","count":1},{"formatted_value":"Thermaltake","count":1},{"formatted_value":"MSI","count":1},{"formatted_value":"Acer","count":1},{"formatted_value":"CyberpowerPC","count":1},{"formatted_value":"Alienware","count":1},{"formatted_value":"Gigabyte","count":1}],"activeDealTag":"Gaming PCs","activeFreeformTag":"gaming-pc","activeFreeformTags":["gaming-pc"],"couponMap":{"Newegg":"has","Walmart":"has","Amazon":"none","Bestbuy":"none"},"totalAuthorCount":1,"totalDealCount":22,"tagCounts":{"Gaming Keyboards":12,"Hardware":160,"Gaming Headsets":13,"Gaming Audio":13,"Gaming Monitors":34,"Gaming Mice":9,"Gaming Laptops":16,"Gaming PCs":38,"Graphics Cards":15,"Processors":1,"SSDs":18,"Storage":18,"Controllers":8,"Gaming Chairs":1},"tags":["Hardware","Gaming PCs","Gaming Monitors","SSDs","Storage","Gaming Laptops","Graphics Cards","Gaming Headsets","Gaming Audio","Gaming Keyboards","Gaming Mice","Controllers","Processors","Gaming Chairs"],"freeformTagCounts":{"hardware":38,"gaming-laptop":16,"black-friday":13,"black-friday-2026":13,"budget":12,"deals":35,"cheap":12,"deal":14,"intel":21,"ryzen":21,"gaming-pc":22,"gaming-pc-deals":1,"nvidia-rtx-5080":1,"32-gb":1,"ddr5":1,"rtx-5070-ti-mobile":1,"gigabyte":1},"freeformTags":[{"handle":"hardware","label":"Hardware","requestValue":"Hardware"},{"handle":"deals","label":"deals","requestValue":"deals"},{"handle":"gaming-pc","label":"gaming pc","requestValue":"gaming pc"},{"handle":"intel","label":"Intel","requestValue":"Intel"},{"handle":"ryzen","label":"Ryzen","requestValue":"Ryzen"},{"handle":"gaming-laptop","label":"gaming laptop","requestValue":"gaming laptop"},{"handle":"deal","label":"deal","requestValue":"deal"},{"handle":"black-friday","label":"Black Friday","requestValue":"Black Friday"},{"handle":"black-friday-2026","label":"Black Friday 2026","requestValue":"Black Friday 2026"},{"handle":"budget","label":"budget","requestValue":"budget"},{"handle":"cheap","label":"cheap","requestValue":"cheap"},{"handle":"gaming-pc-deals","label":"gaming PC deals","requestValue":"gaming PC deals"},{"handle":"nvidia-rtx-5080","label":"Nvidia RTX 5080","requestValue":"Nvidia RTX 5080"},{"handle":"32-gb","label":"32 GB","requestValue":"32 GB"},{"handle":"ddr5","label":"DDR5","requestValue":"DDR5"},{"handle":"rtx-5070-ti-mobile","label":"RTX 5070 Ti mobile","requestValue":"RTX 5070 Ti mobile"},{"handle":"gigabyte","label":"Gigabyte","requestValue":"Gigabyte"}],"reviewInventoryBaked":false}(()=>{var Z1=Object.create;var cg=Object.defineProperty;var W1=Object.getOwnPropertyDescriptor;var I1=Object.getOwnPropertyNames;var J1=Object.getPrototypeOf,$1=Object.prototype.hasOwnProperty;var un=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var eb=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of I1(t))!$1.call(e,l)&&l!==n&&cg(e,l,{get:()=>t[l],enumerable:!(a=W1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Z1(J1(e)):{},eb(t||!e||!e.__esModule?cg(n,"default",{value:e,enumerable:!0}):n,e));var Ag=un(z=>{"use strict";var Tc=Symbol.for("react.transitional.element"),tb=Symbol.for("react.portal"),nb=Symbol.for("react.fragment"),ab=Symbol.for("react.strict_mode"),lb=Symbol.for("react.profiler"),ib=Symbol.for("react.consumer"),rb=Symbol.for("react.context"),ob=Symbol.for("react.forward_ref"),ub=Symbol.for("react.suspense"),cb=Symbol.for("react.memo"),mg=Symbol.for("react.lazy"),sb=Symbol.for("react.activity"),sg=Symbol.iterator;function db(e){return e===null||typeof e!="object"?null:(e=sg&&e[sg]||e["@@iterator"],typeof e=="function"?e:null)}var hg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,yg={};function ml(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}ml.prototype.isReactComponent={};ml.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ml.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vg(){}vg.prototype=ml.prototype;function Ec(e,t,n){this.props=e,this.context=t,this.refs=yg,this.updater=n||hg}var Dc=Ec.prototype=new vg;Dc.constructor=Ec;pg(Dc,ml.prototype);Dc.isPureReactComponent=!0;var dg=Array.isArray;function Rc(){}var he={H:null,A:null,T:null,S:null},bg=Object.prototype.hasOwnProperty;function xc(e,t,n){var a=n.ref;return{$$typeof:Tc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function fb(e,t){return xc(e.type,t,e.props)}function Mc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Tc}function gb(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var fg=/\/+/g;function Cc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?gb(""+e.key):t.toString(36)}function mb(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Rc,Rc):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function gl(e,t,n,a,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case"bigint":case"string":case"number":r=!0;break;case"object":switch(e.$$typeof){case Tc:case tb:r=!0;break;case mg:return r=e._init,gl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===""?"."+Cc(e,0):a,dg(l)?(n="",r!=null&&(n=r.replace(fg,"$&/")+"/"),gl(l,t,n,"",function(c){return c})):l!=null&&(Mc(l)&&(l=fb(l,n+(l.key==null||e&&e.key===l.key?"":(""+l.key).replace(fg,"$&/")+"/")+r)),t.push(l)),1;r=0;var o=a===""?".":a+":";if(dg(e))for(var u=0;u>1;aoo(o,n))uoo(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(uoo(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function oo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Se.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Sg=performance,Se.unstable_now=function(){return Sg.now()}):(_c=Date,Cg=_c.now(),Se.unstable_now=function(){return _c.now()-Cg});var Sg,_c,Cg,wn=[],Qn=[],yb=1,Ut=null,et=3,kc=!1,Mi=!1,_i=!1,Lc=!1,Eg=typeof setTimeout=="function"?setTimeout:null,Dg=typeof clearTimeout=="function"?clearTimeout:null,Rg=typeof setImmediate0?t.reduce((n,a)=>a&&a.lengtha(r.target.value),children:[(0,Fn.jsx)("option",{value:"",style:{textAlign:"left"},children:Zw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Ww(r);return o&&o.length>38&&(o=o.substring(0,36)+"\u2026"),(0,Fn.jsx)("option",{value:r.id,style:{textAlign:"left"},children:o},r.id)})]})]})})}var A0=B(ft(),1);function o0(e,t=new Date){if(!e)return"";let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a1?"s":""} ago`}function Iw(e){return e.replace(//gi," ").replace(/]*>/gi," ").replace(//gi," ").replace(/[\r\n]+/g," ").replace(/\s+/g," ").trim()}function _r(e,t,n){let a="";return n==="short"?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"":a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!=="null"?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!=="null"?e.articleauthorbio[t]:"",a?Iw(a):""}function u0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!=="null"?e.articleauthorrole[t]:""}function c0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:""}function ri(e){if(typeof e!="string"||!e.trim())return"";try{let t=new URL(e);if(t.hostname.toLowerCase()!=="cdn.mos.cms.futurecdn.net")return e;let n=/\.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-\d+-\d+\.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,"-480-80$&"),t.toString())}catch{return e}}function Uu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n=="string")try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\\"/g,'"'))}catch{}}else typeof n=="object"&&n!==null&&(a=n);if(!a||typeof a!="object")return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o="",u="";if(typeof r=="string"?o=r:typeof r=="object"&&r!==null&&(o=r.url||r.address||r.link||"",u=r.address||""),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c==="email"?s.startsWith("mailto:")||(s=s.includes("@")?`mailto:${s}`:`mailto:${s}`):!s.startsWith("http://")&&!s.startsWith("https://")&&!s.startsWith("//")&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c==="linkedin"?f="LinkedIn":c==="youtube"?f="YouTube":c==="tiktok"?f="TikTok":c==="twitch"?f="Twitch":c==="steam"?f="Steam":c==="github"?f="GitHub":c==="rss"?f="RSS":(c==="x"||c==="twitter")&&(f="X (Twitter)"),l.push({key:c,href:s,label:f})}return l}function ee(e){if(!e)return"";let t=String(e);for(let n=0;nString.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Ee=B(O(),1);function cf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ee(String(t.authorName)),a=t.authorRole&&!["null","nul","undefined"].includes(String(t.authorRole).toLowerCase())?` \u2022 ${ee(String(t.authorRole))}`:"";return(0,Ee.jsx)("div",{className:"tg-df-author-line-desktop",style:{padding:"0 0 12px 0"},children:(0,Ee.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[t.authorImage&&(0,Ee.jsx)("img",{src:ri(t.authorImage),alt:n,className:"tg-df-author-img",width:"36",height:"36",style:{borderRadius:"50%",objectFit:"cover",flexShrink:0,aspectRatio:"1 / 1",minWidth:"36px",minHeight:"36px"}}),(0,Ee.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,Ee.jsx)("div",{style:{fontSize:"10px",color:"var(--tg-df-text-muted)",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"2px",fontWeight:600},children:t.isReviewProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Product tested by:"}):t.isBuyingGuideProduct?(0,Ee.jsx)(Ee.Fragment,{children:"Expert review by:"}):t.isFeatured?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:"Top product"})," ","recommended by:"]}):(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("span",{style:{color:"#FF6600"},children:t.merchant})," ","deal recommended by:"]})}),(0,Ee.jsxs)("div",{style:{fontSize:"11px",color:"var(--tg-df-text)",lineHeight:1.2},children:[(0,Ee.jsx)("strong",{children:(0,Ee.jsx)("a",{href:e,target:"_blank",rel:"noopener",style:{textDecoration:"none",color:"inherit",borderBottom:"1px dotted var(--tg-df-text-muted)"},children:n})}),a,t.modifiedDate?(0,Ee.jsxs)("span",{style:{color:"var(--tg-df-text-muted)"},children:[" ","\u2022 ",o0(t.modifiedDate)]}):""]})]})]})})}var K=B(O(),1);function s0({authorUrl:e,deal:t,hideHawkPrices:n,msrpFormatted:a,sourceArticleUrl:l}){let i=ee(String(t.merchant||"")),r=ee(String(t.currency||""));if(t.isBuyingGuideProduct||t.isReviewProduct){let o=!!t.hasCommerceOffer,u=o&&!t.isCheckPrice,c=!!t.hawkPricePending,s=!!t.isReviewProduct&&!c&&!o,f=n&&o&&Array.isArray(t.hawkListings)?t.hawkListings.filter(m=>m?.merchant&&m?.url).slice(0,4):[],d=f.length>0;return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[c?(0,K.jsx)("div",{className:"tg-df-card-price-group","aria-live":"polite",children:(0,K.jsx)("span",{className:"tg-df-card-price",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"Checking live price\u2026"})}):d?(0,K.jsxs)("div",{className:"tg-df-card-listings",children:[(0,K.jsx)("span",{className:"tg-df-card-listings-title",children:"Today's cheapest prices:"}),(0,K.jsx)("div",{className:"tg-df-card-listings-links",children:f.map((m,v)=>{let A=ee(String(m.merchant));return(0,K.jsx)("a",{"aria-label":`View product at ${A}`,className:"tg-df-card-listing-link hawk-affiliate-link-container","data-fcaw-affiliate-link":"","data-merchant":A,"data-merchant-id":m.merchantId||void 0,"data-model-id":m.modelId||void 0,"data-product-key":m.productKey||void 0,href:m.url,rel:"sponsored nofollow noopener",target:"_blank",children:A},`${m.merchant}-${m.url}-${v}`)})})]}):u?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsxs)("div",{className:"tg-df-card-price-group",children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})]}):s?(0,K.jsx)("div",{className:"tg-df-card-price-group",children:(0,K.jsx)("span",{className:"tg-df-card-price tg-df-card-price--unavailable",style:{color:"var(--tg-df-text-muted)",fontSize:"13px",fontWeight:500},children:"No retail listing found"})}):null,(0,K.jsx)(cf,{authorUrl:e,deal:t}),!d&&(0,K.jsx)("a",{href:o?t.url:l,"data-fcaw-affiliate-link":o?"":void 0,target:"_blank",rel:o?"sponsored nofollow noopener":"noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},children:o?u?"VIEW DEAL":"CHECK PRICE":"READ REVIEW"})]})}return(0,K.jsxs)("div",{className:"tg-df-card-footer",children:[!(t.authorName&&!t.isFeatured)&&(0,K.jsx)("div",{className:"tg-df-card-merchant-wrapper",children:(0,K.jsx)("span",{className:"tg-df-card-merchant-pill",title:i,children:i})}),(0,K.jsx)("div",{className:"tg-df-card-price-group",children:t.isCheckPrice?(0,K.jsx)("span",{className:"tg-df-card-price",style:{fontSize:"15px",fontWeight:500,fontStyle:"italic"},children:"See price at retailer"}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("span",{className:"tg-df-card-price",children:[r,(0,K.jsx)("span",{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,K.jsx)("span",{className:"tg-df-card-msrp",children:a})]})}),(0,K.jsx)(cf,{authorUrl:e,deal:t}),(0,K.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":"",target:"_blank",rel:"sponsored nofollow noopener",className:"tg-df-card-cta hawk-affiliate-link-deal-button",style:{textDecoration:"none"},"data-model-id":t.modelId||void 0,"data-product-key":t.productKey||void 0,"data-merchant-id":t.merchantId||void 0,children:t.isCheckPrice?"CHECK PRICE":t.isFeatured?"SHOP NOW":"VIEW DEAL"})]})}var Ze=B(O(),1);function d0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,Ze.jsxs)("div",{className:"tg-df-card-image-box",children:[t.buyingGuideBadge?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge tg-df-buying-guide-badge",children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,Ze.jsx)("span",{className:"tg-df-card-discount-badge",children:ee(t.savingLabel)}):null,(0,Ze.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":a?"":void 0,className:a?"hawk-affiliate-link-deal-widget":void 0,target:"_blank",rel:a?"sponsored nofollow noopener":"noopener",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%"},children:(0,Ze.jsx)("img",{src:t.image||void 0,alt:ee(String(t.title||"")),className:"tg-df-card-image",loading:"lazy",onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb="1",l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity="0"}})}),(0,Ze.jsxs)("div",{className:"tg-df-card-badges",children:[t.isPrime&&(0,Ze.jsxs)("span",{className:"tg-df-tag tg-df-tag-prime",children:[(0,Ze.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ze.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})," ","Prime"]}),!t.merchant?.toLowerCase().includes("amazon")&&(e==="loading"||e==="has")&&(0,Ze.jsx)("div",{className:"tg-df-coupon-wrapper",style:{display:"inline-flex",alignItems:"center"},children:e==="loading"?(0,Ze.jsx)("div",{className:"tg-df-coupon-spinner"}):(0,Ze.jsxs)("button",{type:"button",className:"tg-df-tag tg-df-tag-coupons",onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,Ze.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,Ze.jsx)("path",{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"}),(0,Ze.jsx)("line",{x1:"7",y1:"7",x2:"7.01",y2:"7"})]})," ","Coupons"]})})]})]})}var ct=B(O(),1);function f0({label:e="Tom's Guide:",starRating:t,color:n="#1f69ff"}){if(!t||t=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o0||e.length>0,u=ee(i);return!u&&!o?null:(0,At.jsxs)("div",{style:{marginBottom:"12px"},children:[u&&(0,At.jsx)("p",{style:{color:"var(--tg-df-text-muted)",fontSize:"13px",lineHeight:1.4,margin:"0 0 8px",display:!t&&r?"-webkit-box":"block",WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?"vertical":void 0,overflow:!t&&r?"hidden":void 0},children:u}),t&&o&&(0,At.jsxs)("div",{children:[(0,At.jsx)(g0,{heading:"Pros",items:l}),(0,At.jsx)(g0,{heading:"Cons",items:e})]}),(o||r)&&(0,At.jsxs)("div",{className:"tg-df-review-summary-actions",style:{alignItems:"flex-start",display:"flex",flexDirection:"column",gap:t&&n?"4px":0},children:[t&&n&&(0,At.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"tg-df-review-full-link",style:{alignItems:"center",color:"var(--tg-df-blue)",display:"flex",fontSize:"12px",fontWeight:700,minHeight:"40px",paddingRight:"12px",textDecoration:"underline"},children:"Read our full review"}),(0,At.jsx)("button",{type:"button",onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},className:"tg-df-review-summary-toggle",style:{appearance:"none",background:"transparent",border:"none",color:"#000000",cursor:"pointer",fontFamily:"inherit",fontSize:"11px",fontWeight:700,minHeight:"40px",padding:"0 12px 0 0",textTransform:"uppercase"},children:t?"LESS":"READ MORE"})]})]})}var oi=B(ft(),1);var Br=B(O(),1);function h0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,oi.useState)(!1),i=(0,oi.useRef)(null),r=ee(e);return(0,oi.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,Br.jsxs)("div",{style:{marginBottom:"12px",position:"relative"},children:[(0,Br.jsx)("p",{ref:i,style:{fontSize:"13px",color:"var(--tg-df-text-muted)",marginBottom:"0",lineHeight:"1.4",display:t?"inline":"-webkit-box",WebkitLineClamp:t?"unset":3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:r}),a&&(0,Br.jsx)("button",{type:"button",onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:"block",appearance:"none",border:"none",color:"#000000",fontSize:"11px",fontWeight:700,textTransform:"uppercase",cursor:"pointer",fontFamily:"inherit",position:t?"static":"absolute",bottom:"2px",right:0,background:t?"transparent":"linear-gradient(to right, transparent, #fff 20%, #fff)",padding:t?"0":"0 0 0 16px"},children:t?"LESS":"READ MORE"})]}):null}var p0={pcgamer:"#DC191B",space:"#2E4A7F",tomsguide:"#1F69FF",techradar:"#E40784",golfmonthly:"#FFFFFF",androidcentral:"#1CCC3E",cinemablend:"#FFC033",creativebloq:"#DC361A",cyclingnews:"#371B51",cyclingweekly:"#AE1305",decanter:"#1B1B1B",digitalcameraworld:"#CAEBF2",fitandwell:"#BED100",fourfourtwo:"#AE1006",gamesradar:"#DC361A",guitarplayer:"#FFFFFF",guitarworld:"#DC1F26",homesandgardens:"#185A7D",idealhome:"#CAEBF2",imore:"#FFD600",livescience:"#023953",livingetc:"#FFFFFF",loudersound:"#DC0F17",marieclaireus:"#FFFFFF",marieclaireuk:"#FFFFFF",musicradar:"#006EA9",shortlist:"#2853E0",t3:"#DF0A14",theweek:"#DF0A14",theweekjuniorus:"#10A0B0",tomshardware:"#D8373B",wallpaper:"#FFFFFF",whathifi:"#E02928",whowhatwear:"#FFFFFF",windowscentral:"#CE0E5F",womanandhome:"#2F746E"},Nr={tomsguide:"https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png",techradar:"https://proof.vanilla.tools/media/images/brandLogos/techradar.png",tomshardware:"https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png",pcgamer:"https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png",gamesradar:"https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png",creativebloq:"https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png",space:"https://proof.vanilla.tools/media/images/brandLogos/space.png",livescience:"https://proof.vanilla.tools/media/images/brandLogos/livescience.png",cinemablend:"https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png",marieclaireus:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png",marieclaireuk:"https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png",homesandgardens:"https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png",whowhatwear:"https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png",idealhome:"https://proof.vanilla.tools/media/images/brandLogos/idealhome.png",womanandhome:"https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png",livingetc:"https://proof.vanilla.tools/media/images/brandLogos/livingetc.png",t3:"https://proof.vanilla.tools/media/images/brandLogos/t3.png",whathifi:"https://proof.vanilla.tools/media/images/brandLogos/whathifi.png",digitalcameraworld:"https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png",fitandwell:"https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png",golfmonthly:"https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png",musicradar:"https://proof.vanilla.tools/media/images/brandLogos/musicradar.png",windowscentral:"https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png",cyclingnews:"https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png",cyclingweekly:"https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png",loudersound:"https://proof.vanilla.tools/media/images/brandLogos/loudersound.png",guitarworld:"https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png",guitarplayer:"https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png",wallpaper:"https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png",fourfourtwo:"https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png",shortlist:"https://proof.vanilla.tools/media/images/brandLogos/shortlist.png",advnture:"https://proof.vanilla.tools/media/images/brandLogos/advnture.png",countrylife:"https://proof.vanilla.tools/media/images/brandLogos/countrylife.png",gardeningknowhow:"https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png",gnomesingardens:"https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png",kiplinger:"https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png",moneyweek:"https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png",toptenreviews:"https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png"},Gu={tomsguide:"Tom's Guide",techradar:"TechRadar",tomshardware:"Tom's Hardware",pcgamer:"PC Gamer",gamesradar:"GamesRadar+",creativebloq:"Creative Bloq",space:"Space",livescience:"Live Science",cinemablend:"CinemaBlend",marieclaireus:"Marie Claire US",marieclaireuk:"Marie Claire UK",homesandgardens:"Homes & Gardens",whowhatwear:"Who What Wear",idealhome:"Ideal Home",womanandhome:"Woman & Home",livingetc:"Living Etc",t3:"T3",whathifi:"What Hi-Fi?",digitalcameraworld:"Digital Camera World",fitandwell:"Fit & Well",golfmonthly:"Golf Monthly",musicradar:"MusicRadar",androidcentral:"Android Central",imore:"iMore",windowscentral:"Windows Central",cyclingnews:"Cycling News",cyclingweekly:"Cycling Weekly",loudersound:"Louder Sound",guitarworld:"Guitar World",guitarplayer:"Guitar Player",theweek:"The Week",theweekjuniorus:"The Week Junior US",wallpaper:"Wallpaper",decanter:"Decanter",fourfourtwo:"FourFourTwo",shortlist:"ShortList",advnture:"Advnture",countrylife:"Country Life",gardeningknowhow:"Gardening Know How",gnomesingardens:"Gnomes in Gardens",kiplinger:"Kiplinger",moneyweek:"Money Week",toptenreviews:"Top 10 Reviews"},y0={pcgamer:[{key:"steam",href:"https://steamcommunity.com/groups/pcgamer",label:"PC Gamer on Steam"},{key:"x",href:"https://twitter.com/pcgamer",label:"PC Gamer on X"},{key:"facebook",href:"https://www.facebook.com/pcgamermagazine",label:"PC Gamer on Facebook"},{key:"instagram",href:"https://www.instagram.com/pcgamer_mag/?hl=en",label:"PC Gamer on Instagram"},{key:"youtube",href:"https://www.youtube.com/user/pcgamer",label:"PC Gamer on YouTube"},{key:"twitch",href:"https://www.twitch.tv/pcgamer",label:"PC Gamer on Twitch"},{key:"tiktok",href:"https://www.tiktok.com/@pcgamer_mag?lang=en",label:"PC Gamer on TikTok"}],homesandgardens:[{key:"instagram",href:"https://www.instagram.com/homesandgardensofficial",label:"Homes & Gardens on Instagram"},{key:"facebook",href:"https://www.facebook.com/homesandgardens/",label:"Homes & Gardens on Facebook"},{key:"x",href:"https://x.com/homesandgardens",label:"Homes & Gardens on X"},{key:"tiktok",href:"https://www.tiktok.com/@homesandgardensofficial",label:"Homes & Gardens on TikTok"},{key:"pinterest",href:"https://pinterest.com/homesgardensofficial/",label:"Homes & Gardens on Pinterest"}],whowhatwear:[{key:"x",href:"https://twitter.com/WhoWhatWear",label:"Who What Wear on X"},{key:"instagram",href:"https://www.instagram.com/whowhatwear/",label:"Who What Wear on Instagram"},{key:"facebook",href:"https://www.facebook.com/WhoWhatWear/",label:"Who What Wear on Facebook"},{key:"pinterest",href:"https://www.pinterest.co.uk/whowhatwearuk/",label:"Who What Wear on Pinterest"},{key:"tiktok",href:"https://www.tiktok.com/@whowhatwear.uk",label:"Who What Wear on TikTok"}]};var Ot=B(O(),1);function v0(e){return String(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").trim().toLowerCase()}function Jw(e){let t=ee(String(e.brand||"")).trim(),n=ee(String(e.productName||e.title||"")).trim(),a=v0(t),l=v0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function b0({couponStatus:e,deal:t,editorMode:n,hideHawkPrices:a,isDescriptionExpanded:l,isSelected:i,onDescriptionToggle:r,onOpenVouchers:o,onSelectionChange:u,website:c}){let s=ee(String(t.currency||"")),f=t.rawMsrp?s+t.rawMsrp:null,d=Jw(t),m=ee(String(t.title||"")),v=Gu[c||"tomsguide"]||c||"Tom's Guide",A=(c||"tomsguide").includes(".")?(c||"").startsWith("http")?c:`https://${c}`:`https://www.${c||"tomsguide"}.com`,b=(t.documentUrl||"").replace(/^\/+/,""),h=b.startsWith("http://")||b.startsWith("https://")?b:`${A}/${b}`,g=String(t.sourceArticleUrl||t.documentUrl||t.url||"").replace(/^\/+/,""),p=g.startsWith("http://")||g.startsWith("https://")?g:`${A}/${g}`,y=!!t.hasCommerceOffer;return(0,Ot.jsxs)("div",{className:"tg-df-card","data-brand":t.modelBrand||t.brand||void 0,"data-currency":t.isoCurrencyCode||s||void 0,"data-deal-id":t.externalProductId||t.id||void 0,"data-merchant":t.merchant||void 0,"data-merchant-id":t.merchantId||void 0,"data-model-id":t.modelId||void 0,"data-previous-price":t.rawMsrp||void 0,"data-price":t.rawPrice||void 0,"data-product-key":t.productKey||void 0,"data-product-name":t.productName||t.title||void 0,"data-review-product":t.isReviewProduct?"true":void 0,"data-source-article-url":t.isReviewProduct?p:void 0,children:[n&&(0,Ot.jsx)("input",{type:"checkbox",className:"tg-df-deal-checkbox",checked:i,onChange:C=>u(C.target.checked)}),(0,Ot.jsx)(d0,{couponStatus:e,deal:t,onOpenVouchers:o}),(0,Ot.jsxs)("div",{className:"tg-df-card-body",children:[(0,Ot.jsx)("h3",{className:"tg-df-card-title",title:m,children:(0,Ot.jsx)("a",{href:t.url,"data-fcaw-affiliate-link":y?"":void 0,className:y?"hawk-affiliate-link-container":void 0,target:"_blank",rel:y?"sponsored nofollow noopener":"noopener",style:{textDecoration:"none",color:"inherit"},children:(0,Ot.jsx)("strong",{children:d})})}),(0,Ot.jsx)(f0,{label:t.isBuyingGuideProduct?"":`${v} rating:`,starRating:t.starRating,color:t.isReviewProduct?"var(--tg-df-blue)":void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Ot.jsx)(m0,{cons:t.cons,expanded:l,fullReviewUrl:t.isReviewProduct&&g?p:void 0,onToggle:r,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Ot.jsx)(h0,{text:t.description,expanded:l,onToggle:r}):null,(0,Ot.jsx)(s0,{authorUrl:h,deal:t,hideHawkPrices:a,msrpFormatted:f,sourceArticleUrl:p})]})]})}var ce=B(O(),1);function $w({activeDealTag:e,activeFreeformTags:t=[],query:n,selectedBrands:a=[]}){let l=o=>{let u=String(o||"").trim();return u&&u.toLowerCase()!=="everything"?u:""},r=(t.length>0?t:e?[e]:a.length>0?a:[n]).map(l).filter(Boolean).map(o=>o.replace(/\s+deals?$/i,"").trim()).filter((o,u,c)=>c.findIndex(s=>s.toLowerCase()===o.toLowerCase())===u);return r.length(0,ce.jsxs)("div",{className:"tg-df-card",children:[(0,ce.jsx)("div",{className:"tg-df-card-image-box tg-df-skeleton"}),(0,ce.jsxs)("div",{className:"tg-df-card-body",children:[(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title"}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short",style:{marginBottom:"24px"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text title",style:{width:"80%"}}),(0,ce.jsx)("div",{className:"tg-df-skeleton tg-df-skeleton-text short"}),(0,ce.jsx)("div",{className:"tg-df-card-cta tg-df-skeleton",style:{width:"100%",height:"40px",marginTop:"auto",border:"none"}})]})]},t))})}function t2(e,t){return{"@context":"https://schema.org","@type":"ItemList",itemListElement:e.slice(0,t).map((n,a)=>{let l="USD";return n.currency==="\xA3"?l="GBP":n.currency==="\u20AC"?l="EUR":n.currency==="A$"?l="AUD":n.currency==="CA$"&&(l="CAD"),{"@type":"ListItem",position:a+1,item:{"@type":"Product",name:n.title,image:n.image||"",description:n.description||"",brand:{"@type":"Brand",name:n.brand||""},offers:{"@type":"Offer",priceCurrency:l,price:n.rawPrice||0,url:n.url||"",seller:{"@type":"Organization",name:n.merchant||""}}}}}).filter(n=>n.item.name)}}function w0({activeDealTag:e,activeFreeformTags:t,couponMap:n,deals:a,displayCount:l,editorMode:i,error:r,expandedDealIds:o,hasMore:u,hideHawkPrices:c,loading:s,loadingMore:f,loadMoreStartCount:d,onDescriptionToggle:m,onLoadMore:v,onOpenVouchers:A,query:b,recentDealsOnly:h,selectedBrands:g,selectedDeals:p,setSelectedDeals:y,website:C}){let R=$w({activeDealTag:e,activeFreeformTags:t,query:b,selectedBrands:g}),T=f&&d!=null?d:l,M=!f&&d!=null&&dD.map(k=>(0,ce.jsx)(A0.default.Fragment,{children:(0,ce.jsx)(b0,{couponStatus:n[k.merchant],deal:k,editorMode:i,hideHawkPrices:c,isDescriptionExpanded:o.has(k.id),isSelected:p.has(k.id),onDescriptionToggle:()=>m(k.id),onOpenVouchers:A,onSelectionChange:se=>{let I=new Map(p);se?I.set(k.id,k):I.delete(k.id),y(I)},website:C})},k.id));return(0,ce.jsx)("div",{className:"tg-df-grid-wrapper",children:(0,ce.jsx)("div",{className:"tg-df-grid article-body tg-df-grid-auto",id:"tg-df-grid",children:s?(0,ce.jsx)(e2,{}):r?(0,ce.jsx)("div",{className:"tg-df-message",children:"Failed to load deals. Please try again."}):a.length===0?(0,ce.jsx)("div",{className:"tg-df-message",children:h?`No ${R?`${R} `:""}deals found from the last 30 days.`:!b||b.length{D.preventDefault(),D.stopPropagation(),v()},children:f?"Loading more products\u2026":"Load More"})}),a.length>0&&(0,ce.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t2(a,T))}})]})})})}var S0=B(O(),1);var pn=B(ft(),1),nn=B(O(),1);function Pu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,nn.jsxs)(nn.Fragment,{children:[(0,nn.jsx)("button",{"aria-label":"Scroll left",className:"tg-df-scroll-btn left tg-df-desktop-only",onClick:e,style:{display:n?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,nn.jsx)("button",{"aria-label":"Scroll right",className:"tg-df-scroll-btn right tg-df-desktop-only",onClick:t,style:{display:a?"flex":"none"},type:"button",children:(0,nn.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,nn.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})}function qu(e){let t=(0,pn.useRef)(null),[n,a]=(0,pn.useState)(!1),[l,i]=(0,pn.useState)(!1),r=(0,pn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth){let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,pn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:"smooth"})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var jn=B(O(),1);function ui({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=qu(n.length);return n.length===0&&!a?null:(0,jn.jsxs)("div",{className:e,style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[n.length>0&&(0,jn.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,jn.jsx)("div",{className:r,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none"},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,jn.jsxs)("button",{className:t,onClick:()=>i(c.key),style:{border:"none",borderRight:"1px solid var(--tg-df-border)",padding:"12px 20px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:"6px",...t==="tg-df-brand-row-item"?{transition:"all 0.2s ease"}:{},background:c.selected?"var(--tg-df-bg-secondary)":"var(--tg-df-bg)",color:c.selected?"var(--tg-df-text-primary)":"var(--tg-df-text-muted)",fontWeight:c.selected?600:500},children:[c.label," ",l===c.key&&(0,jn.jsx)("span",{className:"tg-df-coupon-spinner","aria-label":"Loading",style:{borderWidth:"2px",height:"12px",width:"12px"}}),o!==!1&&(0,jn.jsx)("span",{style:{color:"var(--tg-df-blue)",fontSize:"10px",...t==="tg-df-brand-row-item"?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,jn.jsx)("div",{className:"tg-df-skeleton",style:{height:"36px",width:"80px",borderRadius:"18px",flexShrink:0,margin:"8px 12px"}},`${r}-skeleton-${c}`))})]})}var R0=B(O(),1);function C0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,R0.jsx)(ui,{containerClassName:"tg-df-brands-row-container",itemClassName:"tg-df-brand-row-item",items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:"tg-df-brands-row",showCounters:r})}var E0=B(O(),1);function T0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(":::"),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,E0.jsx)(ui,{containerClassName:"tg-df-categories-row-container",itemClassName:"tg-df-category-row-item",items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:"tg-df-categories-row",showCounters:r})}var x0=B(O(),1);function D0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,x0.jsx)(ui,{containerClassName:"tg-df-freeform-tags-row-container",itemClassName:"tg-df-freeform-tag-row-item",items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:"tg-df-freeform-tags-row",showCounters:r})}var _e=B(O(),1),n2=4;function M0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=qu(e.length);return e.length===0&&!n?null:(0,_e.jsxs)("div",{className:"tg-df-authors-row-container",style:{borderBottom:"1px solid var(--tg-df-border)",position:"relative"},children:[e.length>0&&(0,_e.jsx)(Pu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,_e.jsx)("div",{className:"tg-df-authors-row tg-df-mobile-authors",onScroll:u.onScroll,ref:u.railRef,style:{display:"flex",overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",gap:"24px",padding:"4px 16px 2px 16px",alignItems:"flex-start"},children:e.length>0?e.map((c,s)=>{let f=Nr[c.brandKey]||Nr[o||"tomsguide"],d=t&&(i===c.handle||r===c.fullName);return(0,_e.jsxs)("div",{className:"tg-df-author-row-item",onClick:()=>l(c),style:{cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px",opacity:t?d?1:.4:1},children:[(0,_e.jsxs)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px",borderRadius:"50%",boxShadow:d?"0 0 0 3px var(--tg-df-blue, #1F69FF)":"none"},children:[(0,_e.jsx)("img",{src:ri(c.image),alt:c.fullName,decoding:"async",loading:s(0,_e.jsxs)("div",{className:"tg-df-author-row-item",style:{display:"flex",flexDirection:"column",alignItems:"center",width:"72px",flexShrink:0,gap:"4px"},children:[(0,_e.jsx)("div",{className:"tg-df-author-img-wrapper",style:{position:"relative",width:"64px",height:"64px"},children:(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),(0,_e.jsxs)("div",{style:{textAlign:"center",width:"100%"},children:[(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"12px",width:"80%",margin:"0 auto 4px auto",borderRadius:"2px"}}),(0,_e.jsx)("div",{className:"tg-df-skeleton",style:{height:"10px",width:"60%",margin:"0 auto",borderRadius:"2px"}})]})]},`author-skeleton-${c}`))})]})}var Ja=B(O(),1);function _0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:p,showAuthorCounters:y,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let w=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||p&&o.length>0;return!(p||R!==!1||T!==!1||C!==!1)||!w&&!s?null:(0,Ja.jsxs)("div",{id:"tg-df-spreadsheet-filters",style:{display:"block",marginBottom:"16px"},children:[p&&(0,Ja.jsx)(M0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Ja.jsx)(T0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:y}),T!==!1&&(0,Ja.jsx)(D0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:y}),C!==!1&&(0,Ja.jsx)(C0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:y})]})}var O0=B(ft(),1);var B0=[{value:"date_desc",label:"Most recent"},{value:"rating_desc",label:"Highest rating"},{value:"scored_first",label:"Scored products first"}];function Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function Fu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Or({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function ju(e=!0){return e?B0:B0.filter(t=>t.value!=="scored_first")}function wa(e,t=!0){return!t&&e==="scored_first"?"date_desc":e||"date_desc"}var H=B(O(),1),N0=[{value:"all",label:"All Prices",shortLabel:""},{value:"under50",label:"Under $50",shortLabel:"< $50"},{value:"50_100",label:"$50 - $100",shortLabel:"$50-$100"},{value:"100_200",label:"$100 - $200",shortLabel:"$100-$200"},{value:"200_500",label:"$200 - $500",shortLabel:"$200-$500"},{value:"over500",label:"Over $500",shortLabel:"> $500"}],a2=[{value:"0",label:"Any discount"},...[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function l2({open:e}){return(0,H.jsx)("svg",{"aria-hidden":"true",className:e?"is-open":void 0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("path",{d:"m6 9 6 6 6-6"})})}function Yn(){return(0,H.jsx)("svg",{"aria-hidden":"true",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,H.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function k0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:p,priceRange:y,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:w,showFreeformTagRail:D,showPriceDiscountFilters:k,showReviewSort:se}){let[I,j]=(0,O0.useState)(null);if(!o)return null;let He=l.map(x=>{let P=x.split(":::");return{count:a[x]||0,handle:P[0],label:P[1]||x}}),ze=n.length>0?n:i||[],St=He.find(x=>x.handle===e),Ie=y||"all",rn=!r||r==="all"?"0":r,Be=N0.find(x=>x.value===Ie),Je=k!==!1,nt=wa(C,s),X=ju(s),de=nt==="rating_desc"?"Highest rating":nt==="scored_first"?"Scored first":"Most recent",$e=x=>{j(P=>P===x?null:x)},Z=[];return w!==!1&&Z.push({active:!!e,label:`CATEGORIES${St?` (${St.label})`:""}`,menu:"categories"}),D!==!1&&Z.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:""}`,menu:"keywords"}),M!==!1&&Z.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:""}`,menu:"brands"}),Je&&Z.push({active:Ie!=="all",label:`PRICES${Be?.shortLabel?` (${Be.shortLabel})`:""}`,menu:"prices"}),(Je||se)&&Z.push({active:se?nt!=="date_desc":rn!=="0",label:se?`SORT REVIEWS (${de})`:`DISCOUNTS${rn!=="0"?` (${rn}%+)`:""}`,menu:se?"review-sort":"discounts"}),(0,H.jsxs)("div",{className:"tg-df-mobile-2x2-container",children:[(0,H.jsx)("div",{className:`tg-df-mobile-2x2-grid tg-df-mobile-2x2-grid--${Z.length%2===0?"even":"odd"}`,children:Z.map(x=>(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-grid-cell${x.active?" has-active-filter":""}${I===x.menu?" active":""}`,"aria-expanded":I===x.menu,onClick:()=>$e(x.menu),children:[(0,H.jsx)("span",{children:x.label}),(0,H.jsx)(l2,{open:I===x.menu})]},x.menu))}),w!==!1&&I==="categories"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${e?"":" selected"}`,onClick:()=>{g(),j(null)},children:[(0,H.jsx)("span",{children:"All Categories"}),!e&&(0,H.jsx)(Yn,{})]}),He.map(x=>{let P=e===x.handle;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{p(x.handle),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},x.handle)})]}),M!==!1&&I==="brands"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${R.length===0?" selected":""}`,onClick:()=>f?.([]),children:[(0,H.jsx)("span",{children:"All Brands"}),R.length===0&&(0,H.jsx)(Yn,{})]}),ze.map(x=>{let P=x.formatted_value,Q=R.includes(P);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${Q?" selected":""}`,onClick:()=>d?.(P),children:[(0,H.jsx)("span",{children:P}),Q?(0,H.jsx)(Yn,{}):T!==!1&&x.count?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:x.count}):null]},P)})]}),D!==!1&&I==="keywords"&&(0,H.jsxs)("div",{className:"tg-df-mobile-menu-drawer",children:[(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${t.length===0?" selected":""}`,onClick:()=>{v(),j(null)},children:[(0,H.jsx)("span",{children:"All Keywords"}),t.length===0&&(0,H.jsx)(Yn,{})]}),c.map(x=>{let P=t.includes(x.handle);return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>A(x.handle),children:[(0,H.jsx)("span",{children:x.label}),P?(0,H.jsx)(Yn,{}):T!==!1&&u[x.handle]?(0,H.jsx)("span",{className:"tg-df-mobile-cell-badge",children:u[x.handle]}):null]},x.handle)})]}),I==="prices"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:N0.map(x=>{let P=Ie===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{b?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="discounts"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:a2.map(x=>{let P=rn===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{m?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})}),I==="review-sort"&&(0,H.jsx)("div",{className:"tg-df-mobile-menu-drawer",children:X.map(x=>{let P=nt===x.value;return(0,H.jsxs)("button",{type:"button",className:`tg-df-mobile-menu-item${P?" selected":""}`,onClick:()=>{h?.(x.value),j(null)},children:[(0,H.jsx)("span",{children:x.label}),P&&(0,H.jsx)(Yn,{})]},x.value)})})]})}var $a=B(ft(),1);var W=B(O(),1);function L0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,$a.useRef)(null),[m,v]=(0,$a.useState)(!1),[A,b]=(0,$a.useState)(!1),h=ju(l),g=wa(c,l),p=()=>{if(!d.current)return;let{scrollLeft:y,scrollWidth:C,clientWidth:R}=d.current;v(y>0),b(Math.ceil(y+R)(p(),window.addEventListener("resize",p),setTimeout(p,100),setTimeout(()=>{document.querySelector(".tg-df-categories-row")?.dispatchEvent(new Event("scroll")),document.querySelector(".tg-df-brands-row")?.dispatchEvent(new Event("scroll"))},150),()=>window.removeEventListener("resize",p)),[t,e]),(0,W.jsx)("div",{className:"tg-df-controls",id:"tg-df-controls",style:{display:a?"none":"flex",marginTop:"12px",marginBottom:"16px",justifyContent:"center"},children:(0,W.jsxs)("div",{className:"tg-df-filters-container",style:{position:"relative",width:"100%",maxWidth:"800px",margin:"0 auto"},children:[(0,W.jsx)("button",{className:"tg-df-scroll-btn left",style:{display:m?"flex":"none"},onClick:()=>d.current?.scrollBy({left:-200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,W.jsx)("button",{className:"tg-df-scroll-btn right",style:{display:A?"flex":"none"},onClick:()=>d.current?.scrollBy({left:200,behavior:"smooth"}),children:(0,W.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M9 18l6-6-6-6"})})}),(0,W.jsxs)("div",{className:"tg-df-filters",ref:d,onScroll:p,children:[(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-legacy-price-wrapper",style:{display:f!==!1?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{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"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-price-filter","aria-label":"Filter Prices",value:u||"all",onChange:y=>r?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"All Prices"}),(0,W.jsx)("option",{value:"under50",children:"Under $50"}),(0,W.jsx)("option",{value:"50_100",children:"$50 - $100"}),(0,W.jsx)("option",{value:"100_200",children:"$100 - $200"}),(0,W.jsx)("option",{value:"200_500",children:"$200 - $500"}),(0,W.jsx)("option",{value:"over500",children:"Over $500"})]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-discount-filter-wrapper",style:{display:f!==!1&&!s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,W.jsx)("path",{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"})}),(0,W.jsxs)("select",{className:"tg-df-filter-select",id:"tg-df-discount-filter","aria-label":"Discount Amount",value:n||"all",onChange:y=>i?.(y.target.value),children:[(0,W.jsx)("option",{value:"all",children:"Any discount"}),[5,10,15,20,25,30,40,50,60,70].map(y=>(0,W.jsxs)("option",{value:y,children:["Min ",y,"%"]},y))]})]}),(0,W.jsxs)("div",{className:"tg-df-sort-wrapper",id:"tg-df-review-sort-wrapper",style:{display:s?"flex":"none"},children:[(0,W.jsx)("svg",{className:"tg-df-sort-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,W.jsx)("path",{d:"M4 7h16M7 12h10m-7 5h4"})}),(0,W.jsx)("select",{className:"tg-df-filter-select",id:"tg-df-review-sort","aria-label":"Sort Reviews",value:g,onChange:y=>o?.(y.target.value),children:h.map(y=>(0,W.jsx)("option",{value:y.value,children:y.label},y.value))})]})]})]})})}var be=B(ft(),1);function kr(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[...o,...u,...c].some(s=>{let f=String(s||"").toLowerCase();return f===a||f===l||f===i})})})}function Yu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function Vu(e,t){return e==="all-authors"||t==="all-authors"||t==="All authors"||!e&&!t}function Xu(e,t,n){let a=e;if((t||n)&&t!=="all-authors"&&n!=="all-authors"&&n!=="All authors"){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function sf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Qu(e,t,n){let a=sf(e,t,n),l=i=>typeof i=="string"?ee(i):i||"";return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):"",authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):"",authorImage:e.articleauthormedia?e.articleauthormedia[a]:""}}function Lr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace("www.","").split(".");f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s==="null"||s.toLowerCase()==="all authors")return;let d=i[f]&&i[f]!=="null"?i[f]:s.toLowerCase().replace(/\s+/g,"-");if(!d||d==="null")return;let m=o[f]&&o[f]!=="null"?o[f]:s,v=u[f]&&u[f]!=="null"?u[f]:"",A=ee(String(m)),b=ee(String(v)),h=c[f]&&c[f]!=="null"?c[f]:"",g=A.split(" ")[0],p=_r(a,f,"short"),y=_r(a,f,"long"),C=Uu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{...y?{bioLong:y}:{},...p?{bioShort:p}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,...C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&p&&(R.bioShort=p),!R.bioLong&&y&&(R.bioLong=y),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function z0(e){let t=(0,be.useRef)(""),n=(0,be.useRef)(null),a=(0,be.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,be.useCallback)(r=>{a(),t.current=r},[a]),i=(0,be.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,be.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function H0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,be.useRef)(null),r=(0,be.useRef)(e),[o,u]=(0,be.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=z0(a);(0,be.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let p=i.current.innerHTML;f(p,p===t?void 0:p,g)},v=(g,p)=>{document.execCommand(g,!1,p),m(!0)},A=n==="kicker"?{fontSize:"0.875rem",color:"#6B7280",fontStyle:"normal",margin:"0 0 0.25rem 0"}:{fontSize:"2.25rem",fontWeight:300,color:"#111827",margin:"0 0 0.25rem 0",lineHeight:1.1,letterSpacing:"-0.02em"},b=n==="kicker"?"tg-df-author-curated-by tg-df-author-kicker":"tg-df-author-name",h=()=>n==="kicker"?(0,E.jsx)("p",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}}):(0,E.jsx)("h2",{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{...A,outline:s&&o?"2px solid #3b82f6":"none",borderRadius:"4px",cursor:s?"text":"default"}});return s?(0,E.jsxs)("div",{className:"tg-df-author-header-text-shell",style:{position:"relative"},children:[o&&(0,E.jsxs)("div",{className:"tg-df-author-header-text-toolbar",role:"toolbar","aria-label":`${n==="kicker"?"Shop by text":"Site or author name"} formatting`,style:{display:"flex",justifyContent:"center",alignItems:"center",gap:"0.25rem",margin:"0 auto 0.375rem",width:"fit-content",padding:"0.25rem 0.5rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",fontSize:"11px",zIndex:10},children:[(0,E.jsx)("span",{style:{color:"#64748b",padding:"2px 2px 2px 0"},children:"Editing"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("bold"),title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>v("italic"),title:"Italic",children:(0,E.jsx)("em",{children:"I"})}),(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt("Enter URL:");g&&v("createLink",g)},title:"Add link",children:"\u{1F517}"}),l!==void 0&&(0,E.jsx)("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:"Restore default",children:"Reset"})]}),h()]}):h()}function i2({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,be.useRef)(null),o=(0,be.useRef)(e),u=(0,be.useRef)(n),c=(0,be.useRef)(!1),[s,f]=(0,be.useState)(!1),[d,m]=(0,be.useState)(!1),[v,A]=(0,be.useState)(!1),b=t||n,h=l&&b.replace(/]*>/g,"").trim().length>240,g=!!a,{save:p,synchronise:y}=z0(a);(0,be.useLayoutEffect)(()=>{let w=o.current!==e,D=u.current!==n;w&&(c.current=!1);let k=!t&&D&&!c.current;r.current&&(w||document.activeElement!==r.current||k)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),y(b)),o.current=e,u.current=n},[b,e,n,t,y]),(0,be.useLayoutEffect)(()=>{m(!1)},[e]),(0,be.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let w=r.current,D=()=>{A(w.scrollHeight>w.clientHeight+1)};if(D(),typeof ResizeObserver>"u")return;let k=new ResizeObserver(D);return k.observe(w),()=>k.disconnect()},[b,e,d,h]);let C=(w,D=null)=>{if(c.current=!0,document.execCommand(w,!1,D||void 0),r.current){let k=r.current.innerHTML;p(k,k===n?"":k,!0)}},R=(w=!1)=>{if(!r.current)return;let D=r.current.innerHTML;p(D,D===n?"":D,w)};return(0,E.jsxs)("div",{style:{position:"relative",maxWidth:"42rem",margin:"0 auto 0.5rem auto",padding:"0.25rem 0.5rem"},className:`tg-df-author-bio-shell${l?" tg-df-author-bio-shell--stable":""}`,children:[g&&s&&(0,E.jsxs)("div",{role:"toolbar","aria-label":"Introduction text formatting",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"0.375rem",marginBottom:"0.5rem",padding:"0.25rem 0.625rem",background:"#ffffff",border:"1px solid #cbd5e1",borderRadius:"9999px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",width:"fit-content",margin:"0 auto 0.5rem auto",fontSize:"12px",userSelect:"none",zIndex:10},children:[(0,E.jsx)("span",{style:{fontSize:"11px",color:"#64748b",fontWeight:500,marginRight:"2px"},children:"Editing \u2014 saves when you click away"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("bold"),style:{fontWeight:"bold",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Bold",children:"B"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>C("italic"),style:{fontStyle:"italic",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Italic",children:"I"}),(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:()=>{let w=prompt("Enter URL:");w&&C("createLink",w)},style:{padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",cursor:"pointer",border:"1px solid #e2e8f0"},title:"Add Link",children:"\u{1F517}"}),t&&(0,E.jsx)("button",{type:"button",onMouseDown:w=>w.preventDefault(),onClick:w=>{w.preventDefault(),w.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,y(n),a&&a("")},style:{fontSize:"10px",padding:"2px 8px",borderRadius:"4px",background:"#fee2e2",color:"#991b1b",cursor:"pointer",border:"1px solid #fca5a5"},title:"Reset Bio",children:"Reset"})]}),(0,E.jsx)("div",{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?"wysiwyg-bio-editable":"tg-df-author-bio--static"}${h?d?" tg-df-author-bio--expanded":" tg-df-author-bio--clamped":""}`,style:{color:"#4b5563",lineHeight:1.6,fontWeight:300,fontSize:"0.9375rem",textAlign:"center",outline:g&&s?"2px solid #3b82f6":"none",borderRadius:"6px",padding:"0.375rem 0.5rem",cursor:g?"text":"default",transition:"all 0.15s ease-in-out"}}),h?(0,E.jsx)("div",{className:"tg-df-author-bio-toggle-slot",children:(0,E.jsx)("button",{type:"button",className:"tg-df-author-bio-toggle","aria-expanded":d,onClick:()=>m(w=>!w),style:{visibility:v||d?"visible":"hidden"},children:d?"Show less":"Read more"})}):null]})}function r2(e){let t=(e||"").toLowerCase();return t==="linkedin"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"})}):t==="twitter"||t==="x"?(0,E.jsx)("svg",{className:"icon-svg",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,E.jsx)("path",{fill:"currentColor",d:"M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z"})}):t==="email"||t==="mail"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,E.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}):t==="instagram"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"5",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"12",cy:"12",r:"4.25",fill:"none",stroke:"currentColor",strokeWidth:"2.25"}),(0,E.jsx)("circle",{cx:"17.4",cy:"6.7",r:"1.25",fill:"currentColor"})]}):t==="steam"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("circle",{fill:"#0f1618",cx:"12",cy:"12",r:"12"}),(0,E.jsx)("path",{d:"m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z",fill:"#fff"})]}):t==="youtube"?(0,E.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"})}):t==="twitch"?(0,E.jsxs)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z",fill:"#111"}),(0,E.jsx)("path",{d:"m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z",fill:"#fff"})]}):t==="facebook"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z",fill:"currentColor"})}):t==="pinterest"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z",fill:"currentColor"})}):t==="substack"?(0,E.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z"})}):t==="threads"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z"})}):t==="tiktok"?(0,E.jsx)("svg",{className:"icon-svg",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,E.jsx)("path",{d:"m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z",fill:"currentColor"})}):t==="bluesky"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z"})}):t==="github"?(0,E.jsx)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"currentColor",children:(0,E.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"})}):t==="rss"?(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("path",{d:"M4 11a9 9 0 0 1 9 9"}),(0,E.jsx)("path",{d:"M4 4a16 16 0 0 1 16 16"}),(0,E.jsx)("circle",{cx:"5",cy:"19",r:"1"})]}):(0,E.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,E.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,E.jsx)("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),(0,E.jsx)("path",{d:"M2 12h20"})]})}function U0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let p=Vu(r,o),y=g||"tomsguide",C=Gu[y]||y,R=Nr[y],T=r?.toLowerCase(),M=o?.toLowerCase(),w=t.find(Be=>T&&Be.articleauthorhandle?.some(Je=>Je?.toLowerCase()===T)||M&&Be.articleauthor?.some(Je=>Je?.toLowerCase()===M))||null,D=w?sf(w,r,o):0,k=d?.image||(w?c0(w,D):""),se=d?n==="short"?d.bioShort||"":d.bioLong||d.bioShort||"":w?_r(w,D,n):"",I=p?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?"review ":""}recommendations from ${e} ${C} ${u?"editor tests":"editors"}.`:se||`Handpicked deals and recommendations curated by ${o||"our expert editorial team"}.`,j=d?.role||"",He=p?y0[y]||[]:d?.socialNetworks||[];!p&&w&&(j||(j=u0(w,D)),He.length===0&&(He=Uu(w,D)));let ze=d?.fullName||o||"Author Name",St=p?`site:${y}`:`author:${d?.handle||r||ze}`,Ie=A&&He.length>0,rn=!p&&!!j||Ie;return(0,E.jsxs)("div",{className:"tg-df-author-card",style:{textAlign:"center",padding:"1.75rem 1rem 0.25rem 1rem",margin:"0 auto",maxWidth:"48rem"},children:[v&&(p?(0,E.jsx)("div",{className:"tg-df-author-media-slot tg-df-author-image-container",style:{margin:"0 auto 0.75rem auto",textAlign:"center",minHeight:"180px",display:"flex",alignItems:"center",justifyContent:"center"},children:R?(0,E.jsx)("img",{src:R,alt:C,className:"tg-df-site-logo",style:{maxHeight:"150px",maxWidth:"520px",objectFit:"contain",margin:"0 auto",display:"block"}}):(0,E.jsx)("div",{style:{fontSize:"1.75rem",fontWeight:700,color:"#111827"},children:C})}):(0,E.jsx)("div",{className:"tg-df-author-media-slot",children:(0,E.jsxs)("div",{className:"tg-df-author-profile-image-wrapper",children:[k?(0,E.jsx)("img",{src:ri(k),alt:ze,className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",objectFit:"cover",display:"block"}}):(0,E.jsx)("div",{className:"tg-df-author-image",style:{width:"180px",height:"180px",borderRadius:"50%",background:"#e2e8f0",display:"block"}}),R?(0,E.jsx)("img",{src:R,alt:"",className:"tg-df-author-profile-brand-logo"}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(H0,{contentKey:`${St}:kicker`,defaultText:u?"Reviews shop by":"Shop by",kind:"kicker",onChange:s,value:l}),(0,E.jsx)(H0,{contentKey:`${St}:title`,defaultText:p?C:ze,kind:"title",onChange:f,value:i}),rn&&(0,E.jsxs)("div",{className:`tg-df-author-meta-slot${p?" tg-df-author-meta-slot--site":""}${Ie?"":" tg-df-author-meta-slot--no-social"}`,children:[!p&&j?(0,E.jsx)("div",{className:"tg-df-author-role",id:"tg-df-author-role-display",style:{fontSize:"0.9375rem",fontWeight:500,color:"var(--tg-df-blue, #1F69FF)",margin:"0 0 0.5rem 0",lineHeight:1.3},children:j}):null,Ie?(0,E.jsx)("div",{className:"tg-df-author-social-links",children:He.map(Be=>(0,E.jsx)("a",{href:Be.href,target:"_blank",rel:"noopener noreferrer",title:Be.label,"aria-label":Be.label,className:"tg-df-author-social-btn","data-social-key":Be.key.toLowerCase(),children:r2(Be.key)},Be.key))}):null]})]}),m&&(0,E.jsx)(i2,{contentKey:St,initialBio:a,defaultPlaceholder:I,onBioChange:c,stabilizeHeight:b})]})}var te=B(O(),1);function df(e){if(!e||typeof e!="object")return"";if(e.type==="voucher_code"&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=df(n);if(a)return a}return""}function o2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"});return(0,te.jsxs)("span",{className:"tg-df-voucher-expiry",children:[(0,te.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginRight:"4px"},children:[(0,te.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,te.jsx)("polyline",{points:"12 6 12 12 16 14"})]}),"Expires ",a.format(n)]})}function G0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,te.jsx)("div",{className:`tg-df-modal-backdrop ${n?"active":""}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,te.jsxs)("div",{className:"tg-df-modal",children:[(0,te.jsxs)("div",{className:"tg-df-modal-header",children:[(0,te.jsx)("h3",{className:"tg-df-modal-title",children:n?`${n} Coupons & Deals`:"Available Coupons & Deals"}),(0,te.jsx)("button",{className:"tg-df-modal-close",onClick:a,children:(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,te.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,te.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),(0,te.jsx)("div",{className:"tg-df-modal-body",children:t?(0,te.jsx)("div",{className:"tg-df-message",children:(0,te.jsx)("div",{className:"tg-df-coupon-spinner",style:{width:"24px",height:"24px",borderColor:"#ccc",borderTopColor:"#3b82f6"}})}):e?(0,te.jsx)("div",{className:"tg-df-message",children:"Failed to load vouchers."}):l.length===0?(0,te.jsxs)("div",{className:"tg-df-message",children:["No active vouchers found for ",n,"."]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||"Voucher",u=i.offer?.link||i.offer?.url||i.link||i.url||"#",c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||"":c?.logo_url||"",f=df(i.offer)||df(i)||i.offer?.voucher_code||i.voucher_code||"",d=i.offer?.end_time||i.end_time||"";return(0,te.jsxs)("a",{href:u,target:"_blank",rel:"noopener nofollow",className:"tg-df-voucher-item",children:[s?(0,te.jsx)("img",{src:s,alt:"Logo",className:"tg-df-voucher-logo"}):(0,te.jsx)("div",{className:"tg-df-voucher-logo",style:{background:"#e2e8f0"}}),(0,te.jsxs)("div",{className:"tg-df-voucher-content",children:[(0,te.jsx)("h4",{className:"tg-df-voucher-title",children:o}),(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginTop:"8px"},children:[f&&(0,te.jsxs)("span",{className:"tg-df-voucher-code",title:"Copy to clipboard",onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add("copied");let A=v.querySelector(".tg-df-voucher-code-text"),b=v.querySelector(".tg-df-voucher-copy-icon"),h=A.innerText,g=b.innerHTML;A.innerText="Copied!",b.innerHTML='',setTimeout(()=>{v.classList.remove("copied"),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,te.jsx)("span",{className:"tg-df-voucher-code-text",children:f}),(0,te.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:"6px",flexShrink:0},className:"tg-df-voucher-copy-icon",children:[(0,te.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,te.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]}),d&&(0,te.jsx)(o2,{endTime:d})]})]})]},r)})})]})})}var N=B(ft(),1);function ci(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t=="string"?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n=="string"?JSON.parse(n):Array.isArray(n)?n:n&&typeof n=="object"&&"type"in n?t:n}catch{return[]}}function si(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type==="buying-guide"):[];if(l.length>0)return l;let i=e.filter(r=>r.type==="deal"||r.type==="featured-product");return a&&!n&&!t?i.filter(r=>r.type==="deal"):i}function di(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||"";if(!n)return!1;let a=n.replace(/^\d+\.\s*/,"").trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function wt(e){return!e||e==="auto"?"US":e}function an(e){return e==="GB"||e==="UK"?"GBP":e==="AU"?"AUD":e==="CA"?"CAD":["DE","FR","IT","ES","NL"].includes(e)?"EUR":"USD"}function P0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t==="unavailable")return!1;let n=String(e.isoCurrency||e.currency||"").trim().toUpperCase();return({$:"USD",A$:"AUD",CA$:"CAD","\xA3":"GBP","\u20AC":"EUR"}[n]||n)===an(t)}function fi(e,t){let n=e.data||{},a=e.type==="featured-product",l=n.price||{},i=a?n.currency||(n.price&&typeof n.price=="object"?n.price.currency:""):l.currency||(typeof l=="string"?l:"")||n.currency||"";!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||"");let r="$",o="USD",u=(i||"").toString().toUpperCase().trim();return u==="GBP"||u==="\xA3"||u.includes("POUND")||u.includes("163")?(r="\xA3",o="GBP"):u==="EUR"||u==="\u20AC"||u.includes("EURO")||u.includes("8364")?(r="\u20AC",o="EUR"):u==="AUD"||u==="A$"?(r="A$",o="AUD"):u==="CAD"||u==="CA$"?(r="CA$",o="CAD"):u==="USD"||u==="$"||u.includes("DOLLAR")||u.includes("36")?(r="$",o="USD"):(o=an(t),o==="GBP"?r="\xA3":o==="AUD"?r="A$":o==="CAD"?r="CA$":o==="EUR"&&(r="\u20AC")),{isoCurr:o,currencyStr:r}}function Ku(e){let t=e.data||{},n=e.type==="featured-product",a=t.price||{},l=0,i=0;return n?(l=typeof a=="number"?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function Sa(e,t){if(!t||t==="all"||e=50||t==="over50"&&et.includes("channelgaminghardware"))}function F0(e,t,n){let a=Zt(e),l=mf(e),i=c=>l.some(s=>s.includes(c)),r=a==="news"&&i("shopping")&&i("deal")&&i("typedeal"),o=a==="deals"||r,u=a==="collection"||i("sigproductcollection")||i("vanhawkcollectionwidget")||a==="news"&&i("shopping")&&!r||a==="idea"&&i("shopping")&&(i("sigproductcollection")||i("vanhawkcollectionwidget"));return t&&o||n&&u}function el(e,t=!0,n=!0,a){if(a==="homesandgardens")return F0(e,t,n);let l=Zt(e),i=mf(e),r=l==="deals"||i.some(u=>u.includes("typedeal")),o=i.some(u=>u.includes("sigproductcollection"));return t&&r||n&&o}function j0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Zt(e)==="review")return t!=="pcgamer"||s2(e);if(t==="homesandgardens")return Zt(e)==="buying guide"?n:F0(e,i,l);let r=Wu(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||el(e,i,l);let o=Zt(e),u=[...Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],...Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m=="string"&&Hr(m).includes(Hr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter==="articleType"?o===f.value.toLowerCase():f.parameter==="articleControlTag"?u.some(d=>typeof d=="string"&&Hr(d).includes(Hr(f.value))):!1)}function hf(e,t){let n=e.map(a=>({...a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Iu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ci(a),i=si(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type==="buying-guide")&&!el(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(fi(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Ku(r);if(!Sa(o,t.priceRange)||!Ca(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^\d+\.\s*/,"").trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/\b\w/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function d2(e){return String(e||"").trim().toLowerCase()}function Ju(e){return(Array.isArray(e)?e:[e]).map(d2).filter(Boolean)}function pf(e){let t=Ju(e.articletype),n=[...Ju(e.articlecontroltag),...Ju(e.articletagtypetaghandle)];return t.includes("deals")||n.some(a=>a.replace(/[\s-]+/g,"_")==="type_deal")}function V0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||"")).getTime();return Number.isFinite(n)?n:null}function f2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=V0(t);if(n!==null)return n}return null}function g2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=V0(t);if(n!==null)return n}return null}function Y0(e){return Ju(e.articletype).includes("review")}function yf(e,t=new Date,n=0){let a=pf(e)?1:Y0(e)?36:n;if(a=i.getTime()}function tl(e,t,n=0){return e.filter(a=>yf(a,t,n))}var m2=15;function Q0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:""}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||""}function h2(e){return kt(String(e||"").replace(/^\d+\.\s*/,"").trim())}function tt(e){return Array.isArray(e)?e.map(tt).find(Boolean)||"":typeof e=="string"||typeof e=="number"?String(e).trim():""}function vf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map(tt).find(Boolean)||""}function p2(e,t,n){let a=tt(e).match(/^\s*(\d+)\s*[.)]\s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map(tt).map(i=>i.match(/^\s*(\d+)\s*$/)?.[1]||"").find(Boolean)||String(n+1)}function y2(e){let t=tt(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split("/").filter(Boolean).at(-1)||"",t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function v2(e){return tt(e.documenthandle)||tt(e.document_handle)||zr(e)||tt(e.documentname)||tt(e.documentnametext)}function b2(e,t){if(!t)return"";let n=t.length>m2?"Ranked":t;return`#${e} ${n}`}function A2(e){if(typeof e=="object"&&e)return String(e["data-model-name"]||"");try{return String(JSON.parse(String(e||""))["data-model-name"]||"")}catch{return""}}function w2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||"";return typeof t=="string"?kt(t.replace(/^\d+\.\s*/,"").trim()):""}function S2(e){let t=e.price&&typeof e.price=="object"?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price=="number"?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||"";return{currency:t.currency||e.currency||"",rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function bf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a5?a/20:a;return Math.min(l,5)}function K0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=h2(r.title),c=p2(r.title,r,a),s=y2(v2(e)),f=zr(e),d=S2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||Q0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:w2(r),productName:u,merchant:"",rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):"",msrp:d.rawMsrp>0?String(d.rawMsrp):"",currency:d.currency,isoCurrency:"",isCheckPrice:d.rawPrice