.grid .product{display:flex;flex-direction:column;min-width:0}
.grid .product .shop-short-description{margin:6px 0 12px;font:inherit;line-height:1.5;color:inherit}
.grid .product .shop-quick-add{margin:12px 0 0;padding:0}
.grid .product .shop-short-description+.shop-quick-add{margin-top:0}
.shop-quick-add button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:9px 12px;border:1px solid #20b1c2;border-radius:0;background:#fff;color:#20b1c2;font:inherit;font-weight:400;cursor:pointer;box-shadow:none}
.shop-quick-add button:hover{background:#20b1c2;color:#fff}
.shop-quick-add button span{white-space:nowrap;font-weight:400}

/* Shared image bounds keep portrait and landscape prints inside one column. */
main .shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;align-items:start}
main .shop-grid .product{min-width:0;max-width:100%}
main .shop-grid .image-wrap{display:flex;align-items:flex-end;justify-content:flex-start;width:100%;aspect-ratio:1 / 1;min-height:0;padding:0;margin:0;background:transparent;border:0;box-shadow:none;overflow:hidden}
main .shop-grid .image-wrap img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left bottom;margin:0;padding:0;background:transparent;box-shadow:none;transform:none}
main .shop-grid .product-caption{display:block;margin:0;padding:4px 0 0;text-align:left;line-height:1.4}
main .shop-grid .product-caption a{display:block;margin:0;overflow-wrap:anywhere}
@media(max-width:700px){main .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}

/* Override inherited shop image backgrounds. */
html:has(.shop-grid),body:has(.shop-grid),body:has(.shop-grid)>main{background:#fff!important}
body main .shop-grid,body main .shop-grid .product,body main .shop-grid .image-wrap,body main .shop-grid .image-wrap img{background:transparent!important;background-image:none!important;box-shadow:none!important}
body main .shop-grid .image-wrap::before,body main .shop-grid .image-wrap::after{background:transparent!important;background-image:none!important;box-shadow:none!important}
