Перешли на border-box.

Добавили в js определение ширины блока в зависимости от вида box-sizing