/* ====================================================================
   DealRadar — bold weekly-circular design
   palette: grocery-red #d62828, white, yellow accent #ffb700, ink #0e1726
==================================================================== */
:root{
  --bg:#fff;
  --paper:#fff8f0;
  --ink:#0e1726;
  --ink-2:#2a3447;
  --muted:#5b6b7d;
  --line:#ecdfd0;
  --line-2:#e6ebf2;
  --brand:#d62828;
  --brand-d:#a51e1e;
  --brand-tint:#fdecec;
  --yellow:#ffb700;
  --yellow-tint:#fff5d1;
  --green:#1d8348;
  --shadow-sm:0 1px 2px rgba(15,23,38,.06);
  --shadow:0 4px 16px rgba(15,23,38,.08);
  --shadow-lg:0 8px 32px rgba(15,23,38,.12);
  --radius:10px;
  --radius-lg:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:16px/1.6 'Inter','DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--brand);text-decoration:none;font-weight:500}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

/* ----- layout ----- */
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ----- promo strip (above header) ----- */
.promo-strip{
  background:var(--ink);color:#fff;font-size:13px;
  letter-spacing:.02em;padding:8px 0;
}
.promo-strip .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.promo-strip strong{color:var(--yellow);font-weight:700}
.promo-strip a{color:#fff;text-decoration:underline}

/* ----- header ----- */
.site-header{
  background:#fff;border-bottom:3px solid var(--brand);
  position:sticky;top:0;z-index:30;
  box-shadow:var(--shadow-sm);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:24px}
.brand{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:900;font-size:24px;
  color:var(--ink);letter-spacing:-.02em;
}
.brand-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:var(--brand);color:#fff;font-size:18px;
  box-shadow:0 0 0 3px var(--brand-tint);
}
.brand-tag{
  background:var(--yellow);color:var(--ink);font-size:10px;
  font-weight:700;padding:2px 6px;border-radius:3px;
  letter-spacing:.06em;margin-left:4px;text-transform:uppercase;
}
.nav nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav nav a{
  color:var(--ink);font-weight:600;font-size:15px;
  padding:8px 12px;border-radius:6px;
}
.nav nav a:hover{background:var(--brand-tint);color:var(--brand);text-decoration:none}
.nav nav a.cta{
  background:var(--brand);color:#fff;
  padding:9px 18px;border-radius:6px;
  font-weight:700;
}
.nav nav a.cta:hover{background:var(--brand-d);color:#fff}

/* ----- typography ----- */
h1,h2,h3,h4{font-family:'Inter',sans-serif;letter-spacing:-.02em;line-height:1.15}
h1{font-size:42px;margin:0 0 14px;font-weight:900}
h2{
  font-size:28px;margin:40px 0 18px;font-weight:800;
  position:relative;padding-bottom:10px;
}
h2::after{
  content:"";position:absolute;left:0;bottom:0;
  width:48px;height:4px;background:var(--brand);border-radius:2px;
}
h3{font-size:18px;margin:0 0 6px;font-weight:700}
h4{font-size:14px;margin:0 0 10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
p{margin:0 0 14px}
.muted{color:var(--muted)}.small{font-size:13px}

/* ----- hero ----- */
.hero{
  display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;
  padding:48px 0 36px;
  background:linear-gradient(135deg,var(--paper) 0%,#fff 60%);
  border-bottom:1px dashed var(--line);
  margin-bottom:24px;
}
.hero-inner{padding:0 20px}
.hero-eyebrow{
  display:inline-block;background:var(--brand);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px;border-radius:4px;margin-bottom:18px;
}
.hero h1{font-size:54px;line-height:1.05;font-weight:900;letter-spacing:-.03em}
.hero h1 em{font-style:normal;color:var(--brand);background:linear-gradient(180deg,transparent 60%,var(--yellow-tint) 60%);padding:0 4px}
.hero p{font-size:19px;color:var(--ink-2);margin:18px 0 24px;max-width:540px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-img-wrap{position:relative;padding:0 20px}
.hero-img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.hero-stats{
  display:flex;gap:0;margin-top:24px;
  border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:#fff;
  max-width:540px;
}
.hero-stat{flex:1;padding:14px 16px;border-right:1px solid var(--line-2);text-align:center}
.hero-stat:last-child{border-right:0}
.hero-stat strong{display:block;font-size:24px;font-weight:900;color:var(--brand);font-family:'Inter',sans-serif}
.hero-stat span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}

/* ----- buttons ----- */
.btn-primary{
  background:var(--brand);color:#fff;padding:14px 24px;border-radius:8px;
  font-weight:700;display:inline-block;font-size:15px;
  box-shadow:0 4px 14px rgba(214,40,40,.25);
  transition:transform .1s,box-shadow .1s;
}
.btn-primary:hover{background:var(--brand-d);text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 20px rgba(214,40,40,.3)}
.btn-ghost{
  padding:13px 22px;border:2px solid var(--ink);border-radius:8px;
  color:var(--ink);font-weight:700;display:inline-block;background:#fff;
}
.btn-ghost:hover{background:var(--ink);color:#fff;text-decoration:none}

/* ----- grids & cards ----- */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1024px){
  .grid-6{grid-template-columns:repeat(4,1fr)}
  .grid-4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .grid-6,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .hero{grid-template-columns:1fr;padding:32px 0;gap:24px}
  .hero h1{font-size:38px}
  .hero p{font-size:17px}
  h1{font-size:32px}h2{font-size:24px}
  .nav nav a{padding:6px 8px;font-size:14px}
  .nav nav a.cta{padding:7px 12px}
  .brand{font-size:20px}
  .brand-tag{display:none}
  .container{padding:0 16px}
}
@media(max-width:480px){
  .grid-6,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}

/* ----- store-card / category-card / deal-card ----- */
.card,.deal-card{
  display:block;background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);
  padding:18px;color:var(--ink);
  transition:transform .12s,box-shadow .12s,border-color .12s;
}
.card:hover,.deal-card:hover{
  transform:translateY(-3px);box-shadow:var(--shadow);
  border-color:var(--brand);text-decoration:none;
}
.card .count,.deal-card .count{color:var(--muted);font-size:13px;margin-top:4px}

.store-card{text-align:center;padding:20px 14px}
.store-card .store-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;
  background:var(--brand-tint);color:var(--brand);
  font-weight:900;font-size:18px;margin-bottom:10px;
  font-family:'Inter',sans-serif;
}
.store-card h3{font-size:15px;margin:0 0 4px}
.store-card .count{font-size:12px}

.cat-strip{display:flex;gap:8px;overflow-x:auto;padding:6px 0 14px;scrollbar-width:thin}
.cat-pill{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;background:var(--paper);border:1px solid var(--line);
  border-radius:999px;color:var(--ink);font-weight:600;font-size:14px;white-space:nowrap;
}
.cat-pill:hover{background:var(--yellow-tint);border-color:var(--yellow);text-decoration:none}
.cat-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}

.deal-card{position:relative;padding:18px 16px 16px;border-top:3px solid var(--brand)}
.deal-card .badge{
  background:var(--yellow);color:var(--ink);font-size:11px;font-weight:800;
  padding:4px 10px;border-radius:4px;display:inline-block;margin-bottom:10px;
  letter-spacing:.04em;text-transform:uppercase;
}
.deal-card h3{font-size:16px;line-height:1.3;margin-bottom:10px;min-height:42px}
.deal-card .meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;margin-top:8px;padding-top:10px;border-top:1px solid var(--line-2)}
.deal-card .meta .store{font-weight:700;color:var(--ink)}
.badge.big{font-size:14px;padding:6px 14px}
.badge.green{background:var(--green);color:#fff}

/* ----- breadcrumbs / page header ----- */
.crumbs{padding:18px 0 6px;color:var(--muted);font-size:14px}
.crumbs a{color:var(--muted);font-weight:500}
.crumbs a:hover{color:var(--brand)}
.page-head{padding:14px 0 24px;border-bottom:1px solid var(--line-2);margin-bottom:28px}
.page-head h1{margin-bottom:8px}
.lead-text{color:var(--ink-2);font-size:18px;line-height:1.55;max-width:780px}

/* ----- prose (long-form content body) ----- */
.prose{max-width:780px;line-height:1.75;font-size:16.5px;color:var(--ink-2)}
.prose h2{font-size:22px;margin-top:32px}
.prose h2::after{display:none}
.prose h2{padding-bottom:0;border-bottom:0}
.prose h3{font-size:18px;margin-top:24px}
.prose ul{margin:0 0 16px;padding-left:24px}
.prose li{margin-bottom:6px}
.prose p strong{color:var(--ink)}

/* ----- store-meta box ----- */
.meta-box{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  margin:18px 0 24px;overflow:hidden;
}
.meta-box .row{padding:12px 16px;border-bottom:1px solid var(--line)}
.meta-box .row:nth-last-child(-n+2){border-bottom:0}
.meta-box .row span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-weight:600}
.meta-box .row strong{font-size:15px;color:var(--ink);font-weight:700}
@media(max-width:560px){.meta-box{grid-template-columns:1fr}.meta-box .row{border-bottom:1px solid var(--line)!important}.meta-box .row:last-child{border-bottom:0!important}}

/* ----- search bar ----- */
.search{display:flex;gap:8px;margin:14px 0 24px;max-width:600px}
.search input{flex:1;padding:12px 14px;border:2px solid var(--line-2);border-radius:8px;font:inherit}
.search input:focus{outline:none;border-color:var(--brand)}
.search button{padding:12px 22px;background:var(--ink);color:#fff;border:0;border-radius:8px;cursor:pointer;font-weight:700}
.search button:hover{background:var(--brand)}

/* ----- lead capture ----- */
.lead{
  background:linear-gradient(135deg,var(--brand-tint),var(--yellow-tint));
  border:2px solid var(--brand);border-radius:var(--radius-lg);
  padding:32px;margin:36px 0;
}
.lead h3{font-size:24px;margin:0 0 6px;color:var(--ink);font-weight:800}
.lead p{margin:0 0 16px;color:var(--ink-2)}
.lead-form{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.lead-form input{flex:1;min-width:180px;padding:14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.lead-form button{background:var(--brand);color:#fff;border:0;padding:14px 26px;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px}
.lead-form button:hover{background:var(--brand-d)}
.ok{color:var(--green);margin-top:10px;font-weight:700}

/* ----- cashback card ----- */
.cashback-card{
  background:linear-gradient(135deg,#0e1726 0%,#1d3557 100%);
  color:#fff;border-radius:var(--radius-lg);padding:32px;margin:36px 0;
  display:grid;gap:10px;
  position:relative;overflow:hidden;
}
.cashback-card::before{
  content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;
  background:radial-gradient(circle,var(--yellow) 0%,transparent 70%);opacity:.3;
}
.cashback-card h3{color:#fff;font-size:26px;font-weight:800}
.cashback-card p{color:#cdd6e0;margin:0 0 14px;position:relative;z-index:1}
.cashback-badge{
  background:var(--yellow);color:var(--ink);font-size:11px;font-weight:800;
  padding:5px 12px;border-radius:4px;width:max-content;letter-spacing:.06em;text-transform:uppercase;
}
.cashback-card .btn-primary{width:max-content;background:var(--yellow);color:var(--ink);box-shadow:none;position:relative;z-index:1}
.cashback-card .btn-primary:hover{background:#fff;color:var(--ink)}

/* ----- deal page ----- */
.deal-page{padding:8px 0 16px;max-width:780px}
.deal-page h1{font-size:36px;margin-bottom:14px}
.deal-page .meta-line{color:var(--muted);font-size:14px;margin:0 0 18px}
.deal-page .meta-line a{color:var(--brand)}
.code-box{
  margin:24px 0;padding:22px;border:2px dashed var(--brand);border-radius:var(--radius);
  display:flex;justify-content:space-between;align-items:center;
  background:var(--brand-tint);
}
.code-box span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.code-box strong{font-size:24px;letter-spacing:3px;color:var(--brand);font-family:'Courier New',monospace}

/* ----- pager ----- */
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:32px 0;justify-content:center}
.pager a{padding:9px 14px;border:1px solid var(--line-2);border-radius:6px;color:var(--ink);font-weight:600;min-width:42px;text-align:center}
.pager a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.pager a:hover{background:var(--ink);color:#fff;text-decoration:none}

/* ----- related links sidebar (PBN-friendly editorial recs) ----- */
.related-recs{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--radius);
  padding:22px;margin:28px 0;
}
.related-recs h4{
  margin:0 0 14px;font-size:13px;color:var(--brand);font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--brand);
  padding-bottom:8px;display:inline-block;
}
.related-recs ul{list-style:none;margin:0;padding:0}
.related-recs li{
  padding:10px 0;border-bottom:1px solid var(--line-2);
  display:flex;gap:10px;align-items:flex-start;
}
.related-recs li:last-child{border-bottom:0}
.related-recs .num{
  flex:0 0 24px;height:24px;background:var(--yellow);color:var(--ink);
  font-weight:800;font-size:12px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
}
.related-recs .lk{flex:1}
.related-recs .lk a{color:var(--ink);font-weight:600;line-height:1.3;display:block}
.related-recs .lk a:hover{color:var(--brand)}
.related-recs .lk small{color:var(--muted);font-size:12px;display:block;margin-top:2px}

/* internal cross-link grid */
.xlink-grid{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;margin:28px 0;
}
.xlink-grid h4{margin:0 0 14px;color:var(--ink);font-size:14px}
.xlink-grid .pills{display:flex;flex-wrap:wrap;gap:8px}

/* ----- footer ----- */
.site-footer{margin-top:60px;border-top:4px solid var(--brand);background:var(--paper);padding:48px 0 24px}
.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px;
  padding-bottom:32px;border-bottom:1px solid var(--line);
}
.foot-grid h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font-weight:800}
.foot-grid ul{margin:0;padding:0;list-style:none}
.foot-grid ul li{margin-bottom:8px;font-size:14px}
.foot-grid a{color:var(--ink-2);font-weight:500}
.foot-grid a:hover{color:var(--brand)}
.foot-bottom{padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr 1fr}}

/* ----- circular section (weekly-ad style on home) ----- */
.circular-shelf{
  background:var(--brand);color:#fff;border-radius:var(--radius-lg);
  padding:28px;margin:24px 0;display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:center;
}
.circular-shelf h2{color:#fff;margin:0 0 8px;font-size:30px}
.circular-shelf h2::after{display:none}
.circular-shelf p{margin:0 0 12px;color:#fff5d1}
.circular-shelf .btn-primary{background:var(--yellow);color:var(--ink);box-shadow:none}
.circular-shelf .btn-primary:hover{background:#fff;color:var(--ink)}
.circular-shelf .day-badge{
  display:inline-block;background:#fff;color:var(--brand);
  font-weight:900;font-size:12px;padding:4px 10px;border-radius:4px;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;
}
@media(max-width:760px){.circular-shelf{grid-template-columns:1fr;text-align:left}}

/* ----- store-row style ----- */
.store-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 24px}
.store-tile{
  background:#fff;border:1px solid var(--line-2);border-radius:8px;
  padding:10px 14px;font-weight:700;color:var(--ink);font-size:14px;
  display:inline-flex;align-items:center;gap:8px;
}
.store-tile:hover{background:var(--brand);color:#fff;border-color:var(--brand);text-decoration:none}
.store-tile .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.store-tile:hover .dot{background:var(--yellow)}
