Impulse, by Archetype Themes, handles sold-out variants better than most themes — which is exactly why the last step is so frustrating. It will cross them out beautifully. It just won't make them go away.
What Impulse does with sold-out variants
Impulse ships a feature called Dynamic product options (dynamic variant availability). With it enabled, the picker reacts to what the shopper has selected so far: sold-out combinations are crossed out in the button layout and disabled in dropdowns.
That's genuinely useful — but crossed-out is still visible, still occupying space, and for permanently gone inventory, still a little sad. Merchants have been asking how to fully hide them in community threads for years. There's no "hide instead of cross out" toggle for sold-out options.
The manual fix: CSS on the crossed-out state
Because Impulse already marks unavailable options (disabling the input), the common workaround is CSS that hides whatever the theme disables:
/* Hide options Impulse has disabled as unavailable.
Verify the exact selector in your version's markup first. */
.variant-input-wrap input.disabled + label,
.variant-input-wrap input[disabled] + label {
display: none;
}
- Duplicate your theme, then confirm Dynamic product options is enabled in the theme editor (the CSS depends on the classes it applies).
- Inspect a crossed-out option in your browser's dev tools and note the exact class Impulse puts on it — Archetype has adjusted markup between releases, so don't paste selectors blind.
- Add the rule via Online Store → Themes → Edit code, in your custom CSS file (or the theme editor's custom CSS box).
The catches
- It hides more than "sold out". The disabled state also covers combinations that are merely unavailable given the current selection. With CSS hiding, options now appear and disappear as shoppers click around — which can read as the picker glitching.
- It's cosmetic. The variant still exists on every surface: storefront search, collection filters, other channels, direct links. You've hidden the label, not the variant.
- Theme updates can rename classes. When Archetype ships a new version, your selector may silently stop matching — the crossed-out options just come back until someone notices.
- Whole-row problems remain. If every colour of a size is gone, you can end up with odd empty gaps in the option row, and a product with everything sold out shows an empty picker.
The 5-minute alternative
VarHide removes the variant instead of styling it away: you enable the VarHide app embed (one toggle in Impulse's theme editor) to handle the picker — dynamic options and all — while channel-level unpublishing through Shopify's publishing system keeps hidden variants out of storefront search and collection filters. No CSS selectors to maintain, restocked variants republish automatically, and a product whose variants are all sold out stays visible instead of showing an empty picker or 404ing.
It also means your fix isn't married to Impulse — switch themes next year and you just flip the embed on in the new theme, no code to redo. For the full landscape of options, see our 4-methods guide.
Keep Impulse's polish. Lose the crossed-out clutter.
VarHide hides sold-out variants at the channel level — no CSS, no selectors to babysit. 5.0★ · Built for Shopify.
Install VarHide — free plan available
By the VarHide team · July 2026 · 5 min read