/**
 * B2BRICS: страница товара (products.view)
 * — max-width контента;
 * — фон страницы #f3f3f3 (как сетка каталога), без белых «пятен» у блока звёзд;
 * — скругление области главного изображения как у карточек (UniTheme --border-radius-box).
 */

/* ---------- Фон страницы (контентная зона) ---------- */
body.b2b-pdp-page {
  background-color: #f3f3f3 !important;
}

.tygh-content:has(.ut2-pb.ty-product-detail) {
  background-color: #f3f3f3 !important;
}

/* ---------- Блок звёзд / отзывов: у темы .ut2-pb__top-ss > div { background: белый } ---------- */
body.b2b-pdp-page .ut2-pb__top-ss > div,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__top-ss > div {
  background-color: #f3f3f3 !important;
}

body.b2b-pdp-page .ut2-pb__rating,
body.b2b-pdp-page .ut2-pb__rating .ty-product-review-product-rating-overview-short,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__rating {
  background-color: transparent !important;
}

/* Макет default: полоска под шапкой блока справа */
body.b2b-pdp-page .ut2-pb__right .top-product-layer,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__right .top-product-layer {
  background: #f3f3f3 !important;
}

/* ---------- Ограничение ширины (десктоп) ---------- */
@media (min-width: 1024px) {
  body.b2b-pdp-page .tygh-content > .container-fluid,
  body.b2b-pdp-page .tygh-content .container-fluid:first-of-type {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }

  .tygh-content:has(.ut2-pb.ty-product-detail) > .container-fluid,
  .tygh-content:has(.ut2-pb.ty-product-detail) .container-fluid:first-of-type {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
}

/* ---------- Главное изображение: скругление как у карточек ---------- */
body.b2b-pdp-page .ut2-pb__img-wrapper .ut2-pb__img,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__img-wrapper .ut2-pb__img {
  border-radius: var(--border-radius-box, 12px);
  overflow: hidden;
}

body.b2b-pdp-page .ut2-pb__img-wrapper .ty-previewer,
body.b2b-pdp-page .ut2-pb__img-wrapper .ty-image-zoom__wrapper,
body.b2b-pdp-page .ut2-pb__img-wrapper .cm-image-gallery,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__img-wrapper .ty-previewer {
  border-radius: var(--border-radius-box, 12px);
}

body.b2b-pdp-page .ut2-pb__img-wrapper .ty-product-img img,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-pb__img-wrapper .ty-product-img img {
  border-radius: var(--border-radius-box, 12px);
}

/* Карусель: обрезка по скруглению */
body.b2b-pdp-page .ut2-pb__img-wrapper .owl-item .ty-previewer,
body.b2b-pdp-page .ut2-pb__img-wrapper .owl-item img {
  border-radius: var(--border-radius-box, 12px);
}

/* ---------- Характеристики (короткий список): в теме em { background: белый } поверх пунктира ---------- */
body.b2b-pdp-page .ut2-pb .ty-features-list .ty-control-group em,
body.b2b-pdp-page .ut2-pb .ty-features-list .ty-control-group span em,
.tygh-content:has(.ut2-pb.ty-product-detail) .ty-features-list .ty-control-group em {
  background-color: #f3f3f3 !important;
}

/* ---------- Панель поставщика: как блок с ценой (#fff + тень), логотип с тонкой рамкой ---------- */
body.b2b-pdp-page .ut2-vendor-block,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-vendor-block {
  background-color: #ffffff !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  border-radius: var(--border-radius-box, 12px);
  border-color: #e8e8e8 !important;
}

/* Обёртка логотипа без рамки — рамка только на img */
body.b2b-pdp-page .ut2-vendor-block__logo,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-vendor-block__logo {
  border: none;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

body.b2b-pdp-page .ut2-vendor-block__logo img,
body.b2b-pdp-page .ut2-vendor-block__logo .ty-pict,
.tygh-content:has(.ut2-pb.ty-product-detail) .ut2-vendor-block__logo img {
  border: 1px solid #e2e2e2;
  border-radius: var(--border-radius-box, 8px);
  display: block;
  box-sizing: border-box;
}

/* ---------- Вкладки / описание / mainbox: скругление как у карточек ---------- */
body.b2b-pdp-page .tygh-content .fill--white,
.tygh-content:has(.ut2-pb.ty-product-detail) .fill--white {
  border-radius: var(--border-radius-box, 12px);
  overflow: hidden;
}

body.b2b-pdp-page .ut2-pb__tabs .ty-wysiwyg-content,
body.b2b-pdp-page .ut2-pb__tabs-wrapper .ty-wysiwyg-content {
  border-radius: var(--border-radius-box, 12px);
  overflow: hidden;
}

body.b2b-pdp-page .tygh-content .ty-mainbox-container,
.tygh-content:has(.ut2-pb.ty-product-detail) .ty-mainbox-container {
  border-radius: var(--border-radius-box, 12px);
  overflow: hidden;
}

/*
 * В теме (grid.less) у .ty-mainbox-body только нижние углы; у блока «Features» белый фон
 * часто на .tab-list-title + div (styles.less), не на mainbox — скругляем этот div целиком.
 */
body.b2b-pdp-page .ut2-pb__tabs .tab-list-title + div,
body.b2b-pdp-page .ut2-pb__tabs-wrapper .tab-list-title + div {
  border-radius: var(--border-radius-box, 12px);
  overflow: hidden;
}

/* Если нет заголовка вкладки: один mainbox-body без title — полное скругление, не только снизу */
@media (min-width: 768px) {
  body.b2b-pdp-page .tygh-content [class^="ty-mainbox"] > div[class*="-body"]:first-child,
  .tygh-content:has(.ut2-pb.ty-product-detail) [class^="ty-mainbox"] > div[class*="-body"]:first-child {
    border-radius: var(--border-radius-box, 12px) !important;
  }
}

/*
 * ecl_spec_dev: блок мессенджеров — единые правила везде (карточка товара, сетка каталога, списки).
 */
.tygh-content:has(.ut2-pb.ty-product-detail) .ecl-messages-company-for-product__blocks-product_val,
body.b2b-pdp-page .ecl-messages-company-for-product__blocks-product_val {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.tygh-content:has(.ut2-pb.ty-product-detail) .ecl-messages-company-for-product__blocks-product_val-title,
body.b2b-pdp-page .ecl-messages-company-for-product__blocks-product_val-title {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
}

/*
 * Размеры иконок: шаблон add_to_cart.tpl + addons/ecl_spec_dev/styles.less (.ecl-messenger-icon).
 * Дублируем здесь до пересборки LESS, чтобы тема не перебивала max-width у img в сетке.
 */
.ecl-messages-company-for-product .ecl-messenger-icon--telegram {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
}
.ecl-messages-company-for-product .ecl-messenger-icon--whatsapp,
.ecl-messages-company-for-product .ecl-messenger-icon--wechat,
.ecl-messages-company-for-product .ecl-messenger-icon--viber,
.ecl-messages-company-for-product .ecl-messenger-icon--vk,
.ecl-messages-company-for-product .ecl-messenger-icon--line,
.ecl-messages-company-for-product .ecl-messenger-icon--zalo {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
}
.ecl-messages-company-for-product .ecl-messenger-icon {
  object-fit: contain;
  display: block;
  box-sizing: border-box;
}

/* Ряд мессенджеров: общий слот иконки 48px в LESS (.cm-ecl-message-product), ряд выравниваем по верху */
.ecl-messages-company-for-product__blocks,
.ecl-messages-company-for-product__blocks-options,
.ecl-messages-company-for-product__blocks-product_val-message {
  align-items: flex-start !important;
}

.ecl-messages-company-for-product .cm-ecl-message-product,
.ecl-messages-company-for-product .ecl-messages-company-for-product__block-url,
.ecl-messages-company-for-product .ecl-messages-company-for-product__block-options-url {
  min-height: 48px !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* PDP: у __block глобально flex:1 (для сетки); в колонке __blocks-product это схлопывало область с img — убираем */
.ecl-messages-company-for-product__blocks-product .ecl-messages-company-for-product__block {
  flex: none !important;
}
