In brief
Denial refers to the selected item, not automatically to an entire branch.
Useful to know
:not() selects an item that does not match the submitted selector or list. The example button:not(:disabled) means buttons that are not turned off. [1]
In .item:not(.archived) the class of .item. itself is checked Having a parent .archived is not the same condition. This is a common reason a rule affects more items than expected. Specificity comes from arguments, so complex negations can weigh in on the cascade. For clearer verification, first formulate exactly which element you want to exclude.
Sources
For further detail and to check the information: