/* ═══════════════════════════════════════
   PRODUCT CARD
═══════════════════════════════════════ */
.product-card {
  background: rgba(151, 153, 155, 0.2);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.product-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.product-card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.product-card a:hover {
  text-decoration: none;
}

/* Image area */
.product-card__image {
  aspect-ratio: 1 / 1;
  background: transparent;
  overflow: hidden;
  padding: 15%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 0.3s ease;
}

.product-card:hover .product-card__image img {
  transform: scale(1.03);
}

/* Info area */
.product-card__info {
  background: #ffffff;
  margin: auto 16px 16px 16px;
  padding: 14px 16px;
  border-radius: 8px;
  display: grid;
  direction: ltr;
  /* Force physical left/right */
  text-align: left;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "category price"
    "name price"
    "description price";
  align-items: center;
  gap: 2px 12px;
}

.product-card__category {
  grid-area: category;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--heet-color-secondary);
}

.product-card__name {
  grid-area: name;
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
  color: var(--heet-color-primary);
  line-height: 1.2;
}

.product-card__description {
  grid-area: description;
  font-size: 0.875rem;
  font-weight: 500;
  margin: 0;
  color: var(--heet-color-primary);
  line-height: 1.2;
}

.product-card__price-wrap {
  grid-area: price;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.product-card__price {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--heet-color-primary);
}

/* ═══════════════════════════════════════
   PRODUCT GRID — 3 columns
═══════════════════════════════════════ */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

/* Responsive */
@media (max-width: 768px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .product-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}