/* Ten Dollar Gift Shop — "poster pop": warm paper ground, chunky ink borders,
   hard offset shadows, bold saturated palette. Fun without being childish. */
:root {
  --bg: #fdf6e3; --fg: #16130f; --card: #fffdf5; --surface: #fffdf5;
  --secondary: #fff3d6; --muted-fg: #6d6357;
  --primary: #e63946; --primary-fg: #fffdf5; --accent: #1d3557; --accent-soft: #ffe9c9;
  --border: #16130f; --danger: #d62828; --star: #f4a261;
  --radius: 10px; --radius-sm: 8px; --radius-lg: 14px;
}
body { background: var(--bg); color: var(--fg); }
h1, h2, h3 { font-weight: 900; letter-spacing: -.02em; }
h1 { font-size: clamp(2.4rem, 5.4vw, 3.6rem); }
.topbar { background: #16130f; color: #ffe9c9; letter-spacing: .04em; }
.hero { background: radial-gradient(760px 300px at 12% -14%, #ffe9c9 0%, transparent 60%);
  border-bottom: 3px solid var(--border); }
.hero .kicker { background: #ffe9c9; color: #a32a34; border: 2px solid var(--border); font-weight: 800;
  letter-spacing: .08em; }
.hero .lede { color: #4a4238; }
.btn { background: var(--primary); color: var(--primary-fg); border: 2px solid var(--border);
  border-radius: var(--radius-sm); font-weight: 800;
  box-shadow: 4px 4px 0 var(--border); }
.btn:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--border); }
.btn.ghost { background: #fffdf5; color: var(--fg); border: 2px solid var(--border); box-shadow: 4px 4px 0 var(--border); }
.pcard .btn.small.wide { background: var(--primary); color: var(--primary-fg); border: 2px solid var(--border);
  border-radius: var(--radius-sm); box-shadow: 3px 3px 0 var(--border); }
header.site { background: var(--bg); border-bottom: 3px solid var(--border); }
.logo { font-weight: 900; }
.logo .mark { background: var(--accent); color: #fffdf5; border: 2px solid var(--border); border-radius: 8px; font-size: .72rem; }
nav.main a { font-weight: 800; }
nav.main a:hover, nav.main a[aria-current="page"] { background: #ffe9c9; color: #a32a34; }
.catcard, .postcard, .pcard, .deal, .tool { background: #fffdf5; border: 2px solid var(--border);
  border-radius: var(--radius); box-shadow: 4px 4px 0 rgba(22,19,15,.9); }
.catcard:hover, .pcard:hover, .postcard:hover { transform: translate(-1px,-1px); box-shadow: 6px 6px 0 rgba(22,19,15,.9); }
.pcard .thumb { background: #fff; }
.pcard .price { color: #a32a34; font-weight: 900; font-size: 1.3rem; }
.catcard .ico { background: #ffe9c9; color: #a32a34; border: 2px solid var(--border); border-radius: 8px; }
.chip { background: var(--accent); color: #fffdf5; font-weight: 800; }
section.tint { background: #fff3d6; border-top: 3px solid var(--border); border-bottom: 3px solid var(--border); }
footer.site { background: #16130f; color: #e8dcc6; }
footer.site h4 { color: #ffe9c9; }
footer.site a { color: #fffdf5; }
.searchbox { background: #fffdf5; border: 2px solid var(--border); }
.answer, .callout.info { background: #fff3d6; border: 2px solid var(--border); }
.answer strong, .callout.info > strong { color: #a32a34; }
.prose table th { background: #ffe9c9; }
details.faq { background: #fffdf5; border: 2px solid var(--border); }
