/* Capacities share a display-height scale; native artwork proportions are retained. */
.product-image.packshot-button{--pack-unit:280px;height:365px;padding:35px 22px 36px;align-items:flex-end}
.pack-object,.packaging-modal-stage .pack-object{position:relative;display:block;flex:none;container-type:inline-size;width:min(100%,calc(var(--pack-unit,300px)*var(--pack-scale)*var(--pack-ratio)));height:auto;aspect-ratio:var(--pack-ratio);max-width:none;transform:none}
.pack-crop{position:absolute;inset:0;overflow:hidden;display:block}
.pack-object .product-packshot{position:absolute;display:block;width:var(--image-width);max-width:none;height:auto;left:var(--image-left);top:var(--image-top);object-fit:contain;transform:none;filter:none}
.pack-volume{left:var(--label-x);top:var(--label-y);font:bold var(--label-size)/1 Arial,sans-serif;color:var(--label-colour)}
.packaging-modal-stage{--pack-unit:400px;height:min(58dvh,470px);min-height:300px;align-items:flex-end;padding:28px 30px;overflow:hidden}
@media(max-width:600px){.packaging-modal-stage{--pack-unit:280px;height:330px;min-height:0;padding:22px 24px}.product-image.packshot-button{--pack-unit:280px;height:365px}}
@media(max-height:650px) and (min-width:601px){.packaging-modal-stage{--pack-unit:280px}}
