.goods-card { width: 100%; max-width: 560rpx; background: #fff; border-radius: 16rpx; overflow: hidden; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; } .goods-card.sold-out { opacity: 0.7; } .goods-image-area { position: relative; width: 100%; height: 280rpx; background: #f5f5f5; } .goods-image { width: 100%; height: 100%; display: block; object-fit: cover; } .goods-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #f0f0f0; color: #999; font-size: 24rpx; } .promo-tag { position: absolute; top: 0; left: 0; padding: 6rpx 12rpx; font-size: 20rpx; color: #fff; border-radius: 0 0 12rpx 0; z-index: 1; font-weight: 600; } .promo-tag.presale { background: linear-gradient(135deg, #ff6b00 0%, #ff8c00 100%); } .promo-tag.in-stock { background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%); } .promo-tag.sold-out { background: linear-gradient(135deg, #a92a2a 0%, #a6a6a6 100%); } .goods-info { padding: 16rpx; display: flex; flex-direction: column; gap: 8rpx; } .goods-title { font-size: 26rpx; color: #000000; line-height: 1.4; height: 72rpx; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-weight: 700; } .goods-spec { font-size: 22rpx; color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .goods-tags { display: flex; flex-wrap: nowrap; align-items: center; gap: 8rpx; margin: 6rpx 0; } .tag { font-size: 20rpx; padding: 4rpx 10rpx; border-radius: 6rpx; } .tag.source-third { background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%); color: #fff; } .tag.source-platform { background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%); color: #fff; } .tag.source-unverified { background: rgba(0, 0, 0, 0.08); color: #666; } .tag.stock { background: rgba(255, 77, 79, 0.08); color: #666; } .goods-bottom { display: flex; align-items: baseline; justify-content: space-between; margin-top: 6rpx; } .goods-price { display: flex; align-items: baseline; } .price-unit { font-size: 24rpx; color: #ff4d4f; font-weight: 700; } .price-value { font-size: 36rpx; color: #ff4d4f; font-weight: 800; margin: 0 2rpx; } .goods-region { font-size: 20rpx; color: #999; max-width: 100rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }