.ProductSkeleton{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ProductSkeletonVisual{aspect-ratio:1/.86;border-radius:0}.ProductSkeletonBody{display:flex;flex-direction:column;gap:10px;padding:16px}.ProductSkeletonLine{height:16px}.ProductSkeletonLine.IsShort{height:12px;width:40%}.ProductSkeletonLine.IsPrice{height:22px;margin-top:8px;width:55%}.ProductCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.ProductCard:hover{border-color:transparent;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ProductCardLink{display:flex;flex:1;flex-direction:column}.ProductVisual.HasImage{border-bottom:1px solid var(--line)}.ProductCard:hover .ProductImageImg{transform:scale(1.04)}.ProductVisual.HasImage .ProductCode{background:var(--bg)}.ProductCode{background:#ffffffb3;border-radius:6px;bottom:10px;color:var(--ink-2);font-size:11px;font-weight:600;left:12px;letter-spacing:.02em;padding:3px 8px;position:absolute}.ProductBadges{display:flex;gap:4px;left:12px;position:absolute;top:12px}.ProductBadge{border-radius:999px;color:#fff;font-size:12px;font-weight:800;padding:4px 10px}.ProductBadge.IsFeatured{background:var(--accent)}.ProductSoldOut{background:#fff9;color:var(--ink-2);display:grid;font-size:18px;font-weight:800;inset:0;letter-spacing:.1em;place-items:center;position:absolute}.ProductBadge.IsSale{background:var(--brand)}.ProductBadge.IsRental{background:#4338ca}.ProductBody{display:flex;flex:1;flex-direction:column;padding:14px 16px 18px}.ProductCategory{color:var(--muted);font-size:13px;font-weight:600;margin:0 0 4px}.ProductName{display:-webkit-box;font-size:16px;font-weight:700;-webkit-line-clamp:2;line-height:1.4;margin:0;overflow:hidden;-webkit-box-orient:vertical;min-height:2.8em}.ProductPrice{margin-top:auto;padding-top:12px}.ListPrice{color:#94a3b8;font-size:13px;margin:0;text-decoration:line-through}.PayLine{align-items:baseline;display:flex;gap:6px;margin:2px 0 0}.RateChip{align-self:center;background:var(--accent-soft);border-radius:6px;color:var(--accent);font-size:13px;font-weight:800;padding:2px 7px}.PayPrice{font-size:21px;font-weight:800;letter-spacing:-.02em}.PayPrice small{font-size:15px;font-weight:700;margin-left:1px}.PayPrice.IsInquiry{color:var(--muted);font-size:17px}.PerMonth{color:var(--muted);font-size:14px}.WishButton{background:#ffffffd9;border:0;border-radius:50%;box-shadow:var(--shadow-sm);color:var(--ink-2);display:grid;height:40px;place-items:center;position:absolute;right:10px;top:10px;transition:transform .2s var(--ease),color .2s,background .2s;width:40px}.WishButton:hover{transform:scale(1.08)}.WishButton.IsOn{animation:WishPop .4s var(--ease);color:var(--danger)}.WishButton.IsOn svg{fill:currentColor}.PriceSwap-enter-active,.PriceSwap-leave-active{transition:opacity .18s,transform .18s var(--ease)}.PriceSwap-enter-from{opacity:0;transform:translateY(6px)}.PriceSwap-leave-to{opacity:0;transform:translateY(-6px)}@media(max-width:768px){.ProductBody{padding:12px 12px 14px}.ProductName{font-size:15px}.PayPrice{font-size:18px}.WishButton{height:36px;width:36px}}
