/* Ten Pound Gift Shop — "british value": white ground, deep red primary, navy
   secondary, solid sturdy controls, tight corners. Shop-sign clarity, no frills. */
:root {
  --bg: #ffffff; --fg: #101828; --card: #f7f8fa; --surface: #f7f8fa;
  --secondary: #eef1f5; --muted-fg: #5b6472;
  --primary: #c1121f; --primary-fg: #ffffff; --accent: #12294b; --accent-soft: #e8edf5;
  --border: #d8dee7; --danger: #c1121f; --star: #e0a020;
  --radius: 8px; --radius-sm: 6px; --radius-lg: 10px;
}
body { background: var(--bg); color: var(--fg); }
h1, h2, h3 { font-weight: 800; letter-spacing: -.02em; }
h1 { font-size: clamp(2.2rem, 4.8vw, 3.1rem); }
.topbar { background: #12294b; color: #ffffff; letter-spacing: .02em; }
.hero { background: linear-gradient(180deg, #f2f5f9, #ffffff); border-bottom: 1px solid var(--border); }
.hero .kicker { background: #e8edf5; color: #12294b; letter-spacing: .1em; }
.hero .lede { color: #414c5c; }
.btn { background: var(--primary); color: #fff; border: 0; border-radius: var(--radius-sm); font-weight: 700; }
.btn:hover { background: #a10f1a; transform: none; box-shadow: 0 2px 8px rgba(193,18,31,.25); }
.btn.ghost { background: #fff; color: #12294b; border: 1px solid var(--border); }
.pcard .btn.small.wide { background: var(--primary); color: #fff; border-radius: var(--radius-sm); }
header.site { background: #fff; border-bottom: 2px solid var(--primary); }
.logo { font-weight: 800; }
.logo .mark { background: var(--primary); color: #fff; border-radius: 6px; font-size: .72rem; }
nav.main a { font-weight: 600; color: #2b3543; }
nav.main a:hover, nav.main a[aria-current="page"] { background: #e8edf5; color: #12294b; }
.catcard, .postcard, .pcard, .deal, .tool { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); }
.pcard:hover { box-shadow: 0 4px 14px rgba(16,24,40,.08); }
.pcard .thumb { background: #fff; }
.pcard .price { color: #c1121f; font-weight: 800; }
.catcard .ico { background: #e8edf5; color: #12294b; border-radius: 6px; }
.chip { background: #e8edf5; color: #12294b; font-weight: 700; }
section.tint { background: #f7f8fa; }
footer.site { background: #12294b; color: #c9d3e2; }
footer.site h4 { color: #fff; }
footer.site a { color: #ffffff; }
.searchbox { background: #f7f8fa; border-color: var(--border); }
.answer, .callout.info { background: #e8edf5; border-color: #cdd8e8; }
.answer strong, .callout.info > strong { color: #12294b; }
.prose table th { background: #eef1f5; }
details.faq { background: #fff; border-color: var(--border); }
