2) Использовать гриды и флоаты (не как я, а органично) рекомендуют многие верстальщики в интернете.
Например грид делит страницу на меню и контент. А меню выравнивает свои пункты флоатом.
Это не я придумал - просто говорю что показывают на ютубе довольно популярные каналы.
2) Заголовок формы h2. Не очень понятно, почему h2.
Из истории веба - все эти заголовки и прочее использовались для оформления научных документов. Изначально CSS использовали ученые (Дэвид Макфарланд, большая книга css). Ну а потом стали использовать все.
Я не могу сказать, что заголовок формы, это как заголовок документа. Или что это вообще заголовок.
Кстати, я потратил 30 минут позиционируя его в грид. У него оказывается margin по умолчанию не 0.
Вот я и думал - что h2 не встает ровно по сетке.
Сетку сделал свою.
user-select: none;
с этим вообще аккуратнее.-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
Такая разметка имеет право на существование (не будут бить "фейс об тейбл" если так верстать в коммерческих проектах)?
https://jsfiddle.net/Lveh6aok/
Это то, что написано у вас в скрипте по поводу того, что должно происходить при клике на кнопку.
Взять родителя кнопки и если он .box, то задать ему класс. И это всё.