/* Cards-page styles: heading and catalog spacing above the shared product grid. */
.cards-page { min-height: 55vh; }
.cards-intro { padding: 42px 0 24px; }
.cards-intro h1 { margin: 10px 0; font-size: clamp(32px, 5vw, 48px); line-height: 1.1; letter-spacing: -1.8px; }
.cards-intro h1 em { color: var(--lime); font-style: normal; }
.cards-intro > p:last-child { max-width: 700px; margin: 0; color: var(--muted); }
.product-grid-catalog { padding: 12px 0 20px; }
.product-grid-catalog .product-details { min-height: 178px; }
.product-grid-catalog .product-artwork img { aspect-ratio: 234 / 338; }
.cards-page .notice { margin-bottom: 40px; }

/* Catalog columns reduce from five to two, then one on narrow phones. */
@media (max-width: 950px) {
  .product-grid-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .cards-intro { padding: 34px 0 20px; }
  .product-grid-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-grid-catalog .product-details { min-height: 190px; }
  .product-grid-catalog .product-details h3 { font-size: 14px; }
}
@media (max-width: 390px) {
  .product-grid-catalog { grid-template-columns: 1fr; }
}
