Чтобы освоить друпал на хорошем уровне, за который будут нормально платить, нужны годы практики. ИМХО на данный момент друпал практически не развивается, обновляются только вендоры и меняются циферки мажорных версий.
"неправильно" создать тему у вас не получится. Либо наследуете тему от одной из базовой core темы (те, что лежат в папке core/themes), либо от contrib темы, либо вообще не наследуете (что по факту это будет означать наследование от системной темы). Дальше переопределяете нужные шаблоны, пишите css и js.
Самой популярной базовой темой является конечно бутстрап, но комон, какой бутстрап в 2019-м.
Модуль Views.
Контекстный фильтр по термину умеет выводить и контент из дочерних терминов если известен уровень максимальной вложенности.
Если уровень может быть любой, то можно подменить значение фильтра и вернуть список дочерних категорий. См. - xandeadx.ru/blog/drupal/578
Так как в тегах друпал, отвечаю про друпал — вы попробуйте натянуть хоть один свёрстанный шаблон на готовый сайт. Вы всё поймёте через по часа :) Если лень, отвечу сразу — свёрстанный шаблон для друпала не нужен.
Если пользуетесь cms, то делать отдельную вёрстку как правило бессмысленно. У того же друпала есть определённая структура темы (регионы, блоки, поля, идентификаторы, классы) нарушив которую вылезут проблемы. Поэтому двигаетесь в правильном направлении — создание drupal темы по psd шаблону. Плюс как правило на этом же этапе делается и функционал сайта.
В чём вопрос?
Как запретить регистрироваться без одобрения админа? — admin/config/people/accounts
Как запретить просматривать сайт анонимам? — admin/people/permissions
Создать тип материала "Рецепт".
Создать словарь "Ингредиенты".
С помощью Field collection создать составное поле с полями:
— термин словаря "Ингредиенты" (term reference)
— количество (integer)
— единица измерения (list)
Добавить типу материала "Рецепт" созданное составное поле, сделать его multi-value.
Не очень вяжутся между собой фразы "единовременный онлайн от 1000 хостов" и "бюджет не сильно большой".
Друпал позволит быстро собрать функционал с помощью готовых модулей, но при такой нагрузке придётся вложиться в сервер. Разработка на фреймворке будет значительно дороже, но результат будет менее требователен к ресурсам, соответственно затраты на сервер будут меньше.