По сути, я бы поставил под сомнение подход к использованию body * { padding: 0; }
, поскольку это слишком широкое правило, чтобы разумно применять его к хорошо структурированному макету, но в вашем случае вы могли бы сделать пару вещей.
body ul, body ol { padding: 15px; }
Вышеприведенное добавит заполнение к оболочке списка, но вы также можете охватить элементы списка.
body li { padding: 15px; }
Обе вышеперечисленные опции должны появиться после существующего удаления отступов.
Последней альтернативой будет использование не селектора вместо вашего селектора body *
.
body :not(li) { padding: 0; }
Или, чтобы защитить ul, ol и li:
body :not(li):not(ul):not(ol) { padding: 0; }