For the footer part of your code, you can use flex wrap.
Also for less media queries you can check this out: https://utopia.fyi/ (This eliminates the need for media queries) https://www.youtube.com/watch?v=x4u1yp3Msao&t=176s (Teaches you how to let browser do more heavy lifting.
To tackle the shrinking problem. You can use clamp / set a min-width or min-height. So that your pictures / div / text will not grow too small. But too be honest only the programmer will shrink the screen size to those unnatural sizes.