Почему не работает display на радио-кнопке по селектору :checked?
Потому что селектор неверный.
С вашей разметкой не получится добиться желаемого без js. Ибо вы хотите достучаться до элемента, который по факту находится выше чем целевой элемент.
А ваш нынешний селектор ишет вложенный в инпут заголовок(т.е. дочерний), а его как видим нет там, и не может быть