hello @MFA34!
Your result is great, don't worry! something that i learned by doing projects is that the harder they are the more you can learn from them. here are some suggestions and advices i can tell you:
if you start coding from mobile version you'll see that it'll be easier for you to code the desktop version. your CSS file reads the code from up to down, so you can write the mobile styles first without a "@media", and once you finished the mobile version you can create a "@media" for the desktop version.
Another thing i would suggest you is try to use less divs, look for a way to make the same project but using less of them, it's a very good practice that will increase your skills!
i would recommend you to use BEM to name your CSS classes and use descriptives names like "product-container" for example, that will make them easier to understand where they belong.
Also, when an element is inside another container, you can use percentage measures to make sure that the element inside fit the container, you can use "with: 100%" in the class "box-1" to make sure the element will always fit the container.
there's a difference between em and rem, i recommend you to read this https://www.geeksforgeeks.org/difference-between-em-and-rem-units-in-css/ .
personally, i only use REM for fonts.
vw and vh (view-width and view-height) are usually used for containers that depend on the size of the device. so knowning this you can use them whenever you see it'll be useful.
you can see the projects from other users to compare and learn new things from them, i'm sure that will be very helpful. Nice work and keep going!