В иерархии всё не так сложно
Такая запись:
elem elem2
Будет означать, что ты будешь искать все elem2 в elem
Такая запись
elem > elem2
Будет означать то, что ты будешь искать все elem2 только на одном уровне, т.е. когда у тебя elem2 находится сразу после elem, а не вложен в другие дочерние элементы elem
Можно использовать классы, насколько я знаю, это практикует БЭМ, но можно это комбинировать, использовать классы и иерархические селекторы
Пара примеров из моих проектов:
footer .contacts
Мы ищем все элементы .contacts в элементе footer
footer .contacts .row
Мы ищем все элементы .contacts в footer и все элементы .row в .contacts