/* Square source photos have square frames. Never constrain image height alone. */
html body.kw-square-product-media main :is(.kw-gallery-stage,.kl-stage){box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1!important;padding:0!important;border-radius:25px!important;overflow:hidden!important}
html body.kw-square-product-media main :is(.kw-gallery-stage>img,.kl-stage>#kl-enlarge>img){display:block!important;box-sizing:border-box!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:1!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important}
html body.kw-square-product-media main .kl-stage>#kl-enlarge{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1!important;padding:0!important;margin:0!important;border:0!important}
@media(min-width:801px){
 /* Tall galleries can scroll into view, then remain at their lower edge. */
 html body.kw-square-product-media main [data-kw-square-gallery]{align-self:start!important;position:sticky!important;top:var(--kw-square-sticky-top,12px)!important}
}
@media(max-width:800px){
 /* Existing mobile chooser still keeps the photo and configuration together.
    The photo always fills the content column, even on shorter screens. */
 html body.kw-square-product-media main .kwmv-chooser>.kw-gallery-stage,
 html body.kw-square-product-media main .kl-gallery>.kl-stage{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:1!important;margin-inline:0!important}
 /* Keep leather controls in normal flow; selection brings photo and form into view together. */
 html body.kw-square-product-media main.kl-page .kl-gallery{position:relative!important;top:auto!important}
}
