Три группы: (A, B, C)
style="..."): 1,0,0#main): 0,1,0 каждый.btn, :hover, [type]): 0,0,1 каждыйdiv, ::before): 0,0,1, но в отдельном счёте#nav .item a:hover → (0,1,2) /* ID + class + псевдокласс */
.btn.btn-primary → (0,0,2)
button → (0,0,1)
/* Побеждает первое */
!important перекрывает любую специфичность. Избегайте — делает CSS непредсказуемым. Оправдан только для утилит (.hidden { display: none !important; }).
Побеждает правило, объявленное позже в CSS.