store: card prices render --ink-muted instead of --ink (.product-card p cascade) #57
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by
Reviewer55r1while reviewing PR #55, independently reproduced byAuthor47b. Pre-existing on55f5d72; correctly declined as out of scope for #47.The defect
apps/store/app/globals.csssets.price { color: var(--ink) }at specificity (0,1,0). The pre-existing.product-card prule is (0,1,1) and wins, so every card price in the store renders--ink-mutedrgb(90,97,89)instead of--ink.Store-wide, not one page:
/,/products,/services/<slug>, and every related-products grid.It matters because the design makes price the loudest element on a card — the spec is blunt that "a stale price is worse than no price", and the retail type scale from #33/#45 was built around price prominence. Muting the colour quietly undoes that.
Why it surfaced now
#47 fixed the same cascade defect one rule away:
.stock-badgeinside.product-cardwas losingcolorto.product-card p. The.is-*pairs are (0,2,0) and win--chip, but never declarecolor, socolorcame only from the (0,1,0) list. Fixed there with a.product-card .stock-badgeco-selector..pricehas the identical shape and was deliberately left, so a store-wide card restyle would not land in a PR titled "product detail".Relevant history: this defect class was once recorded in a code comment as "unreachable today", which is exactly what deferred it once already. #47's review corrected that comment after measuring. Do not re-derive reachability from prose — measure it.
Fix
One selector, same shape as the fix already in the sheet:
Verification
getComputedStyleon a card price on/and/productsafter #54 and #55 have landed —/productsis where it shows most and it was under active change in #46.0d6a787deliberately makes.product-detail .priceoutrank the card price (30.4px vs 18.4px). That hierarchy must survive.(0,1,0)rule inside.product-cardfor the same loss.Acceptance
Card prices compute
--inkon every surface rendering a.product-card; the detail-page price hierarchy is unchanged; any sibling rules the audit finds are listed here even if fixed separately.