
/* Discount ALT — calmer merchant deal list; still sticker on-brand */
:root{--cream:#FFF5E4;--cream2:#FCEBD0;--ink:#2B2340;--ink2:#6E6580;--purple:#8381E0;--purple-d:#5F5CCB;--purple-l:#E6E4FB;--teal:#4ABDD7;--teal-l:#D8F1F7;--gold:#E7A83E;--gold-d:#C17A2E;--gold-l:#FBE6C2;--cream-card:#FFFBF3;--line:#E6DFD2}
html,body{background:var(--cream);color:var(--ink);margin:0;font-family:"Nunito Sans",system-ui,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased}
a{color:inherit}
.disc-wrap{max-width:1100px;margin:0 auto;padding:28px 16px 64px}
.mock-banner{margin:0 0 18px;padding:10px 14px;border-radius:14px;border:2px dashed var(--ink);background:var(--gold-l);font-family:Fredoka,sans-serif;font-weight:600;font-size:14px;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.mock-toggle{display:inline-flex;align-items:center;gap:0;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff;box-shadow:2px 2px 0 var(--ink);font-family:Fredoka,sans-serif;font-weight:600;font-size:13px}
.mock-toggle a{padding:6px 12px;text-decoration:none;color:var(--ink);background:#fff}
.mock-toggle a.on{background:var(--purple);color:#fff}
.mock-toggle a:not(.on):hover{background:var(--purple-l)}

.disc-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;align-items:center;margin-bottom:22px}
.disc-hero h1{font-family:Fredoka,sans-serif;font-weight:700;font-size:42px;line-height:1.05;margin:0 0 10px;letter-spacing:-.02em}
.disc-hero h1 .hl{color:var(--purple-d)}
.disc-hero .sub{font-size:16px;line-height:1.45;color:var(--ink2);margin:0;max-width:54ch;font-weight:700}
.disc-hero .count-st{display:inline-block;transform:rotate(7deg);background:var(--gold);color:var(--ink);font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;padding:8px 14px;border-radius:999px;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);margin-top:14px}
.disc-hero-art{justify-self:end;width:min(220px,100%);aspect-ratio:1;border-radius:28px;background:var(--teal-l);border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);display:grid;place-items:center;font-size:72px}

/* Calmer index: all white cards, one purple accent pill */
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.store-card{display:flex;flex-direction:column;gap:12px;padding:18px 16px 16px;border-radius:24px;border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-decoration:none;color:var(--ink);background:#fff;position:relative;min-height:168px;transition:transform .12s ease}
/* card movement on hover removed Nov 9 2026; only the button color changes */
.store-card .logo-tile{width:72px;height:72px;border-radius:18px;background:var(--cream);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;overflow:hidden;transform:rotate(-6deg);margin-bottom:4px}
.store-card .logo-tile img{max-width:86%;max-height:70%;object-fit:contain}
.store-card .logo-tile .text-logo{font-family:Fredoka,sans-serif;font-weight:700;font-size:16px;color:var(--purple-d);text-align:center;padding:4px;line-height:1.05}
.store-card .name{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;line-height:1.1;margin:0}
.store-card .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:2px solid var(--ink);background:#fff;font-family:Fredoka,sans-serif;font-weight:600;font-size:13px;box-shadow:2px 2px 0 var(--ink)}
.pill.teal{background:var(--teal-l)}
.pill.gold{background:var(--gold)}
.pill.purple{background:var(--purple);color:#fff}
.shop-btn,.code-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 18px;border-radius:14px;border:2.5px solid var(--ink);background:var(--purple);color:#fff;box-shadow:3px 3px 0 var(--ink);font-family:Fredoka,sans-serif;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer}
.code-btn.secondary{background:#fff;color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.shop-btn:hover,.code-btn:hover{filter:brightness(1.05)}

.m-crumb{font-size:14px;font-weight:800;color:var(--purple-d);margin:0 0 14px;display:inline-flex;gap:6px;align-items:center;text-decoration:none}
.m-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px;border-radius:26px;border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;margin-bottom:18px}
.m-hero .logo-tile{width:96px;height:96px;border-radius:22px;background:var(--cream);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);display:grid;place-items:center;overflow:hidden;transform:rotate(-5deg)}
.m-hero .logo-tile img{max-width:82%;max-height:70%;object-fit:contain}
.m-hero .logo-tile .text-logo{font-family:Fredoka,sans-serif;font-weight:700;font-size:20px;color:var(--purple-d);text-align:center;line-height:1.05;padding:6px}
.m-hero h1{font-family:Fredoka,sans-serif;font-weight:700;font-size:30px;line-height:1.1;margin:0 0 8px}
.m-hero .blurb{font-size:14px;line-height:1.45;color:var(--ink2);margin:0;max-width:62ch}
.m-hero .badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.m-hero .cta{display:flex;flex-direction:column;gap:10px;align-items:stretch}

.best-band{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:22px;border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--purple-l);margin-bottom:18px}
.best-band .kicker{font-family:Fredoka,sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--purple-d);margin:0 0 4px}
.best-band .offer{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;margin:0;line-height:1.15}

.section-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;margin:28px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ONE white list card */
.offer-panel{background:#fff;border:2.5px solid var(--ink);border-radius:22px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;margin-bottom:22px}
.offer-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff}
.offer-row:last-child{border-bottom:0}
.offer-row .type-tag{font-family:Fredoka,sans-serif;font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2);background:var(--cream2);border-radius:8px;padding:4px 8px;white-space:nowrap}
.offer-row h3{font-family:Fredoka,sans-serif;font-weight:600;font-size:17px;margin:0 0 4px;line-height:1.25;color:var(--ink)}
.offer-row .meta-line{font-family:"Nunito Sans",system-ui,sans-serif;font-weight:700;font-size:13px;color:var(--ink2);margin:0;line-height:1.35}
.offer-row .meta-line .sep{margin:0 6px;opacity:.45}
.offer-row .actions{display:flex;align-items:center}
.offer-row .code-btn{height:40px;padding:0 14px;font-size:15px;white-space:nowrap}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.stat{padding:14px 16px;border-radius:18px;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff}
.stat dt{font-size:12px;font-weight:800;color:var(--ink2);margin:0 0 4px}
.stat dd{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;margin:0}
/* FAQ answers used to inherit .stat dd (Fredoka 22px/700). Body text, not a display heading. */
.disc-faq{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}
.disc-faq-item{padding:14px 16px;border-radius:18px;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff}
.disc-faq-item dt{font-size:12px;font-weight:800;color:var(--ink2);margin:0 0 6px;font-family:"Nunito Sans",system-ui,sans-serif}
.disc-faq-item dd{font-family:"Nunito Sans",system-ui,sans-serif;font-weight:400;font-size:16px;line-height:1.55;margin:0;color:var(--ink)}
.stat.faq{grid-column:1/-1}
.stat.faq dd{font-family:"Nunito Sans",system-ui,sans-serif;font-weight:400;font-size:16px;line-height:1.55;color:var(--ink)}
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.compare a{display:block;padding:12px 14px;border-radius:16px;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);background:#fff;text-decoration:none}
.compare a strong{font-family:Fredoka,sans-serif;font-weight:600;font-size:14px;display:block;margin-bottom:4px}
.compare a span{font-size:13px;color:var(--ink2);font-weight:700}
.related{display:flex;flex-wrap:wrap;gap:8px}
.related a{text-decoration:none}

@media (max-width:900px){
  .disc-hero{grid-template-columns:1fr}
  .disc-hero-art{display:none}
  .store-grid{grid-template-columns:repeat(2,1fr)}
  .m-hero{grid-template-columns:auto 1fr}
  .m-hero .cta{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .stats,.compare{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .disc-hero h1{font-size:30px}
  .store-grid{grid-template-columns:1fr}
  .m-hero{grid-template-columns:1fr;justify-items:start}
  .best-band{grid-template-columns:1fr}
  .offer-row{grid-template-columns:1fr;gap:10px;padding:14px 14px}
  .offer-row .type-tag{justify-self:start}
  .offer-row .actions{justify-self:stretch}
  .offer-row .code-btn{width:100%}
  .shop-btn{width:100%}
  .stats,.compare{grid-template-columns:1fr}
  .disc-faq-item dd,.stat.faq dd{font-size:15px;line-height:1.5}
}
.user-sign-in, .user-sign-in__btn, .profile-container.user-unauth{display:none!important}


/* ===== ALT INDEX v2: logo-forward full cards (2026-11-09) ===== */
.disc-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px 20px;margin-bottom:18px}
.disc-hero .hero-copy{flex:1 1 320px;min-width:0;max-width:640px}
.disc-hero h1{font-family:Fredoka,sans-serif;font-weight:700;font-size:36px;line-height:1.08;margin:0 0 8px;letter-spacing:-.02em}
.disc-hero h1 .hl{color:var(--purple-d)}
.disc-hero .sub{font-size:15px;line-height:1.45;color:var(--ink2);margin:0;max-width:56ch;font-weight:700}
.disc-hero .count-st{display:inline-block;transform:rotate(6deg);background:var(--gold);color:var(--ink);font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;padding:7px 12px;border-radius:999px;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);margin-top:12px}
.disc-hero-art{flex:0 0 auto;width:88px;height:88px;border-radius:22px;background:var(--teal-l);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);display:grid;place-items:center;font-size:40px;transform:rotate(8deg);margin-top:4px}

.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.store-card{
  display:flex;flex-direction:column;
  padding:0;border-radius:24px;border:2.5px solid var(--ink);
  box-shadow:4px 4px 0 var(--ink);text-decoration:none;color:var(--ink);
  background:#fff;overflow:hidden;min-height:300px;
  transition:transform .12s ease, box-shadow .12s ease;
}
/* card movement on hover removed Nov 9 2026; only the button color changes */
.store-card .logo-panel{
  flex:0 0 auto;height:180px; /* ~58% of ~310px card */
  margin:0;
  background:var(--cream);
  border-bottom:2px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  padding:20px 24px;
  position:relative;
  overflow:hidden; /* never let logos break into body */
  box-sizing:border-box;
}
.store-card .logo-panel img{
  display:block;
  width:auto;height:auto;
  max-width:100%;
  max-height:140px; /* hard cap inside 180px panel */
  object-fit:contain;
  object-position:center;
}
.store-card .logo-panel .text-logo{
  font-family:Fredoka,sans-serif;font-weight:700;font-size:32px;line-height:1;
  color:var(--purple-d);text-align:center;
  background:#fff;border:2.5px solid var(--ink);border-radius:18px;
  box-shadow:3px 3px 0 var(--ink);padding:16px 20px;transform:rotate(-3deg);
  max-width:100%;box-sizing:border-box;
}
.store-card .body{
  flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;
  gap:10px;padding:14px 16px 16px;background:#fff;
  min-height:0;
}
.store-card .name{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;line-height:1.1;margin:0}
.store-card .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.store-card .see{
  margin-top:auto;align-self:stretch;
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;border-radius:12px;border:2.5px solid var(--ink);
  background:var(--cream);color:var(--ink);
  box-shadow:2px 2px 0 var(--ink);
  font-family:Fredoka,sans-serif;font-weight:600;font-size:15px;
}
.store-card .see{transition:background-color .15s ease,color .15s ease}
.store-card:hover .see,.store-card:focus-visible .see{background:var(--purple);color:#fff}

/* optional top-deal strip under hero when present */
.top-deal-strip{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  padding:12px 16px;margin:0 0 18px;
  background:#fff;border:2.5px solid var(--ink);border-radius:18px;
  box-shadow:3px 3px 0 var(--ink);
  font-family:"Nunito Sans",system-ui,sans-serif;font-weight:700;font-size:14px;
}
.top-deal-strip .td-kicker{
  font-family:Fredoka,sans-serif;font-weight:600;font-size:12px;
  text-transform:uppercase;letter-spacing:.04em;color:var(--purple-d);
  background:var(--purple-l);border:2px solid var(--ink);border-radius:999px;padding:4px 10px;
}
.top-deal-strip a{color:var(--purple-d);font-family:Fredoka,sans-serif;font-weight:600;text-decoration:none}
.top-deal-strip a:hover{text-decoration:underline}

@media (max-width:900px){
  .store-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .store-card{min-height:280px}
  .store-card .logo-panel{height:160px;padding:16px}
  .store-card .logo-panel img{max-height:120px}
  .disc-hero h1{font-size:30px}
}
@media (max-width:560px){
  .store-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .store-card{min-height:250px;border-radius:20px}
  .store-card .logo-panel{height:140px;padding:14px 12px}
  .store-card .logo-panel img{max-height:100px}
  .store-card .logo-panel .text-logo{font-size:22px;padding:12px 14px}
  .store-card .name{font-size:17px}
  .store-card .body{padding:12px;gap:8px}
  .store-card .see{height:36px;font-size:14px}
  .disc-hero-art{width:64px;height:64px;font-size:28px;border-radius:16px}
  .disc-hero h1{font-size:26px}
  .pill{font-size:11px;height:26px;padding:0 9px}
}

/* production discount tweaks */
.mock-banner{display:none!important}
body.hide-sign-in .topbar a.user-sign-in,
body.hide-sign-in .hamburger-content a.user-sign-in{display:none!important}

/* code modal */
.dd-code-modal[hidden]{display:none!important}
.dd-code-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}
.dd-code-modal .ddcm-backdrop{position:absolute;inset:0;background:rgba(43,35,64,.45)}
.dd-code-modal .ddcm-card{
  position:relative;z-index:1;width:min(420px,100%);
  background:#fff;border:2.5px solid var(--ink);border-radius:22px;
  box-shadow:6px 6px 0 var(--ink);padding:22px 20px 18px;
  font-family:"Nunito Sans",system-ui,sans-serif;
}
.dd-code-modal .ddcm-kicker{font-family:Fredoka,sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--purple-d);margin:0 0 6px}
.dd-code-modal .ddcm-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:20px;line-height:1.2;margin:0 0 14px;color:var(--ink)}
.dd-code-modal .ddcm-code-wrap{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}
.dd-code-modal .ddcm-code{
  flex:1;font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;letter-spacing:.04em;
  border:2.5px solid var(--ink);border-radius:14px;padding:10px 12px;background:var(--cream);color:var(--ink);
}
.dd-code-modal .ddcm-copy,.dd-code-modal .ddcm-shop,.dd-code-modal .ddcm-close{
  display:inline-flex;align-items:center;justify-content:center;
  height:46px;padding:0 16px;border-radius:14px;border:2.5px solid var(--ink);
  font-family:Fredoka,sans-serif;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;
}
.dd-code-modal .ddcm-copy{background:var(--purple);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.dd-code-modal .ddcm-shop{background:var(--cream);color:var(--ink);box-shadow:2px 2px 0 var(--ink);width:100%;margin-bottom:8px}
.dd-code-modal .ddcm-close{background:#fff;color:var(--ink);width:100%}
.dd-code-modal .ddcm-note{font-size:13px;color:var(--ink2);font-weight:700;margin:0 0 12px;line-height:1.4}
