# TODO ## Template Simplification — Remove Custom Classes Where Semantic HTML Suffices ### CSS class audit: replace with semantic selectors - [x] **`admin.css`**: Replace `.admin-main` with `.admin-body main` — only one `
` per page - [x] **`admin.css`**: Replace `.admin-page-title` with `.admin-body main > h1` — always the first `h1` in `
` - [x] **`admin.css`**: Replace `.admin-alert` / `.admin-alert--error` / `.admin-alert--success` with `[role="alert"]` or `.admin-body main > .alert` using `data-type="error|success"` attribute instead of modifier classes - [x] **`admin.css`**: Replace `.admin-form-row` with `.admin-form > div:not(.admin-submit-wrap)` — form rows are direct `
` children of `.admin-form`; excludes submit wrapper - [x] **`admin.css`**: Replace `.admin-label` with `.admin-form > div:not(.admin-submit-wrap) > label` — every label in admin form rows - [x] **`admin.css`**: Replace `.admin-input` / `.admin-select` / `.admin-textarea` with `.admin-form input:not([type=...])`, `.admin-form select`, `.admin-form textarea` — leverage native element selectors; extended to `.admin-inline-form` for tags table - [x] **`admin.css`**: Replace `.admin-hint` with `.admin-body form small` — use `` instead of `

` - [x] **`admin.css`**: Replace `.admin-table` with `.admin-body table` — only one table per admin page - [x] **`admin.css`**: Replace `.admin-fieldset` / `.admin-fieldset-legend` with `.admin-body fieldset` / `.admin-body legend` - [x] **`main.css`**: Replace `.card__caption` with `.home-body .cards-container li p` or target `li > a > p` directly - [x] **`main.css`**: Replace `.card__media` with `.home-body figure` — already uses `

` elements - [x] **`tfe.css`**: Replace `.tfe-meta-list` selectors with `article dl`, `article dt`, `article dd` — already using `
` inside `
` - [x] **`tfe.css`**: Replace `.tfe-media-block` with `aside figure` — already wrapped in `
` inside `