/* Заголовок товара на отдельной странице */
.t-store__prod-page .t-store__prod-title {
    font-size: 24px !important;
    line-height: 1.3;
}

/* Цена товара на отдельной странице */
.t-store__prod-page .t-store__prod-price {
    font-size: 20px !important;
}

/* Описание товара на отдельной странице */
.t-store__prod-page .t-store__prod-descr {
    font-size: 16px !important;
    line-height: 1.5;
}

/* Скрыть Производитель/Маркировка везде кроме страницы товара */
.js-store-prod-descr,
.js-store-prod-all-text {
    visibility: hidden !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

/* ---- Плитка каталога: положение не зависит от длины названия ---- */

/* 1. Заголовок всегда занимает ровно две строки */
.t-store__card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
}

/* 2. Карточка — колонка, текстовый блок растягивается,
      кнопка прижата к низу. Поэтому кнопки соседних товаров
      стоят вровень при любом тексте выше. */
.js-product.t-store__card {
    display: flex;
    flex-direction: column;
}
.t-store__card__wrap_txt-and-btns {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.t-store__card__btns-wrapper {
    margin-top: auto;
}

/* ---- Телефон: больше места фотографии ---- */
/* Фото 3:4, как у исходников — пропорцию не меняем, иначе обрежет кадр.
   Долю фото растим за счёт полей экрана и отступов вокруг текста. */
@media screen and (max-width: 640px) {
    /* поля экрана 15 → 8 px: плитка и фото шире */
    .t-store__grid-cont { padding-left: 8px !important; padding-right: 8px !important; }

    /* убираем воздух: 20 px над текстом, 20 перед кнопкой, 8 под ней */
    .t-store__card__wrap_txt-and-btns { padding-top: 0 !important; }
    .t-store__card__textwrapper { padding-top: 10px !important; padding-bottom: 2px !important; }
    .store__card__wrap_txt-and-opts,
    .t-store__card__wrap_txt-and-opts { margin-bottom: 10px !important; }
    .t-store__card__btns-wrapper .t-btn,
    .t-store__card__btns-wrapper .t-btnflex { margin-bottom: 0 !important; }

    /* текст компактнее */
    .t-store__card__title { font-size: 13px !important; line-height: 1.25 !important; min-height: 2.5em; }
    .t-store__card__price-wrapper, .t-store__card__price { font-size: 14px !important; }
    .t-store__card__sold-out-msg { font-size: 12px !important; }

    /* кнопка ниже, но не меньше 46 px — палец должен попадать */
    .t-store__card__btns-wrapper .t-btn,
    .t-store__card__btns-wrapper .t-btnflex {
        height: 46px !important;
        line-height: 46px !important;
        font-size: 13px !important;
    }

    /* меньше воздуха между рядами: сетка задаёт разрыв 60 px.
       column-gap трогать нельзя — ломает раскладку в две колонки. */
    .t-store__card-list { row-gap: 28px !important; }
    .t-store__card { margin-bottom: 0 !important; }
}
