When Stripe.js can't mount, discardMount() empties the node but the hairline .mount box remains as an empty rectangle above the error notice — the first thing a buyer sees on the degraded pay page.
Fix ≈ mount.hidden = true in the give-up branch of pay.astro's script (a safety-critical file with its own test suite — needs care).
When Stripe.js can't mount,
discardMount()empties the node but the hairline.mountbox remains as an empty rectangle above the error notice — the first thing a buyer sees on the degraded pay page.Fix ≈
mount.hidden = truein the give-up branch ofpay.astro's script (a safety-critical file with its own test suite — needs care).