.grid { position: relative; flex-grow: 1; padding: 0 22px; overflow-y: auto; scroll-snap-type: both mandatory; } .slotGrid { position: relative; display: grid; grid-auto-rows: 183px; column-gap: 18px; row-gap: 21px; } .slot { scroll-snap-align: start; } .slot:last-child { /* This causes the grid to scroll up smoothly to the last item when its height shrinks, and ensures that the user can always scroll the last row fully in view */ scroll-snap-align: end; }