/* Square product galleries: preserve the full interior and original at every breakpoint. */
.p-product .p-product-gallery .p-product-main{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1/1}
.p-product .p-product-gallery .p-product-main>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.p-product .p-product-thumbs button{position:relative;box-sizing:border-box;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1/1}
.p-product .p-product-thumbs img{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;object-position:center}
.p-product .p-related .p-related-grid .p-card .p-card-photo{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1/1;background:#faf9f7}
.p-product .p-related .p-card-photo>a{position:absolute;inset:0;display:block;width:100%;height:100%}
.p-product .p-related .p-card-photo img{display:block;width:100%;height:100%;padding:0;object-fit:contain;object-position:center}

/* Square product galleries: previews and thumbnails retain their original proportions. */
.d-product .d-gallery .d-preview{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1/1}
.d-product .d-gallery .d-preview :is(img,video){object-fit:contain;object-position:center}
.d-product .d-thumbnails button{position:relative;box-sizing:border-box;height:auto;min-height:0;max-height:none;aspect-ratio:1/1}
.d-product .d-thumbnails img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;object-position:center}
.d-product .d-card-image{aspect-ratio:1/1;height:auto}
.d-product .d-card-image img{object-fit:contain;object-position:center}

