Complete the ghost-accordion icon fix. The +/- icons' conditional `hidden`
class was passed via an attribute spread that conflicted with their explicit
`class` and got dropped, so the server never hid the inactive icon. 4.0.1
masked it (hid both via data-js-loading); 4.0.2 removed that gate and so showed
both. Move the `hidden` into the icon's own class list (as the chevron variant
already does) so each item renders one correct icon server-side. Add a
regression test.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>