Bienvenido al foro.
Como en la propia naturaleza, aquello de "
hijos hermanos" es una aberración que no debería de existir. Y esto en CSS tampoco existe.
~
sirve para seleccionar todos los hermanos sucesores, funciona de forma parecida a
+
con la salvedad de que este último sólo selecciona el hermano sucesor directo.
En CSS de momento no existe forma de subir por la jerarquía de los elementos.
Tal como tienes la estructura, lo que quieres hacer sólo puedes lograrlo usando JavaScript.
Cuando publiques código usa la opción
highlight.