.product-card{color:inherit;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.product-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 25px #3b82f61a}.product-card-image{aspect-ratio:1;background:var(--bg-secondary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.product-card-img{object-fit:contain;width:75%;height:75%;transition:transform var(--transition-base), opacity .4s ease}.product-card-img.img-hidden{opacity:0}.product-card-img.img-visible{opacity:1}.product-card:hover .product-card-img{transform:scale(1.05)}.product-card-img-loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.img-load-spinner{border:3px solid #3b82f61f;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite imgSpin}@keyframes imgSpin{to{transform:rotate(360deg)}}.product-card-img-placeholder{color:var(--text-muted)}.product-card-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;font-size:.7rem;font-weight:600;position:absolute;top:12px;right:12px}.product-card-badge.in-stock{color:var(--success);background:#22c55e1a}.product-card-badge.out-of-stock{color:var(--error);background:#ef44441a}.product-card-body{flex-direction:column;flex:1;gap:.35rem;padding:1.25rem;display:flex}.product-card-category{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.product-card-name{color:var(--text-primary);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.product-card-cas{color:var(--accent);background:var(--accent-muted);border-radius:var(--radius-full);letter-spacing:.02em;padding:2px 8px;font-family:monospace;font-size:.75rem;font-weight:600;display:inline-block}.product-card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.75rem;display:flex}.product-card-price{align-items:baseline;gap:.35rem;display:flex}.price-from{color:var(--text-muted);font-size:.78rem}.price-amount{color:var(--text-primary);font-size:1.25rem;font-weight:800}.product-card-cta{color:var(--accent);transition:all var(--transition-fast);font-size:.82rem;font-weight:600}.product-card:hover .product-card-cta{color:var(--accent-hover)}
