.products-page {
  text-align: left;
}

.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: var(--space-5);
}

.products-page > .products-grid,
.products-page > .empty-state {
  max-width: var(--page-max);
  margin-right: auto;
  margin-left: auto;
}

.products--featured {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.products--featured > .product-link {
  min-width: min(100%, 14rem);
  max-width: 23rem;
  flex: 1 1 14rem;
}

.products--featured .product {
  border-color: var(--color-racing-blue);
  background: var(--color-white);
  box-shadow: var(--shadow-brand);
}

.products--featured .product:hover {
  box-shadow: var(--shadow-brand-hover);
}

.products--featured .product-title {
  color: var(--color-ink);
}

.product-link {
  color: inherit;
  text-decoration: none;
}

.product {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  padding: var(--space-4);
  text-align: left;
  transition: box-shadow var(--motion-fast), transform var(--motion-fast);
}

.product:hover {
  box-shadow: var(--shadow-brand-hover);
  transform: translateY(-0.25rem);
}

.product--inactive {
  opacity: 0.62;
}

.product--inactive:hover {
  transform: none;
}

.product img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  padding: var(--space-3);
  background: var(--color-paper);
  object-fit: contain;
}

.product-title {
  margin: var(--space-4) 0 var(--space-2);
  font-size: var(--text-xl);
}

.product-card-description {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 var(--space-3);
  color: var(--color-muted);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product p:last-child {
  margin: auto 0 0;
  color: var(--color-racing-red-dark);
  font-size: var(--text-lg);
  font-weight: 800;
}
