/* One copy rhythm for categories, products and search results. Images keep
   their category/product sizes; short copy must not float vertically. */
.catalog-main .subcategory-grid > .subcategory-card,
.catalog-main .subcategory-grid > .subcategory-card:has(.subcategory-card-path) {
  align-items: start;
  min-height: 158px;
  padding: 16px;
}

.catalog-main .subcategory-card > img {
  align-self: center;
}

.catalog-main .subcategory-grid > .subcategory-card:not(.subcategory-card-leaf) {
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 16px;
}

.catalog-main .subcategory-card:not(.subcategory-card-leaf) > img {
  width: 148px;
  height: 124px;
  padding: 6px;
  object-fit: contain;
}

.catalog-main .subcategory-card .subcategory-card-body {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 8px;
}

.catalog-main .subcategory-card .subcategory-card-body > strong {
  display: block;
  height: auto;
  margin: 0;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.catalog-main .subcategory-card .subcategory-card-body > span {
  margin: 0;
}

@media (max-width: 680px) {
  .catalog-main .subcategory-grid > .subcategory-card,
  .catalog-main .subcategory-grid > .subcategory-card:has(.subcategory-card-path) {
    min-height: 138px;
    padding: 12px;
  }

  .catalog-main .subcategory-grid > .subcategory-card:not(.subcategory-card-leaf) {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 12px;
  }

  .catalog-main .subcategory-card:not(.subcategory-card-leaf) > img {
    width: 120px;
    height: 112px;
    padding: 4px;
  }
}

@media (max-width: 380px) {
  .catalog-main .subcategory-grid > .subcategory-card:not(.subcategory-card-leaf) {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 10px;
  }

  .catalog-main .subcategory-card:not(.subcategory-card-leaf) > img {
    width: 108px;
    height: 108px;
  }
}
