/* Consistent product-photo slots; no blank toolbar and no image cropping. */
.z-store .z-product-image,.z-store .product-thumb>.image{position:relative;display:block;padding:0!important;overflow:hidden;aspect-ratio:3/2;flex-shrink:0;align-self:stretch}
.z-store .z-product-image>img,.z-store .product-thumb>.image>a>img{position:absolute;inset:0;display:block;width:100%!important;max-width:100%;height:100%!important;object-fit:contain;object-position:center top;margin:0;transform:none!important;aspect-ratio:auto}
.z-store .product-thumb>.image>a{display:block;width:100%;height:100%}
.z-store #product-info .z-topshop-gallery>a{aspect-ratio:auto!important;height:auto;align-self:start}
.z-store #product-info .z-topshop-gallery>a>img{display:block;width:100%;height:auto!important;max-height:min(70svh,680px);aspect-ratio:auto;object-fit:contain;object-position:center top}
.z-store .zq-gallery .zq-image{height:auto;max-height:min(52svh,520px);aspect-ratio:auto;object-fit:contain;object-position:center top;background:transparent}
/* Card controls have their own compact row, below the photo and text. */
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;position:static!important;gap:8px}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions>.z-card-icons{display:flex!important;position:static!important;flex-direction:row!important;justify-content:flex-end;align-items:center;gap:4px;opacity:1!important;grid-column:1;grid-row:1;width:100%;margin:0;padding:0}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions>.z-card-buy{grid-column:1;grid-row:2}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-icons button:is(.z-selection,.z-quick-button){display:inline-flex!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:0!important;border-radius:8px!important;background:#fff!important}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-icons button span{display:none!important}
.z-store #product-info .z-related .product-thumb form{display:block!important;margin:8px 0 0}
.z-store #product-info .z-related .product-thumb .z-card-buy{display:none!important}
@media(max-width:359px){.z-store #container :is(.product-thumb,.z-product-card) .z-card-icons button:is(.z-selection,.z-quick-button){width:36px!important;height:40px!important;min-width:36px!important;min-height:40px!important;flex-basis:36px!important;font-size:17px!important}}

.z-store .z-list .product-thumb>.image{align-self:start}
/* Keep all three actions visible in a vertical rail beside every card photo. */
.z-store #container :is(.product-thumb,.z-product-card){position:relative}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions>.z-card-icons{position:absolute!important;top:8px;right:8px;left:auto;bottom:auto;flex-direction:column!important;justify-content:flex-start;width:36px;gap:4px;z-index:3}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-icons button:is(.z-selection,.z-quick-button){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important;font-size:18px!important;border-radius:8px!important;background:#fffffff2!important}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions>.z-card-buy{grid-row:1}
.z-store #product-info .z-related .product-thumb form{margin:0}
@media(max-width:479px){
.z-store #container :is(.product-thumb,.z-product-card) .z-card-actions>.z-card-icons{top:4px;right:4px;width:28px;gap:3px}
.z-store #container :is(.product-thumb,.z-product-card) .z-card-icons button:is(.z-selection,.z-quick-button){width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex-basis:28px!important;font-size:16px!important}
}
/* A single recommendation should use the available width, especially on phones. */
.z-store #product-info .z-related-track>.z-related-item:only-child{flex-basis:min(100%,320px)}
@media(max-width:767px){
.z-store #product-info .z-related-track>.z-related-item{flex-basis:78%}
.z-store #product-info .z-related-track>.z-related-item:only-child{flex-basis:100%}
.z-store #container #product-info .z-related .z-card-actions>.z-card-icons{top:8px;right:8px;width:36px;gap:4px}
.z-store #container #product-info .z-related .z-card-icons button:is(.z-selection,.z-quick-button){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important;font-size:18px!important}
}
