.card{background:#f8f8f8;border-radius:.5rem;overflow:hidden;transition:box-shadow .3s;height:100%;display:flex;flex-direction:column;position:relative}.card:hover{box-shadow:0 10px 20px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04)}.imageContainer{position:relative;width:100%;overflow:hidden}.aspect{aspect-ratio:4/3}@media (min-width:640px){.aspect{aspect-ratio:1/1}}.productImage{object-fit:cover;transition:transform .3s}.productImage:hover{transform:scale(1.05)}.cartIconContainer{position:absolute;top:10px;right:10px;z-index:10;background-color:rgba(255,255,255,.9);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(-5px);transition:opacity .3s,transform .3s,background-color .2s,box-shadow .2s;box-shadow:0 2px 5px rgba(0,0,0,.1)}.cartIconContainer:hover{background-color:rgba(255,255,255,1);box-shadow:0 3px 6px rgba(0,0,0,.15);transform:translateY(-1px) scale(1.1)}.cartIconContainer:active{background-color:rgba(245,245,245,1);transform:scale(.9);box-shadow:0 1px 3px rgba(0,0,0,.1)}@media (min-width:768px){.card:hover .cartIconContainer{opacity:1;transform:translateY(0)}.card:hover .cartIconContainer:hover{transform:scale(1.1)}.card:hover .cartIconContainer:active{transform:scale(.9)}}@media (hover:hover){.card:hover .cartIconContainer{opacity:1;transform:translateY(0)}.card:hover .cartIconContainer:hover{transform:scale(1.1)}.card:hover .cartIconContainer:active{transform:scale(.9)}}.cartIconVisible{opacity:1;transform:translateY(0)}.cartIconVisible:hover{transform:scale(1.1)}.cartIconVisible:active{transform:scale(.9)}.playButtonContainer{position:absolute;bottom:10px;right:10px;z-index:10;background:linear-gradient(0deg,#4b5563,#6b7280);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:all .2s ease}.playButtonContainer:hover{background:linear-gradient(0deg,#374151,#4b5563)}.playButtonContainer:active{transform:scale(.7);box-shadow:0 1px 3px rgba(0,0,0,.3)}.playIcon{color:white}.details{padding:10px;flex:1;display:grid;grid-template-rows:1fr auto;gap:8px}.productInfo{display:flex;flex-direction:column;justify-content:flex-start}.stockInfo{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid #e5e7eb;min-height:24px}@media (min-width:640px){.details{padding:12px}}@media (min-width:768px){.details{padding:16px}}.productName{font-family:var(--font-dosis),sans-serif;font-weight:600;font-size:14px;line-height:20px;letter-spacing:.07em;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width:640px){.productName{font-size:14px;line-height:20px}}@media (min-width:768px){.productName{font-size:14px;line-height:20px}}.weight{font-family:var(--font-dosis),sans-serif;font-weight:400;font-size:13px;line-height:20px;letter-spacing:.05em;color:#4b5563;margin-bottom:.25rem}@media (min-width:640px){.weight{font-size:13px;line-height:20px}}.priceRow{display:flex;align-items:center;gap:.375rem;margin-top:.375rem}@media (min-width:640px){.priceRow{gap:.5rem;margin-top:.5rem}}.priceText{font-size:.75rem;line-height:1rem;font-weight:500;color:#000}@media (min-width:640px){.priceText{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.priceText{font-size:1rem;line-height:1.5rem}}.stockStatus{font-family:var(--font-dosis),sans-serif;font-size:.625rem;line-height:.875rem;font-weight:500;padding:4px 0 5px 1px;border-radius:4px;text-align:center;white-space:nowrap;letter-spacing:1px;transition:transform .2s ease}@keyframes pulseOutOfStock{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1)}75%{transform:scale(1.2)}to{transform:scale(1)}}.stockStatus.animate-out-of-stock{animation:pulseOutOfStock 1s ease-in-out forwards}@media (min-width:640px){.stockStatus{font-size:.75rem;line-height:1rem;padding:4px 0 5px 1px;letter-spacing:1px}}@media (min-width:768px){.stockStatus{padding:4px 0 5px 1px;letter-spacing:1px}}.stockQuantity{font-family:var(--font-dosis),sans-serif;font-size:.625rem;line-height:.875rem;color:#6b7280;font-weight:400;text-align:right;white-space:nowrap}@media (min-width:640px){.stockQuantity{font-size:.75rem;line-height:1rem}}