display: grid, он ведёт себя как «блок» и занимает всю доступную ширину. А как, он занимает всю доступную высоту ПО ДЕФОЛТУ?display: block как в <div>. Так как по сути указывая display: grid, мы указываем display: grid block: будь внутри с гридовым контекстом, а внешее блочным.display: grid inline, тогда по умолчанию блок схлопнется "по тексту".