/* SavySaver quick wins v1 (19 Oct 2026). Small additions loaded only on the shopping pages. Uses site.css variables. */
.table-wrap { overflow-x: auto; margin: 1rem 0 1.25rem; -webkit-overflow-scrolling: touch; }
table.compare { width: 100%; border-collapse: collapse; font-size: 0.95rem; background: var(--surface); }
table.compare caption { text-align: left; font-size: 0.85rem; color: var(--muted); padding: 0 0 0.5rem; caption-side: top; }
table.compare th, table.compare td { border-bottom: 1px solid var(--rule); padding: 0.65rem 0.6rem; text-align: left; vertical-align: top; }
table.compare thead th { font-weight: 600; background: var(--chip); }
table.compare tbody th { font-weight: 600; min-width: 7rem; }
@media (max-width: 640px) { table.compare { font-size: 0.88rem; } table.compare th, table.compare td { padding: 0.55rem 0.45rem; } }
.code-box { display: inline-block; font-family: var(--font-mono); font-size: 1.6rem; font-weight: 500; letter-spacing: 0.06em; background: var(--chip); border-radius: 0.5rem; padding: 0.35rem 0.8rem; margin: 0.4rem 0; }
.calc fieldset { border: 1px solid var(--rule); border-radius: 0.75rem; padding: 1rem 1.1rem 1.15rem; margin: 1.25rem 0; background: var(--surface); }
.calc legend { font-weight: 600; padding: 0 0.35rem; }
.calc label { display: block; margin: 0.85rem 0 0.3rem; }
.calc .hint { display: block; font-size: 0.85rem; color: var(--muted); margin-top: 0.2rem; }
.calc .result p { margin: 0.25rem 0; }
.calc .row-btns button[aria-pressed="true"] { background: var(--chip); border-color: var(--primary); }
.calc .err { color: #9b2c1f; font-weight: 600; }
.result .err { color: var(--primary-fg); }
.sources { font-size: 0.9rem; }
.sources li { margin: 0.25rem 0; }
