/* ============================================================
   Карточки: категории каталога и товары
   ============================================================ */

/* Плейсхолдер изображения (пока нет реальных картинок) */
.ph-img {
  background:
    linear-gradient(135deg, #fafbfc 0%, #eef1f4 100%);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-border-strong);
}
.ph-img svg { width: 38%; height: 38%; opacity: .5; }

/* --- Сетка категорий каталога --- */
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-6) var(--sp-5);
}
.cat-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-3); }
.cat-card:hover { text-decoration: none; }
.cat-card__img { width: 100%; aspect-ratio: 1 / 1; }
.cat-card__title { font-size: var(--fz-13); color: var(--c-text); line-height: 1.35; }
.cat-card:hover .cat-card__title { color: var(--c-link); }

/* --- Карточка товара (для будущих листингов) --- */
.product-card {
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--r-md); padding: var(--sp-4);
  display: flex; flex-direction: column; gap: var(--sp-3);
}
.product-card__img { aspect-ratio: 1 / 1; }
.product-card__vendor { font-size: var(--fz-12); color: var(--c-muted); }
.product-card__title { font-size: var(--fz-14); font-weight: var(--fw-medium); color: var(--c-text); }
.product-card__row { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.product-card__price { font-size: var(--fz-18); font-weight: var(--fw-bold); }

/* --- Степпер количества (quantity / number) --- */
.qty { display: inline-flex; align-items: center; border: 1px solid var(--c-border); border-radius: var(--r-sm); overflow: hidden; }
.qty__btn { width: 36px; height: 40px; background: var(--c-field-bg); border: none; color: var(--c-text-2); font-size: 18px; }
.qty__btn:hover { background: #eef1f4; }
.qty__input { width: 48px; height: 40px; border: none; border-left: 1px solid var(--c-border); border-right: 1px solid var(--c-border); text-align: center; }

/* --- Адаптив сетки каталога --- */
@media (max-width: 1280px) { .catalog-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .catalog-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { .catalog-grid { grid-template-columns: repeat(2, 1fr); } }
