Если есть возможность, а потом сможете в этом разобраться, то объединяйте. Десяток стилей разницы значительной не дадут, но если таких много, стоит объединить. Вес файла значительно уменьшится. Не зря же мы боремся за это, особенно создавая min файлы.
Вы можете использовать библиотеку теней https://madeas.github.io/box-shadows и выбрать оптимальный вариант, но для пнг изображений да, как написал Роман, лучше использовать drop-shadow
Тут ничего сложного, просто берете в интернете простое вертикальное меню с выпадающими элементами и прикручиваете к сайту. Только вместо display попробуйте использовать pointer-events + visivility + opacity, иначе ваш каталог не проиндексируется как надо.
Все верно, блок-2 cдвигается в сторону, относительно позиционирования родителя.
Кстати, использование padding совместно с width/height не рекомендуется. Поэтому, сейчас ваши блоки размером не 200px, а 220.