.pbly .product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--pbly-space-2-5);
}

/* Product photos sit on a light grey: a 4% black shade over the white photo background. */
.pbly .product-card__image {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--pbly-radius-lg);
}

.pbly .product-card__image::after {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--pbly-color-palette-black) 4%, transparent);
  content: "";
  pointer-events: none;
}

.pbly .product-card__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

/* Titles that wrap have 24px lines, as on faberpet.ro. */
.pbly .product-card__title {
  padding: var(--pbly-space-3) var(--pbly-space-8) 0 var(--pbly-space-1);
  font-size: var(--pbly-font-size-base);
  font-weight: var(--pbly-font-weight-semibold);
  line-height: var(--pbly-font-line-height-body);
}

.pbly .product-card__title a {
  text-decoration: none;
  transition: color 0.2s;
}

.pbly .product-card__title a:hover { color: var(--pbly-color-action-hover); }

.pbly .product-card__unit {
  padding: var(--pbly-space-1);
  color: var(--pbly-color-text-soft);
  font-size: var(--pbly-font-size-sm);
}

.pbly .product-card__price {
  padding: var(--pbly-space-2) var(--pbly-space-1) var(--pbly-space-5);
  font-size: var(--pbly-font-size-lg);
  font-weight: var(--pbly-font-weight-extrabold);
  line-height: 1;
}

.pbly .product-card__add {
  width: 100%;
  margin-top: auto;
  color: var(--pbly-color-palette-mint);
  font-size: var(--pbly-font-size-md);
  line-height: 1;
}

.pbly .product-card__add:hover:not(:disabled) { color: var(--pbly-color-palette-mint); }

/* Sold to partners only: "Pentru parteneri" in place of the price, and no button. */
.pbly .product-card__partners {
  padding: var(--pbly-space-2) var(--pbly-space-1) var(--pbly-space-4);
  font-size: var(--pbly-font-size-md-plus);
  font-weight: var(--pbly-font-weight-extrabold);
  line-height: 1;
}

.pbly .product-card__partners a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.pbly .product-card__partners a:hover { color: var(--pbly-color-action-hover); }

/* Out of stock: a note where the button would be. */
.pbly .product-card__stock {
  display: flex;
  align-items: center;
  min-height: var(--pbly-button-min-height);
  margin-top: auto;
  padding-inline: var(--pbly-space-1);
  color: var(--pbly-color-text-muted);
}

@media (max-width: 47.9375rem) {
  .pbly .product-card__title { padding-right: var(--pbly-space-1); }
}
