Thanks for the project.
The behavior is correct. Columns go from top-to-bottom, left-to-right.
So, card1, card2, card3 are in the first column, card4, card5, card6 in the second column etc.
If you want different behavior then you can use a flex container. In that case, you have more control over the flex box properties.
For example, if you want 3 items per row then set the flex-basis to 33%