Within the realm of CSS,
#rate-1:checked ~ form header:before{
content: "I just despise it";
}
The symbol tilde(~) is commonly referred to as the Subsequent-sibling Combinator. This means that their code treats the header element as a sibling to the star labels:
<div class="star-widget">
<input type="radio" name="rate" id="rate-5">
<label for="rate-5" class="fas fa-star"></label>
<input type="radio" name="rate" id="rate-4">
<label for="rate-4" class="fas fa-star"></label>
<input type="radio" name="rate" id="rate-3">
<label for="rate-3" class="fas fa-star"></label>
<input type="radio" name="rate" id="rate-2">
<label for="rate-2" class="fas fa-star"></label>
<input type="radio" name="rate" id="rate-1">
<label for="rate-1" class="fas fa-star"></label>
<form action="#">
<header></header>
To ensure proper functionality, you must adjust your HTML structure accordingly or utilize JavaScript for rearrangement.