Почему сужается body при уменьшении размера девайса?
Значит какой-то блок на странице не сужается (может быть картинка).
Если сразу не видно что именно вылазит за пределы body, то пропишите в css:
* {
   outline: solid red;
}
Тогда выделятся все элементы и сможете отыскать нужный элемент и исправить
Тоже сталкивался с такой проблемой.
На самом деле, body не сжимается. Просто дебаггер расширяет окно демонстрации для того, чтобы было видно блок, который не вмещается во viewport.
Проблема решается сужением этого самого блока.