@import url("https://fonts.bunny.net/css?family=barlow-condensed:600,700|outfit:400,500,600,700");

:root {
  --bg: #ffffff;
  --bg-2: #f6f6f6;
  --card: #ffffff;
  --card-2: #f3f3f3;
  --line: rgba(0, 0, 0, 0.12);
  --text: #141414;
  --muted: #3a3a3a;
  --faint: #595959;
  --red: #b80000;
  --red-2: #8f0000;
  --link: #8f0000;
  --good: #0d6b38;
  --header: #000000;
  --max: 1160px;
  --sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;
  --cond: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  min-height: 100vh;
}
img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.skip {
  position: absolute; left: -999px; top: 8px; background: #fff; color: #111; padding: 8px 12px; z-index: 9;
}
::placeholder { color: #595959; opacity: 1; }
.skip:focus { left: 8px; }

.wrap { width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }

.site-header {
  position: sticky; top: 0; z-index: 20;
  background: #000;
  border-bottom: 3px solid var(--red);
  color: #fff;
}
.header-row { display: flex; align-items: center; gap: 18px; padding: 10px 0; }
.brand { display: flex; align-items: center; text-decoration: none; }
.logo-full { height: 62px; width: auto; display: block; }
.logo-mark { height: 46px; width: auto; display: none; }
.nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.nav-burger {
  margin-left: auto; display: none; border: 1px solid rgba(255,255,255,.35); color: #fff; padding: 8px 12px; border-radius: 999px; cursor: pointer;
}
.nav { display: flex; gap: 14px; align-items: center; margin-left: auto; }
.nav a { text-decoration: none; color: #fff; font-weight: 600; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; }
.nav a[aria-current="page"], .nav a:hover { color: #ffb4b4; }
.header-social { display: flex; gap: 6px; align-items: center; }
.header-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 999px; color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.header-social a:hover { color: #ffb4b4; border-color: #ffb4b4; }
.header-social svg { display: block; }
.alert-link {
  background: var(--red); color: #fff !important; text-decoration: none;
  padding: 8px 14px; border-radius: 999px; font-weight: 700; letter-spacing: 0.04em;
}
.search {
  display: flex; gap: 8px; padding-bottom: 12px; align-items: flex-start; flex-wrap: wrap;
}
.suggest { position: relative; flex: 1; min-width: 0; }
.suggest-panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 40;
  background: #fff; border: 1px solid rgba(0, 0, 0, 0.16); border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  max-height: min(420px, 60vh); overflow: auto;
}
.suggest-panel[hidden] { display: none; }
.suggest-label { margin: 0; padding: 10px 12px 4px; color: var(--faint); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.suggest-panel a {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 10px 12px; text-decoration: none; color: #141414; background: #fff;
}
.suggest-panel a[aria-selected="true"], .suggest-panel a:hover { background: #fde8ea; color: var(--red); }
.suggest-kind { color: var(--faint); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; flex: none; }
.search input, .filters select, .field input, .field textarea, .field select, .stack input, .stack textarea, .stack select {
  background: #fff; border: 1px solid rgba(0, 0, 0, 0.22); border-radius: 10px; padding: 10px 12px; width: 100%; color: #141414;
}
.site-header .search input { background: #141414; border-color: rgba(255,255,255,.28); color: #fff; }
.site-header .search input::placeholder { color: #c8c8c8; }
.search input { width: 100%; }
.search button, .btn, button.btn {
  background: var(--red); color: #fff; border: 0; border-radius: 10px; padding: 10px 16px; font-weight: 700; cursor: pointer; text-decoration: none; display: inline-flex; justify-content: center; align-items: center;
}
.btn.secondary { background: #fff; border: 1px solid #141414; color: #141414; }
.btn:hover, .search button:hover { background: var(--red-2); }
.btn.secondary:hover { background: #fff; border-color: var(--red); color: var(--red); }
.site-header .search button.secondary { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); }
.site-header .search button.secondary:hover { background: transparent; color: #ffb4b4; border-color: #ffb4b4; }

.hero { padding: 28px 0 8px; }
.eyebrow { color: var(--red); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; font-size: 12px; margin: 0 0 8px; }
h1, h2, h3 { font-family: var(--cond); font-weight: 700; letter-spacing: 0.01em; line-height: 0.95; margin: 0 0 10px; }
h1 { font-size: clamp(40px, 6vw, 68px); text-transform: uppercase; }
h2 { font-size: clamp(28px, 4vw, 40px); text-transform: uppercase; }
h3 { font-size: 26px; text-transform: uppercase; }
.lede { color: var(--muted); max-width: 68ch; font-size: 18px; }
.lede a, .fine a, .prose a, .related-list a, .guide-index a, .guide-cloud a, .compare-link { color: #141414; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
main a:hover:not(.btn) { color: var(--red); }
.stats { display: flex; gap: 18px; flex-wrap: wrap; margin: 16px 0; color: var(--faint); font-size: 14px; }
.stats strong { color: var(--text); font-family: var(--cond); font-size: 28px; display: block; line-height: 1; }
.topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.topics a { text-decoration: none; background: #fff; border: 1px solid rgba(184, 0, 0, 0.55); border-radius: 999px; padding: 6px 12px; font-size: 14px; font-weight: 600; color: #141414; }
.topics a:hover { border-color: var(--red); color: var(--red); }

.filters { display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: 8px; margin: 8px 0 18px; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; width: 100%; }
.deal {
  background: #fff;
  border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; min-width: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.deal:hover { border-color: var(--red); }
.media { aspect-ratio: 4/3; height: 200px; max-height: 200px; background: #fff; display: grid; place-items: center; position: relative; overflow: hidden; }
.media img { width: 100%; height: 100%; max-height: 200px; object-fit: contain; background: #fff; display: block; }
.media.no-img::after, .ph {
  content: ""; width: 72px; height: 72px; border: 3px solid var(--red); border-radius: 50%;
  background:
    linear-gradient(#141414, #141414) center/3px 70% no-repeat,
    linear-gradient(#141414, #141414) center/70% 3px no-repeat;
}
.badges { position: absolute; left: 10px; top: 10px; display: flex; gap: 6px; }
.badge { background: #fff; color: #141414; border: 1px solid var(--red); border-radius: 999px; padding: 3px 8px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.badge.hot { background: var(--red); border-color: var(--red); color: #fff; }
.faq h3 { margin-top: 16px; font-size: 22px; }
.badge.stock { background: #0d3d24; color: #d7ffe8; border-color: #1f7a45; }
.badge.sponsored { background: var(--red); color: #fff; border-color: var(--red); font-size: 10px; letter-spacing: 0.08em; }
.body-pad { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.meta { color: var(--faint); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; display: flex; justify-content: space-between; gap: 8px; }
.title-link { text-decoration: none; display: block; min-width: 0; }
.title-link h3 {
  font-size: 20px; line-height: 1.15; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.prices { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.deal .prices { display: block; }
.now { font-family: var(--cond); font-size: clamp(26px, 2.6vw, 40px); line-height: 0.9; color: var(--red); }
.was { color: var(--faint); text-decoration: line-through; }
.off { background: var(--red); color: #fff; border-radius: 999px; padding: 2px 8px; font-weight: 700; font-size: 13px; border: 1px solid var(--red); }
.ppr { color: var(--good); font-size: 14px; }
.fine { color: var(--faint); font-size: 12px; }
.deal .btn { width: 100%; }

.band, .panel, .prose, .admin-card {
  background: var(--bg-2); border: 1px solid var(--line); border-radius: 18px; padding: 18px;
}
.band { margin: 28px 0; display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; align-items: center; }
.stack { display: grid; gap: 10px; }
.retailer-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 10px 0 28px; }
.retailer-row a, .post-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px; text-decoration: none; border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: var(--card);
}
.shop-hero { display: flex; align-items: flex-start; gap: 16px; }
.retailer-logo {
  width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 14px; padding: 6px; flex: none;
}
.retailer-logo.lg { width: 92px; height: 92px; }
.retailer-logo.on-dark { background: #fff; border: 1px solid var(--line); }
.retailer-logo.fallback {
  display: grid; place-items: center; background: #fff; color: #141414; font-family: var(--cond); font-weight: 700; font-size: 22px; padding: 0; border: 1px solid var(--red);
}
.retailer-row a:hover, .post-card:hover { border-color: var(--red); }
.retailer-row small, .post-card p { color: var(--muted); }
.posts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.post-card { padding: 0; overflow: hidden; }
.post-card .article-thumb { width: 100%; height: 180px; object-fit: cover; display: block; border-radius: 0; }
.post-card h3 { margin: 12px 14px 6px; }
.post-card p { margin: 0 14px 14px; }
.article-hero { width: 100%; max-height: 280px; object-fit: cover; border-radius: 18px; border: 1px solid var(--line); margin: 18px 0; display: block; background: #f3f3f3; }
.related-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.prose { margin: 12px 0 28px; }
.prose p, .prose li { color: var(--muted); }
.prose h2, .prose h3 { margin-top: 22px; }
.embed { margin: 18px 0; }
.embed-empty { border: 1px dashed var(--line); border-radius: 14px; padding: 14px; color: var(--muted); }

.pager { display: flex; gap: 8px; justify-content: center; margin: 18px 0 8px; }
.crumbs { color: var(--faint); font-size: 13px; margin-bottom: 8px; }
.crumbs a { color: var(--muted); }
.detail { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 18px; margin-bottom: 20px; }
.detail .shot { background: #f3f3f3; border-radius: 18px; border: 1px solid var(--line); min-height: 320px; display: grid; place-items: center; }
.detail .shot img { max-height: 420px; object-fit: contain; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--line); vertical-align: top; }
.notice { background: #e7f6ec; color: #0d3d24; border-radius: 12px; padding: 10px 12px; margin: 10px 0; }
.error { background: #fde8ea; color: #6b1020; border-radius: 12px; padding: 10px 12px; margin: 10px 0; }
.site-footer { background: #000; border-top: 3px solid var(--red); margin-top: 28px; padding: 28px 0 40px; color: #d0d0d0; }
.guide-cloud { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 18px 0 8px; }
.guide-cloud a { text-decoration: none; }
.guide-index { list-style: none; padding: 0; margin: 0 0 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 28px; }
.guide-group { margin: 22px 0; }
.compare-link { font-size: 14px; }
.table-wrap { overflow-x: auto; margin: 8px 0 20px; }
.stock-banner { background: #fff; border: 1px solid #b80000; padding: 16px 18px; margin: 12px 0 18px; }
.stock-banner h2 { margin: 0 0 6px; }
.product-hero { display: grid; grid-template-columns: minmax(0, 280px) 1fr; gap: 20px; align-items: start; margin-bottom: 18px; }
.product-hero .media { background: #fff; min-height: 180px; display: flex; align-items: center; justify-content: center; }
.product-hero img { width: 100%; max-height: 280px; object-fit: contain; }
.specs dl { display: grid; grid-template-columns: 9em 1fr; gap: 6px 12px; }
.specs dt { font-weight: 700; }
.offer-count { margin: 0 0 8px; font-weight: 700; }
.badge.lowest { background: #b80000; color: #fff; margin-left: 8px; }
.shop-cell { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.shop-cell .retailer-logo { width: 36px; height: 36px; object-fit: contain; }
.offer-oos { opacity: 0.72; }
.offer-oos h2 { color: #5c584f; }
.product-hero .media { background: #eceae6; }
@media (max-width: 720px) { .product-hero { grid-template-columns: 1fr; } .specs dl { grid-template-columns: 1fr; } }
table.compare { min-width: 640px; }
table.compare tr.cheapest { background: #e7f6ec; }
table.compare .price-cell { font-family: var(--cond); font-size: 28px; line-height: 1; white-space: nowrap; }
.low-callout { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-end; margin: 8px 0 18px; }
.low-callout .now { font-size: 64px; }
.code-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.code-row span { background: #fff; border: 1px solid var(--red); border-radius: 999px; padding: 4px 10px; font-size: 14px; color: #141414; }
.price-index { list-style: none; margin: 8px 0 20px; padding: 0; }
.price-index li { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--line); }
.price-index a { color: #141414; font-weight: 650; text-decoration: none; }
.price-index a:hover { color: var(--red); }
.price-index .from { color: var(--red); font-family: var(--cond); font-size: 22px; white-space: nowrap; }
@media (max-width: 640px) {
  .price-index li { flex-direction: column; gap: 2px; }
}
.related-guides { margin-top: 28px; }
.footer-disclosure { margin: 0 0 18px; font-size: 16px; font-weight: 700; line-height: 1.4; color: #fff; }
.site-footer .footer-disclosure a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; }
.site-footer h2, .site-footer strong { color: #fff; }
.site-footer a { color: #fff; font-weight: 600; }
.site-footer a:hover { color: #ffb4b4; }
.follow { margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.social-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 0; }
.social-row a { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; padding: 6px 12px; }
.social-row a:hover { color: #ffb4b4; border-color: #ffb4b4; }
.social-row svg { display: block; }
.legal { font-size: 13px; }

.popup[hidden] { display: none; }
.popup {
  position: fixed; right: 16px; bottom: 16px; width: min(360px, calc(100% - 32px));
  background: #fff; color: #141414; border: 1px solid var(--red); border-radius: 16px; padding: 16px; z-index: 30;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.check { display: flex; gap: 8px; align-items: flex-start; color: var(--muted); font-size: 13px; }
.honeypot { position: absolute; left: -9999px; }

.admin-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.admin-card strong { font-family: var(--cond); font-size: 36px; display: block; }
.ad-slot { display: none; }
.ad-top { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 8px; width: 100%; }
.with-rail { display: grid; grid-template-columns: minmax(0, 1fr) 332px; gap: 18px; align-items: start; }
.with-rail.no-rail { grid-template-columns: minmax(0, 1fr); }
.rail { position: sticky; top: 12px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.unit { position: relative; display: block; margin: 0 auto 12px; overflow: hidden; background: #000; border: 1px solid rgba(255, 255, 255, 0.16); color: #fff; max-width: 100%; }
.unit a { display: flex; align-items: center; gap: 10px; width: 100%; height: 100%; color: #fff; text-decoration: none; padding: 8px 12px; }
.unit img { width: 100%; max-width: 100%; height: 100%; max-height: 100%; object-fit: contain; flex: 0 0 auto; }
.unit-fill img { width: 100%; max-width: none; height: 100%; object-fit: contain; background: #111; }
.unit-tag { position: absolute; top: 4px; left: 6px; z-index: 1; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; background: var(--red); color: #fff; padding: 1px 6px; }
.unit-copy { display: flex; flex-direction: column; min-width: 0; }
.unit-copy strong { font-size: 14px; line-height: 1.2; }
.unit-price { color: #fff; font-weight: 700; }
.unit-cta { color: #fff; background: var(--red); display: inline-block; width: fit-content; margin-top: 4px; padding: 2px 8px; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.unit-open .unit-copy strong { font-size: 16px; }
.native-ad { outline: 1px solid var(--red); min-width: 0; }
.native-ad .body-pad { min-width: 0; }
.native-ad .btn { width: 100%; }
.hero-carousel { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; margin: 8px 0 18px; overflow: hidden; }
.carousel-viewport { overflow: hidden; }
.carousel-track { display: flex; transition: transform 0.45s ease; }
.carousel-slide { min-width: 100%; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr); gap: 22px; align-items: center; padding: 18px 64px 8px; }
.carousel-slide[hidden] { display: none; }
.carousel-media { background: #fff; height: 360px; max-height: 420px; display: grid; place-items: center; overflow: hidden; }
.carousel-media img { width: 100%; height: 100%; max-height: 420px; object-fit: contain; background: #fff; }
.carousel-copy { min-width: 0; }
.carousel-copy h2 { font-size: clamp(32px, 4vw, 52px); }
.carousel-copy .merchant { margin: 0 0 8px; color: var(--muted); font-weight: 650; }
.carousel-copy .prices { display: flex; align-items: baseline; }
.carousel-copy .now { font-size: clamp(40px, 5vw, 64px); }
.carousel-prev, .carousel-next {
  position: absolute; top: 46%; transform: translateY(-50%); z-index: 2;
  width: 42px; height: 42px; border-radius: 999px; border: 1px solid #141414; background: #fff; color: #141414;
  display: grid; place-items: center; cursor: pointer;
}
.carousel-prev { left: 10px; }
.carousel-next { right: 10px; }
.carousel-dots { display: flex; justify-content: center; gap: 8px; padding: 4px 0 14px; }
.carousel-dots button { width: 11px; height: 11px; border-radius: 999px; border: 0; background: #c4c4c4; padding: 0; cursor: pointer; }
.carousel-dots button[aria-selected="true"] { background: var(--red); }
.dotd { background: #fff; color: #141414; border: 3px solid var(--red); border-radius: 18px; padding: 18px; margin: 8px 0 18px; }
.dotd .eyebrow { display: inline-block; background: var(--red); color: #fff; padding: 4px 10px; border-radius: 999px; }
.dotd h2 { font-family: var(--cond); font-size: 42px; line-height: 0.95; margin: 0 0 8px; letter-spacing: 0.01em; }
.dotd img { width: 220px; height: 165px; object-fit: contain; background: #f3f3f3; }
.dotd-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.archive { padding-left: 18px; }
.archive li { margin: 8px 0; }
body.ads .ad-slot {
  display: grid; place-items: center; min-height: 90px; margin: 12px 0; border: 1px dashed var(--line); color: var(--faint); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
}

@media (max-width: 1100px) {
  .with-rail { grid-template-columns: 1fr; }
  .rail { position: static; }
  .unit-halfpage { display: none; }
  .header-social { display: none; }
}
@media (max-width: 980px) {
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .carousel-slide { grid-template-columns: 1fr; padding: 12px 12px 4px; }
  .carousel-media { height: 220px; max-height: 220px; }
  .filters { grid-template-columns: 1fr 1fr; }
  .retailer-row, .admin-grid { grid-template-columns: 1fr 1fr; }
  .detail, .band, .foot-grid, .posts { grid-template-columns: 1fr; }
}
@media (min-width: 721px) {
  .unit-mobile-banner, .unit-mobile-large { display: none; }
}
@media (max-width: 720px) {
  .unit-leaderboard, .unit-billboard, .unit-halfpage { display: none; }
  .unit-mobile-banner img { display: none; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dotd { grid-template-columns: 1fr; }
  .dotd h2 { font-size: 32px; }
  .dotd img { width: 100%; height: 160px; }
  .logo-full { height: 46px; width: 46px; }
  .nav-burger { display: inline-flex; margin-left: 0; }
  .header-social { display: flex; margin-left: auto; }
  .nav { display: none; position: absolute; top: 74px; left: 0; right: 0; background: #000; border-bottom: 3px solid var(--red); padding: 12px 16px 16px; flex-direction: column; align-items: flex-start; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.45); }
  .guide-index { grid-template-columns: 1fr; }
  .nav-toggle:checked ~ .nav { display: flex; }
  .header-row { position: relative; }
  .retailer-row, .admin-grid { grid-template-columns: 1fr; }
  h1 { font-size: 38px; }
}
.trust { display: inline-flex; align-items: center; margin-right: 12px; padding: 4px 10px; border-radius: 999px; background: #e7f6ec; color: #0d6b38; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-decoration: none; text-transform: uppercase; }
.trust-inline { display: inline-block; margin: 0 0 8px; padding: 4px 10px; border-radius: 999px; background: #e7f6ec; color: #0d6b38; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.badge.quality.great, .badge.urgent { background: #0d3d24; color: #d7ffe8; border-color: #1f7a45; }
.badge.urgent { background: var(--red); border-color: var(--red); color: #fff; }
.badge.quality.good, .badge.stock { background: #0d3d24; color: #d7ffe8; border-color: #1f7a45; }
.badge.quality.fair, .badge.low { background: #3a2a08; color: #ffe7b0; border-color: #8a5a00; }
.ship, .low-note { font-size: 14px; }
.low-note { font-weight: 700; }
.spark { display: block; color: var(--red); width: min(100%, 280px); height: auto; margin: 8px 0; }
.history table, .compare { width: 100%; }
.friday-bar[hidden], .exit[hidden], .sticky-cta { display: none; }
.friday-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; background: #000; color: #fff; border-top: 3px solid var(--red); }
body:has(.friday-bar:not([hidden])) { padding-bottom: 92px; }
.friday-inner { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 12px 0; }
.friday-inner p { margin: 0; }
.friday-form { display: flex; gap: 8px; flex-wrap: wrap; }
.friday-bar .btn.secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.exit { position: fixed; inset: 0; background: rgba(28, 22, 18, 0.45); z-index: 60; display: grid; place-items: center; padding: 16px; }
.exit-card { background: #fff; color: #141414; border: 1px solid var(--red); border-radius: 16px; padding: 20px; width: min(420px, 100%); }
.sticky-cta .now { font-size: 32px; }
@media (max-width: 800px) {
  .sticky-cta { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; gap: 12px; align-items: center; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #000; border-top: 3px solid var(--red); color: #fff; }
  .sticky-cta .btn { flex: 1; }
  body:has(.sticky-cta) { padding-bottom: 84px; }
  body:has(.sticky-cta) .friday-bar { bottom: 72px; }
  body:has(.sticky-cta):has(.friday-bar:not([hidden])) { padding-bottom: 156px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .carousel-track { transition: none; }
}
.badge.exclusive { background: #1f4d32; color: #fff; border-color: #1f4d32; margin-left: 6px; }
.coupon-list, .digest-list { padding-left: 1.1rem; }
.coupon-list li, .digest-list li { margin: 0 0 10px; }
.topics.filters a[aria-current="page"] { background: var(--red); color: #fff; border-color: var(--red); }
.compare { font-size: 14px; }
.compare td, .compare th { text-align: left; padding: 8px 6px; vertical-align: top; }
.hero-ask { margin: 8px 0 4px; }
.hero-ask .search { padding-bottom: 0; }
.hero-ask input { font-size: 18px; padding: 14px 16px; min-height: 52px; }
.search button.secondary { background: #fff; color: #141414; border: 1px solid #141414; }
.search button.secondary:hover { background: #fff; border-color: var(--red); color: var(--red); }
.site-header .search button.secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.site-header .search button.secondary:hover { background: transparent; color: #ffb4b4; border-color: #ffb4b4; }
.ask-answer p { font-size: 20px; line-height: 1.35; margin: 0; }
.ask-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ask-actions .btn { min-height: 48px; padding: 12px 18px; font-size: 18px; }
.ask-alts { list-style: none; padding: 0; margin: 0 0 18px; }
.ask-alts li { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--line); }
.ask-alert { margin-top: 18px; }
@media (max-width: 720px) {
  .search button { flex: 1; }
  .ask-alts li { flex-direction: column; }
}
