@charset "UTF-8";
.preorder {
color: red;
}

.instock {
color: green;
}
/* Мобильная корзина QuickOrder */
@media screen and (max-width: 760px) {
  .quickorder-product { display: block !important; }
  .quickorder-product .quickorder-cell { display: block !important; text-align: center !important; width: 100% !important; }
  .quickorder-remove { width: 100% !important; text-align: center !important; }
  .quickorder-quantity-wrapper { width: 100% !important; text-align: center !important; }
}

/* CCK design fixes 2026-09-30, RU-витрина (тема free_cck_ru).
   ВАЖНО: этот файл подключается ПОСЛЕ site free.custom.css? — нет:
   каскад: site free.site.css -> site free.custom.css -> shop free.shop.css.
   Поэтому правила shop лежат ПОСЛЕ site-custom и побеждают при равном весе
   без !important. Все переопределения shop ниже — финальные, с !important
   для надежности против инлайн-настроек темы. */

/* 1. Hero-слайдер: убираем белую пустоту справа.
   Причина: .main-slider_item-content {width:100%} растягивал текст на всю ширину. */
.main-slider_item {
  align-items: center !important;
  gap: 2rem;
}
.main-slider_item-content {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0;
}
.main-slider_item-img {
  flex: 0 0 320px !important;
  max-width: 320px !important;
}
.main-slider_item-img img {
  width: 100%;
  height: auto;
}
@media (max-width: 760px) {
  .main-slider_item {
    flex-wrap: wrap;
    gap: 0.7rem;
  }
  .main-slider_item-img {
    flex: 0 0 120px !important;
    max-width: 120px !important;
  }
  /* Кнопка скрыта темой (display:none) на мобильных — показываем */
  .main-slider_item-btn {
    display: inline-flex !important;
  }
  .main-slider_item-cart {
    display: block !important;
  }
}

/* 2. Виджет обратного звонка (Binotel) перекрывал цены справа внизу. */
#bingc-phone-button {
  bottom: 170px !important;
}
#move-to-top,
.btn-top {
  bottom: 280px !important;
}
@media (max-width: 760px) {
  #bingc-phone-button {
    bottom: 150px !important;
    right: 12px !important;
  }
  #move-to-top,
  .btn-top {
    bottom: 250px !important;
    right: 12px !important;
  }
}

/* 3. Карточка: строгая сетка строк. Строка остатков видна всегда (резерв высоты),
   иначе карточки с/без остатков пляшут. Пустые звезды — невидимы, но место держат
   (visibility вместо display:none), кнопки не съезжают вверх. */
.Product-grid_stock-sku-box {
  min-height: 22px !important;
}
/* Обертка звезд: резервируем одну строку всегда.
   Разметка двух видов: <span class="rating"> и <a class="rating -zero"> + .rating__total. */
.Product-grid_content .rating,
.Product-grid_content .rating.-zero {
  min-height: 20px !important;
  display: inline-flex !important;
  align-items: center;
  margin: 2px 0 4px !important;
}
.Product-grid_content .rating.-zero {
  visibility: hidden !important;
}
.Product-grid_content .rating__total {
  display: inline-block !important;
  vertical-align: middle;
  margin: 2px 0 4px 4px !important;
}
/* Промо-сайдбар справа от слайдера: там тема прячет остатки/звезды/кнопки
   (.promo-product .rating {display:none} и т.д.). Наш резерв места под звезды
   туда пробивался через display:inline-flex !important — возвращаем как было. */
.promo-product .Product-grid_stock-sku-box {
  display: none !important;
  min-height: 0 !important;
}
.promo-product .Product-grid_content .rating,
.promo-product .Product-grid_content .rating.-zero {
  display: none !important;
  visibility: hidden !important;
  min-height: 0 !important;
  margin: 0 !important;
}
/* Остатки: компактная строка, не налезает на название (блок в потоке, перенос разрешен). */
.Product-grid_stock {
  max-width: 100%;
}
.Product-stock {
  white-space: normal !important;
}
.Product-stock_item {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* 4. Распродажа: черный нечитаемый стикер -> читаемый красный. */
.flexdiscount-badge .badge {
  background-color: #c0392b !important;
}
.flexdiscount-badge .badge span {
  color: #fff !important;
}

/* 5. Кнопки: фирменная зелень темы (#45a049 — как было).
   30.09.2026: терракот #B5542D откатили по решению владельца.
   "Купить/В корзину" — заливка, "Предзаказ" — контурная зеленая (вторичное действие). */
.Product-grid_cart .button.addtocart:not(.preorder-btn),
.main-slider_item-btn.addtocart {
  background: #45a049 !important;
  border: 1px solid #45a049 !important;
  color: #fff !important;
}
.Product-grid_cart .button.addtocart:not(.preorder-btn):hover,
.main-slider_item-btn.addtocart:hover {
  background: #3d8b41 !important;
  border-color: #3d8b41 !important;
  opacity: 1 !important;
}
.Product-grid_cart .button.preorder-btn {
  background: #fff !important;
  color: #45a049 !important;
  border: 1px solid #45a049 !important;
}

/* 6. Бренды: единый ряд логотипов по высоте. */
.homepage-brands_el img {
  max-height: 56px !important;
  width: auto !important;
  object-fit: contain;
}

/* 7. RU: заголовок брендов переведен в шаблоне home.brands*.block.html — костыль удален. */

/* 8. Категории: единый формат фото 1:1. */
.categories-el-image img,
.categories-el img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  width: 100%;
  height: auto;
}

/* 9. Воздух для премиум-ниши. */
.main-slider_item-desc,
.product__short-descr {
  line-height: 1.6;
}
/* Название: строгая высота 2.9rem вместо 2.7rem из темы.
   Причина 30.09.2026: line-height названия увеличен, текст в 2 строки
   перестал влезать в 2.7rem и налезал на строку остатков. */
.Product-grid_name {
  height: 2.9rem !important;
}
