I was reading about unset property at MDN and then got stuck in their code example(the code below) without understanding how come an element selector is overriding a class selector with an !important declaration while being earlier in the cascade.
ps: English isn't my main language, let me know if it sounded confusing.
p {
color: red;
}
.foo {
color: blue !important;
}
.bar {
color: green;
}
.bar p {
color: unset;
}
<p>This text is red.</p>
<div class="foo">
<p>This text is also red.</p>
</div>
<div class="bar">
<p>This text is green (default inherited value).</p>
</div>