/**
 * @file components/shop/style.css — 商品卡片等（按需，不进全局）
 */
.ns-product-card {
  background: var(--ns-color-bg-card);
  border-radius: var(--ns-radius);
  box-shadow: var(--ns-shadow-card);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}
.ns-product-card:hover { box-shadow: var(--ns-shadow-card-hover); }
html[data-ns-shop-card-hover="zoom"] .ns-product-card:hover img { transform: scale(1.04); }
html[data-ns-shop-card-hover="lift"] .ns-product-card:hover { transform: translateY(-4px); }
.ns-product-card__media { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--ns-color-bg); }
.ns-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.ns-product-card__badge {
  position: absolute; top: var(--ns-space-unit); left: var(--ns-space-unit);
  background: var(--ns-color-accent); color: #fff;
  font-size: var(--ns-font-size-sm); padding: 2px 8px; font-weight: var(--ns-font-weight-bold);
}
.ns-product-card__body { padding: calc(var(--ns-space-unit) * 1.5); }
.ns-product-card__title { font-size: var(--ns-font-size-sm); font-weight: var(--ns-font-weight-bold); }
.ns-product-card__price { margin-top: calc(var(--ns-space-unit) * 0.5); font-weight: var(--ns-font-weight-bold); }
.ns-product-grid {
  display: grid;
  gap: calc(var(--ns-space-unit) * 2);
  grid-template-columns: repeat(var(--ns-shop-cols-desktop), minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .ns-product-grid { grid-template-columns: repeat(var(--ns-shop-cols-tablet), minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .ns-product-grid { grid-template-columns: repeat(var(--ns-shop-cols-mobile), minmax(0, 1fr)); }
}
.ns-star-rating { color: var(--ns-color-warning); letter-spacing: 1px; font-size: var(--ns-font-size-sm); }
