/* ===== Основные параметры сетки ===== */
:root { --gap: 30px; }                 /* Отступ между карточками */

/* --- Контейнер блока ST300/305 --- */
.js-store-grid-cont{
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);                     /* gap не входит в flex-basis
                                          ⇒ нужно корректировать формулу */
  align-content: flex-start;           /* убираем разрывы между строками */
}

/* --- Карточка товара --- */
.t-store__card{
  flex: 0 0 calc((100% - var(--gap)*2)/3);   /* 3 колонки на десктопе */
  box-sizing: border-box;                    /* внутр. padding не ломает ширину */
  margin: 0 !important;                      /* глушим inline-margins Tilda */
}

/* --- Планшет ≤1024 px → 2 колонки --- */
@media (max-width: 1024px){
  .t-store__card{
    flex: 0 0 calc((100% - var(--gap))/2);
  }
}

/* --- Смартфон ≤640 px → 1 колонка --- */
@media (max-width: 640px){
  .t-store__card{
    flex: 0 0 100%;
  }
}

/* --- Скрываем товары c нулевым остатком + разделители --- */
.t-store__card[data-product-inv="0"],
.t-store__grid-separator{
  display: none !important;
}
