Вы использовали соседний братский комбинатор (+
) для тега абзаца, но он работает, только если у вас есть один элемент за другим.Таким образом, поскольку у вас есть тег label между ними, он не работает.Если вы просто замените +
на общий брат-комбинатор ~
, код должен работать.
#img-box:checked ~ p{
background-color: red;
}