== Background
There are a few remaining unprefixed CSS classes: `is-hidden`, `is-visible`, `is-cooldown` and `fly-heart-box`/`fly-heart`. These were leftovers from the static HTML and should have already been transformed in the original patch adding to WikimediaCustomizations.
== Goal
In order to follow our [[ https://www.mediawiki.org/wiki/Manual:Coding_conventions/CSS | CSS coding guidelines ]] and not risk side-effects, let's prefix them.
== Acceptance criteria for done
[x] No unprefixed class is remaining in [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/WikimediaCustomizations/+/refs/heads/master/modules/DonorIdentification/ext.wikimediaCustomizations.donorDelightBadge.styles/styles.less | 'styles.less' ]]
=== BDD
```
Feature: Donor badge CSS classes are namespaced
Scenario: No unprefixed leftover classes ship in the badge stylesheet
Given the donor badge styles are loaded on a treatment pageview
When I inspect the donor badge CSS rules
Then is-hidden, is-visible, is-cooldown, fly-heart-box and fly-heart
And each appears only in its ext-wc- prefixed form
And no bare (unprefixed) selector for any of them is present
```
=== Test Plan
Test Case 1: Leftover classes are prefixed with ext-wc-
On a treatment-b-simple pageview, scan document.styleSheets cssRules for each token.
AC1: is-hidden, is-visible, is-cooldown, fly-heart-box, fly-heart appear as .ext-wc-<token> selectors.
AC2: zero bare (unprefixed) selectors for any of those tokens are present in the loaded stylesheet.
=== Test Results
| AC | Status | Details for test run T427956#12008055 |
| --- | --- | --- |
| 1 | ✅ | all five tokens present only as ext-wc- selectors — see T427956_beta_AC1_1.png |
| 2 | ✅ | 0 bare selectors for is-hidden/is-visible/is-cooldown/fly-heart-box/fly-heart |