Forget about targeting specific devices, there are far too many of them. The best approach is to be device agnostic. Place your queries at a width where your design needs to change the layout to look its best.
For the most part you should not need to include height in your queries. By using both width and height you are narrowing the scope of the query too much.
There may be some edge cases where you want a height query, but this is rare, concern yourself only with width, unless you find a special case where height is required.
Desktop first Vs Mobile first?
There are debates about this, but IMO, it doesn’t really matter too much. Use which ever way you prefer.
Using px for font-size is not good practice, use em or rem instead.
I’m curious why you need !important there too, do you need that?
Yes, that’s how it would work with a “mobile first” approach.
Though it’s a little different working that way, as the layout may not “break” as such when it gets bigger, but it will be able to accommodate a change in layout.
I find it easier to identify “break points” in desktop first, because going smaller, you clearly see the point at which your layout no longer fits and needs a change. That isn’t to say you must do it that way.
I’ve had to do it before; I had a full page slider that defaulted at 640px. So on screens less than 640, I didn’t make it full screen, and defaulted it to 640px (and non-scroll-jacked) and on larger screens, I let it scroll-jack and full screen.
Max and min height media queries really only come in handy when you have a design that is made to be full screen or at least incorporate the browser window height in some way, typically with a position:fixed element somewhere that takes up the full screen height.
A lot of the time you can avoid having to use height based media queries though by using max-height values in the css with overflow set to auto.
Height based media query use cases are very rare and only occur in designs that only a more advanced front ender would be building. As a general rule, you can pretty much forget about height based media queries.
Also, I’d recommend taking a destop first approach (using max-width for the majority of your media queries) since you are only just learning and it is easier to build for desktop first then adapt it to mobile than it is to build mobile first and adapt it to desktop.