.product-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-normal);isolation:isolate;cursor:pointer;border:1px solid var(--color-border-subtle);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-4px)}.product-card.out-of-stock{opacity:.7;filter:grayscale(.3)}.product-card:active{transform:scale(.98)}.product-card.added-to-cart{border-color:var(--color-success);animation:.6s ease-out pulseAdd}.product-image{background:linear-gradient(135deg,var(--palette-gray-100)0%,var(--color-border-subtle)100%);flex-shrink:0;width:100%;padding-bottom:100%;position:relative;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow);position:absolute;top:0;left:0}.product-card:hover .product-image img{transform:scale(1.05)}.image-placeholder{background:linear-gradient(135deg,var(--palette-gray-100)0%,var(--palette-gray-300)100%);width:100%;height:100%;position:absolute;top:0;left:0}.product-image-dimmed{filter:brightness(.9)}.discount-badge{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-hover)100%);color:#fff;border-radius:var(--radius-md);width:fit-content;font-size:var(--text-sm);font-weight:var(--font-bold);z-index:1;box-shadow:var(--shadow-md);letter-spacing:.5px;align-items:center;gap:4px;padding:6px 10px;animation:.3s ease-out slideIn;display:flex;position:absolute;top:12px;left:12px}.discount-badge svg{stroke-width:2.5px}.discount-badge.high-discount{background:linear-gradient(135deg,var(--color-error)0%,var(--palette-red-600)100%);animation:1.5s ease-in-out infinite pulse}.out-of-stock-overlay{z-index:1;background:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.out-of-stock-badge{background:var(--color-error);color:#fff;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold);transform:rotate(-5deg)}.product-info{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.product-info h3{font-size:clamp(.875rem,3vw,1rem);font-weight:var(--font-semibold);color:var(--color-text-main);-webkit-line-clamp:2;line-clamp:2;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.product-description{color:var(--color-text-subtle);-webkit-line-clamp:3;line-clamp:3;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;flex:1;margin:0;font-size:clamp(.75rem,2.5vw,.875rem);line-height:1.4;display:-webkit-box;overflow:hidden}.low-stock-indicator{color:var(--color-warning);font-size:clamp(.625rem,2vw,.75rem);font-weight:var(--font-medium);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);align-items:center;gap:var(--space-1);background:#f59e0b1a;align-self:flex-start;display:inline-flex}.low-stock-indicator:before{content:"⚠";font-size:.875em}.product-footer{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;margin-top:auto;display:flex}.price-container{flex-direction:column;flex:1;align-items:flex-start;min-width:min-content;display:flex}.original-price{color:var(--color-text-muted);font-size:clamp(.75rem,2.5vw,.875rem);font-weight:var(--font-normal);opacity:.8;margin-bottom:2px;text-decoration:line-through}.product-price{font-size:clamp(1rem,4vw,1.25rem);font-weight:var(--font-bold);color:var(--color-primary);white-space:nowrap;flex:1;min-width:min-content}.product-card.has-discount .product-price{color:var(--color-primary);font-weight:var(--font-bold)}.product-price.text-muted{color:var(--color-text-muted)!important}.add-to-cart-btn{padding:var(--space-2)var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-2);border:none;flex-shrink:0;min-width:120px;min-height:44px;font-size:clamp(.75rem,3vw,.875rem);display:inline-flex}.add-to-cart-btn:hover:not(.btn-disabled):not(.btn-adding):not(.btn-success){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.add-to-cart-btn:active:not(.btn-disabled):not(.btn-adding):not(.btn-success){transform:scale(.95)}.add-to-cart-btn.btn-disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none!important}.add-to-cart-btn.btn-adding{background:var(--color-primary-light);color:var(--color-primary);border:2px solid var(--color-primary);position:relative;overflow:hidden}.add-to-cart-btn.btn-adding:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:-100%}.add-to-cart-btn.btn-success{animation:.4s ease-out buttonSuccess;background:var(--color-success)!important}.add-to-cart-btn.btn-success .icon-check{animation:.3s ease-out checkMark}.icon-cart,.icon-check{vertical-align:middle;width:16px;height:16px;margin-right:6px}.spinner{border:2px solid var(--color-primary);vertical-align:middle;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:1s linear infinite spin;display:inline-block}.success-overlay{z-index:2;background:#10b981e6;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:absolute;inset:0}.success-badge{align-items:center;gap:var(--space-2);color:#fff;text-align:center;flex-direction:column;animation:.4s ease-out slideUp;display:flex}.success-badge svg{stroke-width:3px;width:24px;height:24px}.success-badge span{font-size:var(--text-sm);font-weight:var(--font-semibold);animation:.5s ease-out .2s both fadeIn}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{box-shadow:var(--shadow-md);transform:scale(1)}50%{box-shadow:0 0 0 4px #dc262633,var(--shadow-md);transform:scale(1.05)}}@keyframes pulseAdd{0%{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 3px var(--color-primary-light),var(--shadow-lg)}to{box-shadow:var(--shadow-sm)}}@keyframes buttonSuccess{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes checkMark{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{to{left:100%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:360px){.product-card{border-radius:var(--radius-md)}.product-info{padding:var(--space-2);gap:var(--space-1)}.product-footer{padding-top:var(--space-2);gap:var(--space-2);flex-direction:column;align-items:stretch}.product-price{text-align:center;font-size:1.125rem}.add-to-cart-btn{min-width:100%;padding:var(--space-2);font-size:.875rem}.out-of-stock-badge{font-size:var(--text-xs);padding:2px 6px}.low-stock-indicator{padding:2px 6px;font-size:.625rem}.discount-badge{font-size:var(--text-xs);padding:4px 8px;top:8px;left:8px}.discount-badge svg{width:12px;height:12px}}@media (min-width:360px) and (max-width:480px){.product-info{padding:var(--space-2)}.product-card{top:-15px}.product-footer{gap:var(--space-2)}.add-to-cart-btn{min-width:100px;padding:10px 12px}.product-image{padding-bottom:90%}.success-badge{gap:var(--space-1)}.success-badge svg{width:20px;height:20px}.success-badge span{font-size:var(--text-xs)}.icon-cart,.icon-check{width:14px;height:14px;margin-right:4px}}@media (min-width:481px) and (max-width:768px){.product-image{padding-bottom:85%}.product-info{padding:var(--space-4)}.product-footer{flex-wrap:nowrap}.add-to-cart-btn{min-width:110px}}@media (min-width:769px){.product-image{padding-bottom:75%}.product-card:hover .product-image img{transform:scale(1.05)}}@media (min-width:1025px){.product-info{padding:var(--space-6)}.product-info h3{font-size:var(--text-lg)}.product-description{font-size:var(--text-sm)}.product-price{font-size:var(--text-xl)}.add-to-cart-btn{font-size:var(--text-base);min-width:130px}}@media (max-height:600px) and (orientation:landscape){.product-card{flex-direction:row;min-height:120px}.product-image{flex-shrink:0;width:120px;padding-bottom:0}.product-image img{height:120px;position:relative}.product-info{padding:var(--space-2)}.product-footer{padding-top:var(--space-2);margin-top:var(--space-1)}.product-info h3{-webkit-line-clamp:1}.product-description{display:none}}@media (hover:none) and (pointer:coarse){.product-card:hover{box-shadow:var(--shadow-sm);transform:none}.add-to-cart-btn:hover{transform:none}.product-card:active{transform:scale(.98)}.add-to-cart-btn:active{transform:scale(.95)}.product-card{min-height:44px}.add-to-cart-btn{min-width:44px;min-height:44px}}@media (prefers-contrast:high){.product-card{border:2px solid var(--color-border-default)}.product-footer{border-top-width:2px}.out-of-stock-overlay{background:#000c}}@media (prefers-reduced-motion:reduce){.product-card,.product-card:hover,.product-card:hover .product-image img,.add-to-cart-btn,.add-to-cart-btn:hover,.add-to-cart-btn:active,.product-card:active,.discount-badge,.discount-badge.high-discount,.success-overlay,.success-badge,.spinner{transition:none;animation:none;transform:none}.add-to-cart-btn.btn-adding:after{display:none}.discount-badge.high-discount:hover{transform:none}}@media (prefers-color-scheme:dark){.product-card{background:var(--color-bg-card);border-color:var(--color-border-subtle)}.out-of-stock-overlay{background:#000000b3}.image-placeholder{background:linear-gradient(135deg,var(--palette-gray-700)0%,var(--palette-gray-600)100%)}.original-price{color:var(--color-text-subtle);opacity:.9}.discount-badge{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-hover)100%);box-shadow:0 2px 8px #0000004d}.discount-badge.high-discount{background:linear-gradient(135deg,var(--color-error)0%,var(--palette-red-600)100%)}.product-card.has-discount .product-price{color:var(--color-primary)}.low-stock-indicator{background:#f59e0b33}}
