/* Image geometry stays fixed. The compact cart action sits below the heart. */
.product-card{display:flex;flex-direction:column}
.product-card .product-picture{display:block;flex:0 0 auto;aspect-ratio:1;height:auto;overflow:hidden}
.product-card .product-picture .product-open{display:block;flex:none;width:100%;height:auto;aspect-ratio:1}
.product-card .product-picture .product-open img{width:100%;height:100%;object-fit:cover}
.product-card:hover .product-picture img{transform:none}
.product-card .product-meta{flex:1;display:flex;flex-direction:column;align-items:stretch}
.product-card .product-meta .product-title{text-align:left}
.product-card .product-cart-button{position:absolute;top:49px;right:7px;bottom:auto;left:auto;display:grid;place-items:center;width:38px;height:38px;padding:8px;border:1px solid transparent;border-radius:50%;background:#fffdf9b8;color:#4a1525;z-index:3;opacity:1;visibility:visible;transform:none;cursor:pointer;transition:background .2s,border-color .2s}
.product-card .product-cart-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.product-card .product-cart-button:hover{background:#efe4d2;border-color:#d4bc98}
@media(max-width:700px){.product-card .product-cart-button{top:36px;right:2px;width:30px;height:30px;padding:6px}.product-card .product-cart-button svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.product-card .product-cart-button{transition:none}}

/* Keep the heart legible on both light product shots and dark lifestyle photos. */
.product-card .favorite-button{background:#fffdf9b8;color:#4a1525;border:1px solid transparent;border-radius:50%;display:grid;place-items:center}
.product-card .favorite-button:hover{background:#efe4d2;border-color:#d4bc98}
