Hello!
Apologies, I am not experienced enough to answer your second question, but I can give insight into your first question.
When it comes to flexbox and grid (especially grid) I would move away from percentages, and in some cases pixels too.
If you examine the width of each car section, you will see they are very slightly different widths, because % is not super accurate in this case.
However, if you remove your min-widths, and change your car sections (.sedans, .suvs, .luxury) each to flex:1; then that will make them all perfectly even width, and be repsonsive.
If you wanted differing widths, you could set one of the car sections to flex:1.2; for example (but not needed in this design). Flex works out the width relative to each other, in the given parent. So flex:2, would be twice the size of an item with flex:1, etc.
If you want to get into using Grid, I would also recommend using "fr", due to %'s wont work correctly along side the gap rule.
Sorry if this is longwinded, I just wanted to give better options than %, or static pixels.
Also, just as a side, if you really want to use %'s, to get more accurate widths, you would need to used something like 33.333%, which really is not pretty and will give you very specific widths like 399.999px wide due to the missing .111%. Where as flex and fr will be perfect.