/* SG Treats — Peranakan-editorial system. Cobalt on warm paper, mango on value,
   pink only on birthday moments. Static-rendered; no client framework. */
:root{
  --paper:#FFF8F1; --paper-raise:#FFFFFF; --paper-sunk:#F6EEE4;
  --ink:#1C2049; --ink-soft:#5A5E80; --ink-faint:#9B9EB8;
  --cobalt:#27348B; --cobalt-deep:#1B2566; --cobalt-tint:#E9EBF7;
  --pink:#F4467C; --pink-tint:#FDE7EF;
  --mango:#FFB84D; --mango-tint:#FFF1DC; --mango-ink:#7A4D00;
  --line:#EDE3D6; --line-card:#F0EAE0;
  --ok:#1F7A4D; --warn:#B26A00; --warn-tint:#FBF0DC;
  --font-display:'Bricolage Grotesque','Helvetica Neue',sans-serif;
  --font-ui:'Schibsted Grotesk','Helvetica Neue',sans-serif;
  --r-card:18px; --r-btn:12px; --r-chip:999px;
  --shadow-card:0 1px 2px rgba(28,32,73,.05),0 4px 14px rgba(28,32,73,.06);
  --shadow-pop:0 8px 28px rgba(28,32,73,.14);
  --wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-ui);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.05;letter-spacing:-.02em}
em{font-style:normal;color:var(--mango)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.dot{color:var(--pink)}

/* topbar */
.topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:14px 24px;background:rgba(255,248,241,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.topnav{display:flex;gap:6px;flex-wrap:wrap}
.topnav a{
  padding:7px 13px;border-radius:var(--r-chip);font-size:14px;font-weight:600;color:var(--ink-soft);
  transition:background .15s,color .15s;
}
.topnav a:hover{background:var(--cobalt-tint);color:var(--cobalt)}
.topnav a[aria-current=page]{background:var(--cobalt);color:#fff}

/* hero */
.hero{position:relative;background:var(--cobalt-deep);color:#FFF8F1;overflow:hidden}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:72px 24px 84px;position:relative;z-index:2}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:#A9B0E0;margin:0 0 18px}
.hero h1{font-size:clamp(40px,7vw,76px);font-weight:800;max-width:14ch}
.hero h1 em{color:var(--mango)}
.hero-sub{max-width:46ch;margin:22px 0 0;font-size:clamp(15px,2vw,18px);color:#C9CDEC;line-height:1.5}
.hero-deco{position:absolute;top:50%;right:6%;transform:translateY(-50%);display:grid;grid-template-columns:repeat(3,30px);gap:14px;opacity:.9;z-index:1}
.hero-deco span{width:30px;height:30px;border-radius:8px;border:1.5px solid rgba(169,176,224,.35)}
.hero-deco span:nth-child(2){background:var(--pink);border-color:transparent}
.hero-deco span:nth-child(4){background:var(--mango);border-color:transparent}
@media(max-width:720px){.hero-deco{display:none}.hero-in{padding:54px 24px 62px}}

/* month picker */
.months{background:var(--paper-sunk);border-bottom:1px solid var(--line)}
.months-q{max-width:var(--wrap);margin:0 auto;padding:22px 24px 0;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--ink-soft)}
.months-row{max-width:var(--wrap);margin:0 auto;padding:14px 24px 22px;display:flex;gap:9px;overflow-x:auto;scrollbar-width:none}
.months-row::-webkit-scrollbar{display:none}
.month{
  flex:0 0 auto;font-family:var(--font-ui);font-weight:700;font-size:14px;
  padding:10px 18px;border-radius:var(--r-chip);border:1px solid var(--line-card);
  background:#fff;color:var(--ink);cursor:pointer;transition:transform .14s,background .14s,color .14s;
}
.month:hover{transform:translateY(-1px)}
.month[aria-pressed=true]{background:var(--pink);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(244,70,124,.3)}

/* bands */
.band{padding:56px 0}
.band-alt{background:var(--paper-sunk);border-block:1px solid var(--line)}
.band-h{font-size:clamp(24px,3.4vw,34px);font-weight:800}
.band-sub{margin:10px 0 26px;color:var(--ink-soft);max-width:54ch}

/* category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.cat-card{
  display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r-card);
  background:#fff;border:1px solid var(--line-card);box-shadow:var(--shadow-card);
  border-left:4px solid var(--hue,#27348B);transition:transform .16s,box-shadow .16s;
}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}
.cat-name{font-family:var(--font-display);font-weight:700;font-size:19px}
.cat-count{font-size:13px;font-weight:700;color:var(--hue,#27348B)}
.cat-blurb{font-size:14px;color:var(--ink-soft);line-height:1.45;margin-top:4px}

/* deal grid + cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.card{
  display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--r-card);
  background:#fff;border:1px solid var(--line-card);box-shadow:var(--shadow-card);
  transition:transform .16s,box-shadow .16s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}
.card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-merchant{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--cobalt)}
.card-cat{font-size:12px;color:var(--ink-faint)}
.card-value{margin-left:auto;background:var(--mango-tint);color:var(--mango-ink);font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:var(--r-chip)}
.card-offer{font-size:20px;font-weight:700;line-height:1.18}
.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-top:auto}
.tag{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-chip);background:var(--cobalt-tint);color:var(--cobalt)}
.tag-good{background:#E4F3EA;color:var(--ok)}
.tag-warn{background:var(--warn-tint);color:var(--warn)}
.card-foot{border-top:1px solid var(--line-card);padding-top:10px}
.verified{font-size:12.5px;font-weight:700;color:var(--ok)}

/* ad slot */
.ad{
  display:flex;align-items:center;justify-content:center;min-height:90px;margin:0 0 28px;
  border:1px dashed #DBCDB8;border-radius:14px;background:var(--paper-sunk);
}
.ad span{font-family:monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#B8A88F}

/* breadcrumbs */
.crumbs{max-width:var(--wrap);margin:0 auto;padding:18px 24px 0;font-size:13px;color:var(--ink-faint)}
.crumbs a:hover{color:var(--cobalt)}
.crumbs span+span,.crumbs span{color:var(--ink-faint)}

/* category hero */
.cat-hero{max-width:var(--wrap);margin:0 auto;padding:24px 24px 8px}
.cat-hero h1{font-size:clamp(30px,5vw,52px);font-weight:800;border-left:5px solid var(--hue,#27348B);padding-left:18px}
.cat-hero p{max-width:56ch;color:var(--ink-soft);margin:14px 0 0}
.cat-hero-count{font-size:13px;font-weight:700;color:var(--ink-soft)}

/* deal page */
.deal{max-width:760px;margin:0 auto;padding:8px 24px 40px}
.deal-hero{padding:24px 0 10px;border-bottom:1px solid var(--line)}
.deal-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;font-weight:700;color:var(--cobalt);margin:0}
.deal-hero h1{font-size:clamp(28px,4.6vw,44px);font-weight:800;margin:12px 0 16px}
.deal-tags{display:flex;gap:8px;flex-wrap:wrap}
.badge{font-size:13px;font-weight:700;padding:5px 12px;border-radius:var(--r-chip);background:var(--cobalt-tint);color:var(--cobalt)}
.badge-good{background:#E4F3EA;color:var(--ok)}
.badge-value{background:var(--mango);color:var(--mango-ink)}
.badge-warn{background:var(--warn-tint);color:var(--warn)}
.deal-when{margin:18px 0 0;color:var(--ink-soft)}
.deal-body{padding-top:8px}
.deal-body h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:32px 0 14px}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 14px 42px;line-height:1.5}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--cobalt-tint);color:var(--cobalt);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.deal-note{background:var(--paper-sunk);border-radius:12px;padding:14px 16px;font-size:14.5px;color:var(--ink-soft)}
.terms{margin:0;padding-left:20px;color:var(--ink-soft)}
.terms li{padding:3px 0}
.deal-warn{background:var(--warn-tint);color:var(--warn);border-radius:12px;padding:14px 16px;font-weight:600;font-size:14.5px}
.deal-source{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:32px 0 8px;padding-top:22px;border-top:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;font-weight:700;border-radius:var(--r-btn);padding:13px 22px;transition:transform .14s,opacity .14s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--cobalt);color:#fff}
.deal-sourceline{font-size:13px;color:var(--ink-faint)}
.deal-sourceline a{color:var(--cobalt);font-weight:600}
.related{margin-top:40px}
.related h2{font-size:22px;font-weight:800;margin-bottom:18px;text-transform:none;letter-spacing:-.02em;color:var(--ink)}

/* footer */
.foot{background:var(--cobalt-deep);color:#C9CDEC;margin-top:40px}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:48px 24px}
.foot-brand{font-family:var(--font-display);font-weight:800;font-size:22px;color:#FFF8F1;margin:0 0 8px}
.foot-in p{max-width:60ch;line-height:1.5}
.foot-nav{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}
.foot-nav a{font-weight:600;color:#A9B0E0}
.foot-nav a:hover{color:#fff}
.foot-fine{font-size:12.5px;color:#7E85B8}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
