.product-card {
  background: var(--color-bg-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.product-card:active {
  transform: scale(0.99);
}

.product-card-image {
  width: 100%;
  aspect-ratio: 1.55;
  object-fit: cover;
  background: var(--color-bg);
}

.product-card-body {
  padding: 10px var(--space-md) var(--space-md);
}

.product-card-title {
  font-size: var(--font-size-base);
  color: var(--color-text-title);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.9em;
}

.product-card-tags {
  margin-top: var(--space-xs);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.product-card-cps-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-top: 8px;
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}

.product-card-cps-meta span {
  min-width: 0;
  white-space: nowrap;
}

.product-card-bottom {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  margin-top: 10px;
  gap: var(--space-sm);
}

.product-card-bottom > div {
  min-width: 0;
}

.product-card-price {
  font-size: var(--font-size-xl);
  color: var(--color-price);
  font-weight: 800;
}

.product-card-price::before {
  content: '¥';
  font-size: var(--font-size-sm);
}

.product-card-origin-price {
  font-size: var(--font-size-xs);
  color: var(--color-price-original);
  text-decoration: line-through;
  margin-left: var(--space-xs);
}

.tag-platform {
  background: var(--color-bg-subtle);
  color: var(--color-text-secondary);
}

.tag-coupon {
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.tag-cps {
  background: rgba(22, 163, 74, 0.1);
  color: var(--color-success);
}

body.low-performance .product-card {
  box-shadow: none;
  transition: none;
}

body.low-performance .product-card:active {
  transform: none;
}
