/* Boss Floors — новый дизайн поверх шаблона Aspro Max.
   Цвета: фон #FAF7F2, основной #2F5D50, кнопки покупки #D9661C, скидки #C62828, текст #222. */

:root {
  --bf-bg: #FAF7F2;
  --bf-sand: #EFE8DC;
  --bf-line: #E6DFD3;
  --bf-green: #2F5D50;
  --bf-green-dark: #244A3F;
  --bf-green-soft: #E3ECE8;
  --bf-orange: #D9661C;
  --bf-orange-dark: #BF5615;
  --bf-red: #C62828;
  --bf-text: #222;
  --bf-muted: #555;
  --bf-head: 'Montserrat', sans-serif;
  --bf-body: 'PT Sans', sans-serif;
}

/* ---------- Прячем стандартные шапку, подвал и плавающие панели Aspro ---------- */
/* Селекторы усилены через body/html: стили Aspro подключаются позже и иначе перебивают правило */
html body .wrapper1 .header_wrap, html body #headerfixed#headerfixed, html body #mobileheader#mobileheader, html body #mobilefilter,
html body #footer > *:not(.bf-footer), html body .basket_wrapp.fly2 { display: none !important; }

/* Всегда светлая тема: Aspro в режиме «по умолчанию» переключается на тёмную вслед за системой */
html body.theme-default { --light: initial; --dark: ; color-scheme: light; }

/* ---------- Общие ---------- */
body { background: var(--bf-bg) !important; }
body, body .wrapper1 { font-family: var(--bf-body); color: var(--bf-text); }
body h1, body h2, body h3, body .h1, body .h2 { font-family: var(--bf-head); color: var(--bf-text); }
body .btn.btn-default, body .btn-default {
  background: var(--bf-orange) !important; border-color: var(--bf-orange) !important; color: #fff !important;
  font-family: var(--bf-body); font-weight: 700; font-size: 17px; border-radius: 10px; min-height: 48px;
}
body .btn.btn-default:hover { background: var(--bf-orange-dark) !important; border-color: var(--bf-orange-dark) !important; }
body a { color: var(--bf-green); }

.bf, .bf * { box-sizing: border-box; }
.bf { font-family: var(--bf-body); font-size: 17px; line-height: 1.5; color: var(--bf-text); }
.bf a { color: var(--bf-green); }
.bf a:hover { color: #1E3F36; }
html body .bf p { color: inherit; }
html body .bf input[type="text"], html body .bf input[type="tel"], html body .bf input[type="search"], html body .bf input[type="number"] { background: #fff; color: var(--bf-text); }
.bf-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.bf-h2 { font: 700 32px/1.2 var(--bf-head); color: var(--bf-text); margin: 0; }
.bf-sr { position: absolute !important; left: -9999px !important; }
.bf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px;
  border-radius: 10px; font: 700 18px/1.2 var(--bf-body); text-decoration: none !important; border: 0; cursor: pointer; }
.bf .bf-btn-buy, .bf-btn-buy { background: var(--bf-orange); color: #fff !important; }
.bf .bf-btn-buy:hover, .bf-btn-buy:hover { background: var(--bf-orange-dark); color: #fff !important; }
.bf .bf-btn-main, .bf-btn-main { background: var(--bf-green); color: #fff !important; }
.bf .bf-btn-main:hover, .bf-btn-main:hover { background: var(--bf-green-dark); color: #fff !important; }
.bf-card { background: #fff; border: 1px solid var(--bf-line); border-radius: 14px; }
.bf-ph { background: var(--bf-sand); color: #5C5246; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 15px; padding: 12px; }
.bf-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.bf-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bf-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.bf-tag { font-size: 13px; font-weight: 700; color: var(--bf-green); background: var(--bf-green-soft); border-radius: 6px; padding: 3px 8px; }
.bf-check { display: flex; gap: 8px; align-items: center; }
.bf-check svg { flex: none; }
.bf-section { padding-top: 56px; padding-bottom: 56px; }
.bf-band { background: #fff; border-top: 1px solid var(--bf-line); border-bottom: 1px solid var(--bf-line); }
.bf-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 20px; }
.bf-head-row > a { font-size: 18px; font-weight: 700; }

/* ---------- Верхняя полоска и шапка ---------- */
.bf-topbar { background: var(--bf-green); color: #fff; font-size: 15px; }
.bf-topbar .bf-wrap { display: flex; flex-wrap: wrap; gap: 6px 28px; justify-content: center; padding-top: 8px; padding-bottom: 8px; }
.bf-header { background: #fff; border-bottom: 1px solid var(--bf-line); }
.bf-header .bf-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding-top: 16px; padding-bottom: 16px; }
.bf-logo { display: flex; align-items: center; gap: 12px; text-decoration: none !important; color: var(--bf-text) !important; }
.bf-logo img { width: 52px; height: 52px; }
.bf-logo b { display: block; font: 700 26px/1.1 'PT Serif', serif; }
.bf-logo small { display: block; font-size: 14px; color: var(--bf-muted); }
.bf-phone { display: flex; flex-direction: column; }
.bf-phone a { font: 700 24px/1.2 var(--bf-head); color: var(--bf-text) !important; text-decoration: none !important; white-space: nowrap; }
.bf-phone span { font-size: 15px; color: var(--bf-muted); }
.bf-search { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.bf-search-box { display: flex; border: 2px solid var(--bf-green); border-radius: 10px; overflow: hidden; background: #fff; }
.bf-search-box input { flex: 1; min-width: 0; border: 0 !important; padding: 0 16px; height: 48px; font: 400 17px var(--bf-body); color: var(--bf-text); outline: none; box-shadow: none !important; background: #fff; }
.bf-search-box button { width: 56px; border: 0; background: var(--bf-green); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.bf-search-hints { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 14px; color: var(--bf-muted); }
.bf-nav { display: flex; gap: 10px; align-items: center; }
.bf-nav-icon { display: flex; flex-direction: column; align-items: center; min-width: 76px; color: var(--bf-text) !important; text-decoration: none !important; font-size: 14px; }

/* Нижняя панель на телефоне и кнопка мессенджера */
.bf-bottombar { display: none; }
.bf-messenger { position: fixed; right: 20px; bottom: 20px; z-index: 900; display: flex; align-items: center; gap: 12px;
  background: #fff; border: 2px solid var(--bf-green); border-radius: 40px; padding: 8px 18px 8px 8px; text-decoration: none !important;
  color: var(--bf-text) !important; box-shadow: 0 4px 14px rgba(0,0,0,.15); max-width: 300px; font: 15px/1.3 var(--bf-body); }
.bf-messenger i { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--bf-green); display: flex; align-items: center; justify-content: center; }

/* ---------- Главная ---------- */
.bf-home h1 { margin: 0; font: 800 46px/1.15 var(--bf-head); color: var(--bf-text); }
.bf-hero { padding-top: 48px; padding-bottom: 56px; }
.bf-hero .bf-grid2 { align-items: center; }
.bf-hero-text { display: flex; flex-direction: column; gap: 22px; }
.bf-hero-text p { margin: 0; font-size: 20px; color: #333; }
.bf-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.bf-hero-facts { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 16px; color: #333; }
.bf-hero-facts li { margin: 0; padding: 0; }
.bf-hero-facts li:before { display: none !important; }
.bf-hero figure { margin: 0; position: relative; }
.bf-hero figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; display: block; }
.bf-hero figcaption { position: absolute; left: 16px; bottom: 16px; background: #fff; color: var(--bf-text); border-radius: 10px; padding: 10px 14px; font-size: 15px; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.bf b, .bf strong { color: inherit; }

.bf-cat { display: flex; flex-direction: column; overflow: hidden; text-decoration: none !important; color: var(--bf-text) !important; }
.bf-cat img, .bf-cat .bf-ph { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: flex; }
.bf-cat div:last-child { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 2px; }
.bf-cat b { font: 700 19px/1.25 var(--bf-head); }
.bf-cat span { font-size: 16px; color: var(--bf-muted); }

.bf-task { display: flex; gap: 16px; align-items: center; padding: 18px 20px; border: 2px solid var(--bf-line); border-radius: 12px; text-decoration: none !important; color: var(--bf-text) !important; background: var(--bf-bg); }
.bf-task:hover { border-color: var(--bf-green); }
.bf-task i { flex: none; width: 48px; height: 48px; border-radius: 10px; background: var(--bf-green-soft); display: flex; align-items: center; justify-content: center; font: 800 20px var(--bf-head); color: var(--bf-green); font-style: normal; }
.bf-task b { display: block; font: 700 19px/1.25 var(--bf-head); }
.bf-task span { display: block; font-size: 15px; color: var(--bf-muted); }

.bf-promo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 14px 18px; margin-bottom: 20px; border-radius: 12px; background: #FDECEA; font-size: 18px; }
.bf-promo span:first-child { background: var(--bf-red); color: #fff; font-weight: 700; padding: 4px 10px; border-radius: 6px; font-size: 16px; }

.bf-prod { display: flex; flex-direction: column; overflow: hidden; }
.bf-prod > img, .bf-prod > .bf-ph { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: flex; }
.bf-prod-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bf-prod-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.bf-prod h3 { margin: 0; font: 700 17px/1.3 var(--bf-body); color: var(--bf-text); }
.bf-prod h3 a { color: var(--bf-text) !important; text-decoration: none; }
.bf-price { margin-top: auto; display: flex; flex-direction: column; }
.bf-price b { font: 800 26px/1.2 var(--bf-head); color: var(--bf-text); }
.bf-price b small { font-size: 17px; font-weight: 700; }
.bf-price span { font-size: 15px; color: var(--bf-muted); min-height: 22px; }
.bf-prod .bf-btn { width: 100%; }

.bf-calc { background: var(--bf-green); color: #fff; }
.bf-calc .bf-grid2 { align-items: start; }
.bf-calc-in { display: flex; flex-direction: column; gap: 18px; }
.bf-calc-in .bf-h2 { color: #fff; }
.bf-calc-in p { margin: 0; font-size: 18px; color: #E8F0ED; }
.bf-calc-in label { font-weight: 700; font-size: 18px; color: #fff; }
.bf-stepper { display: flex; gap: 10px; align-items: center; }
.bf-stepper button { width: 52px; height: 52px; border-radius: 10px; border: 0; background: #fff; color: var(--bf-green); font: 800 26px var(--bf-head); cursor: pointer; }
.bf-stepper input { width: 120px; height: 52px; border-radius: 10px; border: 0; padding: 0 14px; font: 800 24px var(--bf-head); color: var(--bf-text); }
.bf-calc-check { display: flex !important; gap: 12px; align-items: center; cursor: pointer; font-weight: 400 !important; }
.bf-calc-check input { width: 24px; height: 24px; accent-color: var(--bf-orange); margin: 0; }
.bf-calc-out { background: #fff; color: var(--bf-text); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.bf-calc-out .bf-big { font: 800 34px/1.15 var(--bf-head); }
.bf-calc-out .bf-sum { font: 800 30px/1.2 var(--bf-head); color: var(--bf-green); }
.bf-calc-extra { border-top: 1px solid var(--bf-line); padding-top: 14px; display: flex; flex-direction: column; gap: 6px; }

.bf-why { padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.bf-why i { width: 52px; height: 52px; border-radius: 12px; background: var(--bf-green-soft); display: flex; align-items: center; justify-content: center; }
.bf-why b { font: 700 19px/1.25 var(--bf-head); }
.bf-why span { font-size: 16px; color: #444; }

.bf-photo { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.bf-photo img, .bf-photo .bf-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; display: flex; }
.bf-photo figcaption { font-size: 15px; color: #444; }

.bf-review { margin: 0; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
html body .bf blockquote.bf-review { border: 1px solid var(--bf-line) !important; font-size: 17px !important; font-style: normal; }
html body .bf blockquote.bf-review p { font-size: 17px !important; line-height: 1.5; }
.bf-review .bf-stars { color: #B7791F; font-size: 20px; letter-spacing: 2px; }
.bf-review p { margin: 0; font-size: 17px; }
.bf-review footer { margin-top: auto; font-size: 15px; color: var(--bf-muted); }

.bf-consult { background: var(--bf-sand); }
.bf-consult .bf-grid2 { padding-top: 48px; padding-bottom: 48px; align-items: center; }
.bf-consult form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0; }
.bf-consult form div { flex: 1 1 240px; display: flex; flex-direction: column; gap: 6px; }
.bf-consult input { height: 52px; border-radius: 10px; border: 2px solid #CFC5B5; padding: 0 16px; font: 400 18px var(--bf-body); }

.bf-faq details { padding: 18px 22px; margin-bottom: 12px; max-width: 900px; }
.bf-faq summary { cursor: pointer; list-style: none; font: 700 19px/1.3 var(--bf-head); display: flex; justify-content: space-between; gap: 16px; }
.bf-faq summary::-webkit-details-marker { display: none; }
.bf-faq summary:after { content: '+'; color: var(--bf-green); }
.bf-faq details[open] summary:after { content: '−'; }
.bf-faq p { margin: 12px 0 0; font-size: 17px; color: #333; }

/* ---------- Подвал ---------- */
.bf-footer { background: #1F3A33; color: #E8F0ED; display: block !important; }
.bf-footer a { color: #E8F0ED; }
.bf-footer .bf-wrap { padding-top: 48px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 32px; }
.bf-footer .bf-grid3 { gap: 32px; }
.bf-footer .bf-col { display: flex; flex-direction: column; gap: 8px; }
.bf-footer .bf-col > b { font: 700 20px var(--bf-head); color: #fff; }
.bf-footer .bf-tel { color: #fff !important; font: 700 22px var(--bf-head); text-decoration: none; }
.bf-footer .bf-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.bf-footer .bf-pills a { color: #fff; border: 1px solid #6E8F85; border-radius: 8px; padding: 8px 14px; text-decoration: none; }
.bf-footer .bf-map { height: 180px; border: 0; border-radius: 10px; width: 100%; margin-top: 6px; }
.bf-footer .bf-legal { border-top: 1px solid #3C5A51; padding-top: 18px; font-size: 14px; color: #C9D8D2; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.bf-footer .bf-legal a { color: #C9D8D2; }

/* ---------- Каталог: список товаров (компонент Aspro) ---------- */
html body .catalog-block-view__item { padding: 6px !important; }
html body .catalog-block-view__item > .catalog_item_wrapp {
  background: #fff; border: 1px solid var(--bf-line) !important; border-radius: 14px; overflow: visible !important; height: auto !important; min-height: 100%;
  display: flex; flex-direction: column; box-shadow: none !important;
}
html body .catalog-block-view__item { height: auto !important; }
html body .catalog-block-view__item .inner_wrap { display: flex; flex-direction: column; flex: 1; height: auto !important; }
html body .catalog-block-view__item .footer_button .counter_wrapp { width: 100% !important; float: none !important; display: block !important; }
html body .catalog-block-view__item .item_info { padding: 12px 16px 4px !important; text-align: left; flex: 1; display: flex; flex-direction: column; }
html body .catalog-block-view__item .item_info--bottom_block { margin-top: auto; }
html body .catalog-block-view__item .rating { display: none !important; }
html body .catalog-block-view__item .item-title { margin: 0 0 6px; min-height: 0 !important; height: auto !important; }
html body .catalog-block-view__item .item-title a { font: 700 17px/1.3 var(--bf-body) !important; color: var(--bf-text) !important; }
html body .catalog-block-view__item .item-stock .value { font-size: 14px !important; color: var(--bf-green) !important; font-weight: 700; }
html body .catalog-block-view__item .article_block .muted { font-size: 13px !important; color: var(--bf-muted) !important; }
html body .catalog-block-view__item .price, html body .catalog-block-view__item .price .values_wrapper {
  font: 800 24px/1.2 var(--bf-head) !important; color: var(--bf-text) !important;
}
html body .catalog-block-view__item .price.discount, html body .catalog-block-view__item .price.discount .values_wrapper {
  font: 400 16px var(--bf-body) !important; color: var(--bf-muted) !important; text-decoration: line-through;
}
/* Кнопка «В корзину» видна всегда, а не только при наведении */
html body .catalog-block-view__item .footer_button {
  display: block !important; position: static !important; opacity: 1 !important; visibility: visible !important; height: auto !important; width: auto !important;
  padding: 8px 16px 16px !important; margin: 0 !important; background: none !important; box-shadow: none !important; transform: none !important;
}
html body .catalog-block-view__item .footer_button .counter_block { display: none !important; }
html body .catalog-block-view__item .footer_button .button_block { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; display: block !important; }
html body .catalog-block-view__item .footer_button .button_block .btn { max-width: none !important; display: block; }
html body .catalog-block-view__item .footer_button .button_block .btn[style*="none"] { display: none !important; }
html body .catalog-block-view__item .footer_button .btn {
  width: 100% !important; min-height: 48px; line-height: 48px !important; padding-top: 0 !important; padding-bottom: 0 !important;
  font: 700 17px/48px var(--bf-body) !important; text-transform: none !important; letter-spacing: 0 !important;
  border-radius: 10px !important; text-align: center;
}
html body .catalog-block-view__item .footer_button .btn.in-cart { background: var(--bf-green) !important; border-color: var(--bf-green) !important; }

/* Метки на товарах: красная только «Акция», остальные — спокойные */
html body .stickers [class*="sticker_"] { font: 700 13px var(--bf-body) !important; border-radius: 6px !important; padding: 3px 8px !important;
  background: var(--bf-green-soft) !important; color: var(--bf-green) !important; text-transform: none !important; }
html body .stickers .sticker_aktsiya, html body .stickers [class*="sticker_skidka"], html body .stickers [class*="sticker_sale"] {
  background: var(--bf-red) !important; color: #fff !important; }

/* Сортировка и фильтры над списком */
html body .filter_title, html body .bx_filter .bx_filter_parameters_box_title, html body .sort_header a, html body .sort_header span,
html body .filter-compact-block .filter_title { font-family: var(--bf-body) !important; font-size: 15px !important; }
html body .bx_filter .bx_filter_parameters_box_title,
html body .filter-compact-block .bx_filter_parameters_box_title {
  border: 2px solid var(--bf-line) !important; border-radius: 10px !important; background: #fff !important; min-height: 44px;
  display: inline-flex !important; align-items: center; padding: 0 14px !important; color: var(--bf-text) !important; font-weight: 700 !important;
}
html body .bx_filter .bx_filter_parameters_box.active .bx_filter_parameters_box_title,
html body .bx_filter .bx_filter_parameters_box_title:hover { border-color: var(--bf-green) !important; }
html body .bx_filter .btn, html body .bx_filter input[type="submit"] { background: var(--bf-green) !important; border-color: var(--bf-green) !important; color: #fff !important; }

/* Левое меню каталога */
html body .left_block .menu-wrapper a, html body .left_block .left_menu a, html body .left_block .menu .item a {
  font: 400 16px/1.35 var(--bf-body) !important; color: var(--bf-text) !important; }
html body .left_block .menu .item.opened > a, html body .left_block .menu .item.active > a, html body .left_block a.active { color: var(--bf-green) !important; font-weight: 700 !important; }

/* Заголовки страниц и хлебные крошки */
html body .topic__heading h1 { font: 800 34px/1.2 var(--bf-head) !important; color: var(--bf-text) !important; }
html body .breadcrumbs a, html body .breadcrumbs span { font-size: 14px !important; color: var(--bf-muted) !important; }

/* ---------- Карточка товара ---------- */
html body .product-info.bordered { border: 1px solid var(--bf-line) !important; border-radius: 16px !important; background: #fff; }
html body .product-main .price, html body .product-main .price .values_wrapper,
html body .js-prices-in-side .price, html body .js-prices-in-side .price .values_wrapper {
  font: 800 36px/1.15 var(--bf-head) !important; color: var(--bf-text) !important;
}
html body .js-prices-in-side .price.discount, html body .js-prices-in-side .price.discount .values_wrapper {
  font: 400 18px var(--bf-body) !important; color: var(--bf-muted) !important; text-decoration: line-through;
}
html body .product-main .to-cart, html body .product-main .in-cart {
  min-height: 56px !important; font: 700 19px var(--bf-body) !important; text-transform: none !important; letter-spacing: 0 !important;
  border-radius: 10px !important; padding: 0 28px !important; line-height: 56px !important;
}
html body .product-main .in-cart { background: var(--bf-green) !important; border-color: var(--bf-green) !important; }
html body .product-main .wrapp-one-click .btn, html body .product-main .wrapp-one-click span.btn {
  min-height: 52px !important; font: 700 17px var(--bf-body) !important; text-transform: none !important; letter-spacing: 0 !important;
  background: #fff !important; color: var(--bf-green) !important; border: 2px solid var(--bf-green) !important; border-radius: 10px !important;
  line-height: 48px !important; text-align: center;
}
html body .product-main .wrapp-one-click .btn:hover { background: #EEF3F1 !important; }
html body .product-main .counter_block { border-radius: 10px !important; min-height: 56px; }
html body .product-main .counter_block input { font: 700 18px var(--bf-body) !important; }
html body .product-main .item-stock .value { font-size: 16px !important; color: var(--bf-green) !important; font-weight: 700; }
html body .product-main .buy_block, html body .product-main .char-side, html body .product-main .item-info { font-size: 16px !important; }
html body .char-side .properties__title, html body .char-side .properties__item { font-size: 16px !important; }
html body .tabs .nav-tabs > li > a, html body .tabs .nav > li > a { font: 700 17px var(--bf-head) !important; text-transform: none !important; }
html body .tabs .nav-tabs > li.active > a { color: var(--bf-green) !important; }
html body .detail .content, html body .detail .detail-text, html body .tab-content { font-size: 17px; line-height: 1.6; }

/* Карточка товара на планшете и телефоне: Aspro прячет боковой блок покупки целиком,
   показываем из него только закреплённую панель «В корзину» внизу экрана */
@media (max-width: 991px) {
  html body #content .wrapper_inner .product-side.left_block { display: block !important; width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; position: static !important; }
  html body #content .wrapper_inner .product-side.left_block > * { display: none !important; }
  html body #content .wrapper_inner .product-side.left_block > .product-main { display: block !important; height: 0; overflow: visible; }
  html body .product-side .product-main > *:not(.js-prices-in-side),
  html body .product-side .js-prices-in-side > *:not(.buy_block),
  html body .product-side .buy_block > *:not(.counter_wrapp) { display: none !important; }
  html body .product-side .counter_wrapp.big {
    position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important; width: auto !important; z-index: 940;
    display: flex !important; gap: 8px; align-items: center; margin: 0 !important; padding: 8px 16px !important;
    background: #fff; border-top: 1px solid var(--bf-line); box-shadow: 0 -2px 10px rgba(0,0,0,.06);
  }
  html body .product-side .counter_wrapp.big .counter_block { flex: none; margin: 0 !important; }
  html body .product-side .counter_wrapp.big .button_block { flex: 1; margin: 0 !important; width: auto !important; }
  html body .product-side .counter_wrapp.big .btn { width: 100% !important; }
}
@media (max-width: 767px) {
  html body .product-side .counter_wrapp.big { bottom: 64px !important; }
  html body:has(.product-side .counter_wrapp.big) .bf-messenger { bottom: 148px; }
}

/* ---------- Адаптив ---------- */
@media (max-width: 1440px) {
  .bf-search-hints { display: none; }
}
@media (max-width: 1240px) {
  .bf-logo small { display: none; }
}
@media (max-width: 1000px) {
  .bf-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-grid3 { grid-template-columns: minmax(0, 1fr); }
  .bf-grid2 { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bf-nav-icon, .bf-search-hints { display: none; }
}
@media (max-width: 767px) {
  .bf-topbar .bf-wrap span:nth-child(n+3) { display: none; }
  .bf-wrap { padding: 0 16px; }
  .bf-header .bf-wrap { gap: 10px 12px; padding-top: 10px; padding-bottom: 10px; justify-content: space-between; flex-wrap: wrap; }
  .bf-logo { gap: 8px; }
  .bf-logo img { width: 38px; height: 38px; }
  .bf-logo b { font-size: 21px; }
  .bf-logo small, .bf-nav { display: none; }
  .bf-phone a { font-size: 16px; }
  .bf-phone span { font-size: 13px; text-align: right; }
  .bf-phone .bf-phone-note { display: none; }
  .bf-phone { align-items: flex-end; }
  .bf-search { flex-basis: 100%; }
  .bf-home h1 { font-size: 27px; }
  .bf-h2 { font-size: 24px; }
  .bf-hero { padding-top: 18px; padding-bottom: 32px; }
  .bf-hero .bf-grid2 { display: flex; flex-direction: column; }
  .bf-hero-btns .bf-btn { width: 100%; }
  .bf-section { padding-top: 36px; padding-bottom: 36px; }
  .bf-grid4 { gap: 10px; }
  .bf-prod-body { padding: 8px 10px 10px; }
  .bf-prod h3 { font-size: 15px; }
  .bf-price b { font-size: 21px; }
  .bf-prod .bf-btn { min-height: 44px; font-size: 16px; padding: 0 8px; }
  .bf-calc-out .bf-big { font-size: 26px; }
  .bf-bottombar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; height: 64px; z-index: 950;
    background: #fff; border-top: 1px solid var(--bf-line); }
  .bf-bottombar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--bf-text) !important; text-decoration: none !important; font: 13px var(--bf-body); }
  .bf-bottombar a.bf-call { background: var(--bf-green); color: #fff !important; font-weight: 700; }
  body { padding-bottom: 64px; }
  /* На телефоне — только круглая кнопка, чтобы не закрывать содержимое */
  .bf-messenger { bottom: 76px; right: 12px; padding: 4px; border-radius: 50%; }
  .bf-messenger > span { position: absolute; left: -9999px; }
  .bf-messenger i { width: 48px; height: 48px; }
}
