/* css/catalog.css
   Только листинг товаров: сетка, карточка товара в списке, сортировка.
*/

/* ---------- Catalog head ---------- */
.catalog-head{
  display:flex;flex-wrap:wrap;gap:16px;
  align-items:center;justify-content:space-between;
  margin-bottom:20px;
}
.catalog-head__title{margin:0;font-size:26px;font-weight:800}
.catalog-head__count{color:var(--c-muted);font-size:14px}

.catalog-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--c-muted)}
.catalog-sort select{
  padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--radius);
  background:#fff;outline:none;font-size:14px;color:var(--c-text);
}
.catalog-sort select:focus{border-color:var(--c-primary)}

/* ---------- Product grid ---------- */
.product__list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:20px;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
}

/* Карточка товара (в списке). В PHP-рендере используется класс product__item.
   Селектор .product__item покрывает и .product__item, и .product__item--card. */
.product__item{
  display:flex;flex-direction:column;height:100%;
  padding:18px;background:#fff;border:1px solid var(--c-border);
  border-radius:var(--radius);
  transition:box-shadow .15s,transform .15s;
  cursor:pointer;position:relative;
  list-style:none;
}
.product__item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}

.product__image-link{
  display:flex;align-items:center;justify-content:center;
  height:200px;margin-bottom:14px;
}
.product__image{max-height:100%;width:auto;object-fit:contain}
.product__link{display:block;margin-bottom:8px;min-height:40px}
.product__title{font-size:14px;font-weight:500;color:var(--c-text);line-height:1.35}

.product__cost{
  display:block;margin-top:auto;
  font-size:18px;font-weight:700;color:var(--c-text);
  margin-bottom:12px;
}
.product__cost .product__currency{
  font-size:14px;font-weight:600;color:var(--c-muted);margin-left:2px;
}

.product__footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Счётчик +/- (в списке товаров) */
.num-block{display:inline-flex}
.num-in{
  display:inline-flex;align-items:center;
  border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;
}
.minus,.plus{
  width:32px;height:32px;display:grid;place-items:center;
  cursor:pointer;user-select:none;
  background:#f9fafb;color:var(--c-text);
  font-size:18px;font-weight:700;line-height:1;
  border:0;
}
.minus:hover,.plus:hover{background:#eef2f7}
.minus.dis{opacity:.4;pointer-events:none;cursor:default}
.in-num{
  width:40px;height:32px;text-align:center;border:0;background:#fff;
  font-weight:600;
}

.product__cart{
  flex:1;min-width:120px;text-align:center;
  padding:8px 14px;border-radius:var(--radius);
  background:var(--c-primary);color:#fff;font-weight:600;font-size:14px;
  transition:filter .15s;
}
.product__cart:hover{filter:brightness(1.08)}

.btn-go-cart{
  display:none;align-items:center;justify-content:center;
  width:100%;height:36px;margin-top:15px;
  background:var(--c-success);color:#fff;border-radius:var(--radius);
  font-size:12px;font-weight:600;
}

.product__more{
  position:absolute;top:12px;right:12px;
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 8px;background:#fff;border:1px solid var(--c-border);
  border-radius:999px;font-size:12px;color:var(--c-muted);
  opacity:0;transition:opacity .15s;
}
.product__item:hover .product__more{opacity:1}
.product__more .feather{width:14px;height:14px}

/* Бейджи «Хит / Новинка / Скидка» (можно использовать на главной и в каталоге) */
.product__badge{
  position:absolute;top:12px;left:12px;z-index:2;
  padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
  background:#fee2e2;color:#b91c1c;
}
.product__badge--new{background:#e0f2fe;color:#0369a1}
.product__badge--sale{background:#dcfce7;color:#15803d}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .breadcrumb{
    flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0;
  }
  .breadcrumb__item{flex:0 0 auto;min-width:0}
  .breadcrumb__item.active{
    flex:1 1 auto;min-width:0;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .breadcrumb__item + .breadcrumb__item::before{flex:0 0 auto}
}
@media (max-width:414px){
  .product__list{grid-template-columns:1fr}
  .product__item{padding:16px}
}