/* Three-column category cards with responsive, equal-height content. */
.catalog-products--cards {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.catalog-product--card {
  padding:clamp(16px,1.2vw,22px);
  gap:16px;
}
.catalog-product--card .catalog-product-media {
  height:clamp(180px,16vw,220px);
  padding:8px;
}
.catalog-product--card .catalog-product-copy {
  flex:1;
  width:100%;
}
.catalog-product--card .catalog-product-copy h3 {
  width:100%;
  text-align:center;
  font-size:clamp(18px,1.25vw,21px);
  line-height:1.35;
  margin-bottom:12px;
}
.catalog-product--card .catalog-product-copy>p {
  font-size:14px;
  line-height:1.65;
  margin-bottom:18px;
}
.catalog-product--card .catalog-product-actions {
  width:100%;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:space-between;
  align-items:stretch;
  gap:8px;
  margin-top:auto;
}
.catalog-product--card .catalog-product-actions .button {
  flex:0 1 auto;
  max-width:calc(50% - 4px);
  min-width:0;
  padding:10px;
  font-size:13px;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(min-width:1101px) and (max-width:1399px) {
  .catalog-layout { grid-template-columns:280px minmax(0,1fr); gap:24px; }
}
@media(max-width:1100px) {
  .catalog-products--cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .catalog-products--cards { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:782px) {
  .catalog-product--card { padding:20px; }
  .catalog-product--card .catalog-product-media { height:220px; }
  .catalog-product--card .catalog-product-copy h3 { font-size:20px; }
  .catalog-product--card .catalog-product-actions { flex-direction:column; gap:10px; }
  .catalog-product--card .catalog-product-actions .button {
    width:100%;
    max-width:none;
    font-size:14px;
  }
}
