details:not([open]) > *:not(summary), details:not([open]) > *text* { /* any direct child elements other than summary, or any direct child text nodes */ display: none; }