/* Shared storefront cards. Keep original poster art and checkout actions. */
.product-card{display:flex;flex-direction:column;min-width:0;border:1px solid #ffffff12;border-radius:14px;background:#171921;box-shadow:0 4px 16px #0002;transition:border-color .2s,box-shadow .2s,transform .2s}
.product-card .product-body{display:flex;flex:1;flex-direction:column;gap:0;padding:16px}
.product-card .category-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aeb3c3;font-size:11px;line-height:1.5;margin-bottom:7px}
.product-card .product-body h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-height:3em;max-height:3em;margin:0 0 14px;font-size:15px;line-height:1.5;font-weight:700;color:#f6f7fc;text-align:start}
.product-card .product-body>.product-price{display:flex;align-items:center;align-content:flex-end;flex-wrap:wrap;gap:5px 9px;min-height:48px;margin-top:auto;margin-bottom:12px;color:#f5c56c;font-size:14px;line-height:1.5}
.product-card .actual-price{font-size:19px;font-weight:800;white-space:nowrap}
.product-card .old-price{font-size:12px;color:#9299ab;font-weight:400}
.product-card .saving-badge{font-size:11px;line-height:1.5}
.product-card .product-price>[data-no-i18n]{font-size:12px;color:#b7bdcc;font-weight:400}
.product-card .product-body>.add-button{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;margin-top:0;padding:10px 12px;border-radius:9px;border:1px solid #ef425b50;background:#ef425b14;color:#ff9ead;font-size:13px;line-height:1.4;text-align:start}
.product-card .add-button span{flex-shrink:0}
@media(hover:hover){.product-card:hover{transform:translateY(-3px);border-color:#ef425b75;box-shadow:0 8px 24px #0005}.product-card:hover img,.product-card .product-image:hover>img{transform:none}.product-card .add-button:hover{background:#d92842;border-color:#d92842;color:#fff;box-shadow:none}}
@media(max-width:760px){.product-card{border-radius:12px}.product-card .product-body{padding:12px}.product-card .product-body h3{font-size:14px;margin-bottom:10px}.product-card .actual-price{font-size:17px}.product-card .product-body>.add-button{font-size:12px;padding:9px;min-height:46px}.product-card .category-label{font-size:10px}}
@media(max-width:370px){.product-card .product-body{padding:10px}.product-card .product-body>.add-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-card:hover{transition:none;transform:none}}

/* Price and favorite share one row, away from the artwork. */
.product-card .product-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;margin-bottom:12px;min-height:44px}
.product-card .product-price-row .product-price{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;line-height:1.5}
.product-card .product-price-row .wish-button{position:static;inset:auto;z-index:auto;flex:0 0 44px;width:44px;height:44px;border-radius:10px;font-size:25px;box-shadow:none;border-color:#ffffff20;background:#ffffff05}
.product-card .product-price-row .wish-button.saved{background:#8c293f;color:#fff;border-color:#ff7892}
.product-card .product-price-row .wish-button:hover{border-color:#ff7892}
.product-card .product-body h3{margin-bottom:8px}
@media(max-width:370px){.product-card .actual-price{font-size:15px}.product-card .product-price-row{gap:4px}}

/* Balanced uniform poster viewport; show all artwork without cropping. */
.product-card .product-image,.product-card.poster-card .product-image{position:relative;display:block;flex:0 0 auto;width:100%;height:auto;aspect-ratio:3/4;overflow:hidden;padding:0;background:#10121a}
.product-card .product-image>img,.product-card.poster-card .product-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:none}
.product-card:hover .product-image>img,.product-card.poster-card:hover .product-image>img{transform:none}
