В методологии БЭМ для каждого блока требуется создавать новый файл.
Допустим у нас есть такая структура
<div class='wrapper'>
<header>
<div class='block-1'>
<div class='block-1__elem-1'>
</div>
</div>
</header>
<section class='section-1'>
<div class='block-2'>
<div class='block-2__elem-1'>
</div>
</div>
<div class='block-3'>
<div class='block-3__elem-1'>
</div>
</div>
</section>
<section class='section-2'>
<div class='block-4'>
<div class='block-4__elem-1'>
</div>
</div>
</section>
<footer>
</footer>
</div>
1) В каком файле мы прописываем стили для .wrapper ? Поскольку это не блок, я так понимаю, что создавать файл не надо и стили надо прописывать просто в начале main.scss ?
2) В каком файле прописывать стили для header, footer, section-1, section-2 ? Они не являются блоками по БЭМ, насколько я понимаю, значит ли это что их надо описывать в main.scss или все таки надо создавать отдельный файл под стили для каждой секции ?
3) Допустим нам надо section-1 сделать display: flex , а блокам block-2 и block-3, нахоядщимся в этом flex-контейнере, настроить свойство order или flex-grow. Если нам надо изменить это свойство у одного блока, соответственно придется менять и у всех остальных, находящихся в section-1. Придется лезть в файл каждого блока и менять свойства, что не слишком удобно, особенно если блоков много. Правильно ли такие свойства записывать именно в каждый блок, или для удобства их следует выносить в main.scss, или еще куда то?
4) Можно ли прописать в начале main.scss, к примеру, font size для body, или обязательно в каждом блоке отдельно объявлять font-size ? Даже если мы используем переменные, насколько я понимаю, это не спасает нас от огромного дублирования кода в итоговом css файле, если каждое свойство объявлять для каждого блока.
5) Правильная практика - помещать все медиа запросы, относящиеся к блоку в файл с версткой этого блока, или должен быть отдельный файл под все медиа -запросы ?