Good call, @dgwilson. Caught again being 'wrong'; should have remembered the old hint phrase: LiVe HAppy. a:link, a:visited, a:hover, a:active, is the correct order.
On looking at the code this time, there are some validation issues, but as suspected they have to do with block level elements being wrapped in inline level elements.
HTML Code:
<div class="details"><span><p>..</p><ul>..</ul></span></div>
This issue can be overcome by replacing SPAN with DIV, then in the CSS dial in the specificity:
Code:
CSS
div.details div {
display: none;
}
div.details:hover div {
..
}
The OP seems to have resolved the HOVER event, though might be unpleasantly surprised to find it not supported in some older browsers, especially IE. (CSS2 is getting old, but support is less than universal, even now.) Not a really big issue, since IE6 is practically in retirement.
QuirksMode: :hover