# CSS & Semantic HTML Refactor ## CSS class audit: replace with semantic selectors (`admin.css` / `main.css` / `tfe.css` / `search.css`) - [x] **`admin.css`**: Replace `.admin-main` with `.admin-body main` — already done; CSS uses `.admin-body main` - [x] **`admin.css`**: Replace `.admin-page-title` with `.admin-body main > h1` — already done; CSS uses `.admin-body main > h1` - [x] **`admin.css`**: Replace `.admin-alert` / `.admin-alert--error` / `.admin-alert--success` with `[role="alert"]` / `data-type="error|success"` attribute - [x] **`admin.css`**: Replace `.admin-form-row` with `.admin-body form > div` — already done; CSS uses `.admin-form > div:not(.admin-form-footer)` grid pattern - [x] **`admin.css`**: Replace `.admin-label` with `.admin-body form label` — already done; CSS uses `.admin-form > div > label` - [x] **`admin.css`**: Replace `.admin-input` / `.admin-select` / `.admin-textarea` with native element selectors — already done; CSS targets native `input`, `select`, `textarea` inside `.admin-form` - [x] **`admin.css`**: Replace `.admin-hint` with `.admin-body form small` - [x] **`admin.css`**: Replace `.admin-table` with `.admin-body table` — already done; CSS uses `.admin-body table` - [x] **`admin.css`**: Replace `.admin-fieldset` / `.admin-fieldset-legend` with `.admin-body fieldset` / `.admin-body legend` — already done; CSS uses `.admin-body fieldset` and `.admin-body legend` - [x] **`main.css`**: Replace `.card__caption` with `.home-body .cards-container li p` or `li > a > p` - [x] **`main.css`**: Replace `.card__media` with `.home-body figure` - [x] **`tfe.css`**: Replace `.tfe-meta-list` selectors with `article dl`, `article dt`, `article dd` — already done - [x] **`tfe.css`**: Replace `.tfe-media-block` with `aside figure` — already done - [x] **`tfe.css`**: Replace `.tfe-file-caption` with `aside figcaption` — already done - [x] **`search.css`**: Replace `.repertoire-col > h2` — already uses `.repertoire-index section > h2` - [x] **`system.php`**: Move inline `