Я думаю, что это правильное решение:
form { display: inline-block; }
Значение встроенного блока используется для размещения встроенных элементов уровня блока. Эти элементы все равно останутся блоками.
Изменение модели элемента с блочного на встроенное является радикальным шагом, потому что это может испортить ситуацию в зависимости от содержимого элемента.
Для этой конкретной проблемы лучше всего использовать inline-block.