Ah yes, theme code has a limit for the image height. It’s kinda soft limit, so that image does not grow taller than screen height minus 400px.
(This accounts for the sticky header and ideally, to fit product title and price, maybe variant selector)
To me this makes a lot of sense – it allows to see something else on the same screen without excessive scrolling.
To keep image uncropped and undistorted, theme code limits the image width.
So yes, if your screen is taller, then image will be full-bleed, but on device of wider proportions it will be limited.
The code is like below:
--viewport-offset is how much space we want to leave,
--constrained-min-height is the minimal height of the image…
Then code calculates --contained-width based on the maximum allowed height and image aspect ratio.
.product-media-container.constrain-height {
--viewport-offset: 400px;
--constrained-min-height: 300px;
--constrained-height: max(var(--constrained-min-height), calc(100vh - var(--viewport-offset)));
margin-right: auto;
margin-left: auto
}
.product-media-container.constrain-height.media-fit-contain {
--contained-width: calc(var(--constrained-height) * var(--aspect-ratio));
width: min(var(--contained-width),100%)
}
If you want to override this, you can make smaller the viewport offset, like this
(need to see if there are any side-effects, especially on featured product or quick-add modal, but I’d start with this)
.product-media-container.constrain-height {
--viewport-offset: 250px !important;
}
Or, if you want to make you rimages full-bleed no matter what, use code like this:
.product-media-container.constrain-height{
--contained-width: 100% !important;
}
if my post is helpful, please like it ♡ and mark as a solution -- this will help others find it