/* Live default red/white/blue theme (html.theme-rwb).
   Escape hatch: ?theme=forest|default|off. Professional patriotic, not flag clutter. */

html.theme-rwb {
  --bg: #f4f7fb;
  --bg-warm: #f8fafc;
  --bg-elevated: #ffffff;
  --ink: #0f172a;
  --ink-soft: #1e293b;
  --muted: #475569;
  --line: #cbd5e1;
  --line-strong: #94a3b8;
  --brand: #0b2a5b;
  --brand-hover: #081f45;
  --brand-bright: #1d4ed8;
  --brand-soft: #dbeafe;
  --brand-ink: #ffffff;
  --price: #9f1239;
  --price-soft: #fff1f2;
  --accent: #b91c1c;
  --accent-soft: #fee2e2;
  --copper: #b91c1c;
  --ok: #0f766e;
  --ok-soft: #ccfbf1;
  --bad: #b91c1c;
  --bad-soft: #fee2e2;
  --warn: #9a3412;
  --warn-soft: #ffedd5;
  --sale: #9f1239;
  --sale-soft: #ffe4e6;
  --focus: #1d4ed8;
  --cat-suppressor: #1d4ed8;
  --cat-suppressor-soft: #dbeafe;
  --cat-primers: #7c3aed;
  --cat-primers-soft: #ede9fe;
  --cat-powder: #b91c1c;
  --cat-powder-soft: #fee2e2;
  --cat-bullets: #9f1239;
  --cat-bullets-soft: #ffe4e6;
  --cat-brass: #a16207;
  --cat-brass-soft: #fef3c7;
  --cat-legal: #1d4ed8;
  --cat-legal-soft: #dbeafe;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08);
  --shadow-md: 0 10px 28px rgba(15, 23, 42, 0.12);
  color-scheme: light;
}

html.theme-rwb .sample-banner {
  background: var(--accent-soft);
  color: #7f1d1d;
}

html.theme-rwb .brand-stripe {
  background: linear-gradient(
    90deg,
    #b91c1c 0%,
    #ffffff 33%,
    #0b2a5b 66%,
    #1d4ed8 100%
  );
}

html.theme-rwb .age-notice {
  background: #0f172a;
  color: #e2e8f0;
}

html.theme-rwb .site-header {
  background-color: var(--brand);
  background-image: linear-gradient(135deg, #0b2a5b 0%, #123a7a 55%, #1d4ed8 100%);
}

html.theme-rwb .site-header a { color: #f8fafc; }

html.theme-rwb .site-header nav [aria-current="page"] {
  border-bottom-color: #f8fafc;
}

html.theme-rwb .site-header nav a:hover {
  border-bottom-color: rgba(248, 250, 252, 0.55);
}

@media (max-width: 760px) {
  html.theme-rwb .site-header nav [aria-current="page"] {
    box-shadow: inset 3px 0 0 #b91c1c;
  }
}

html.theme-rwb .btn {
  box-shadow: 0 1px 0 rgba(255,255,255,0.22) inset, 0 2px 8px rgba(11, 42, 91, 0.28);
}
html.theme-rwb .btn:hover {
  box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 3px 12px rgba(11, 42, 91, 0.38);
}

html.theme-rwb .hero {
  background:
    radial-gradient(ellipse 80% 70% at 10% 0%, rgba(29, 78, 216, 0.16), transparent 55%),
    radial-gradient(ellipse 70% 60% at 95% 20%, rgba(185, 28, 28, 0.10), transparent 50%),
    radial-gradient(ellipse 50% 50% at 70% 100%, rgba(11, 42, 91, 0.10), transparent 55%),
    linear-gradient(180deg, #e8eef8 0%, var(--bg) 100%);
}

html.theme-rwb .hero-logo img {
  filter: drop-shadow(0 12px 28px rgba(11, 42, 91, 0.16));
}

html.theme-rwb table.data tbody tr:nth-child(even) { background: #eef2f7; }

html.theme-rwb .filters-shell,
html.theme-rwb .compare-toolbar {
  background: linear-gradient(180deg, #e8eef8 0%, #dde6f2 100%);
}

html.theme-rwb .site-footer {
  background: linear-gradient(180deg, #e8eef8 0%, #f1f5f9 100%);
  border-image: linear-gradient(90deg, #b91c1c, #ffffff, #0b2a5b) 1;
}

/* Soft red “best listed” still readable; keep meaning tokens */
html.theme-rwb [data-best-badge],
html.theme-rwb .best-price-pill {
  background: var(--price);
  color: #fff;
}

html.theme-rwb .total-cost {
  border-color: color-mix(in srgb, var(--brand) 28%, var(--line));
  background: linear-gradient(160deg, #e8eef8 0%, #fff 42%, var(--price-soft) 160%);
}
html.theme-rwb .badge-sample { background: var(--accent-soft); color: #7f1d1d; }
html.theme-rwb .product-photo img { background: #fff; }
html.theme-rwb table.data thead th {
  background: linear-gradient(180deg, #e8eef8 0%, #e2e8f2 100%);
  color: var(--brand);
  border-bottom-color: color-mix(in srgb, var(--brand) 28%, var(--line));
}
