.product-grid {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
}

.product-card {
  display: flex;
  flex-direction: column;
  flex: 0 1 20%;
  min-width: 0;
  background: var(--color-surface);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  transition: background var(--transition-fast);
}

.product-card:hover {
  background: var(--color-forest-100);
}

.product-card__image {
  display: block;
  aspect-ratio: 1 / 1;
  padding: var(--space-5);
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-card__body {
  display: flex;
  flex-direction: column;
  padding: 0 var(--space-4) var(--space-5);
}

.product-card__brand {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

.product-card__name {
  margin-top: var(--space-1);
  font-weight: 700;
  text-transform: uppercase;
  font-size: var(--fs-sm);
  letter-spacing: 0.01em;
  color: var(--color-forest-900);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(var(--fs-sm) * 1.3 * 2);
}

.product-card__price {
  margin-top: var(--space-3);
  font-weight: 700;
  font-size: var(--fs-md);
  color: var(--color-forest-900);
}

@media (max-width: 1180px) {
  .product-card { flex-basis: 25%; }
}
@media (max-width: 900px) {
  .product-card { flex-basis: 33.333%; }
}
@media (max-width: 640px) {
  .product-card { flex-basis: 50%; }
}
