/* Approved audit changes: common 1.1, 1.2, 1.4–11; desktop and mobile sections. */
.catalog-menu .bx_sitemap a, #filterModal .bx_sitemap a { line-height: 1.3 !important; padding-top: 5px; padding-bottom: 5px; }
.bx-filter .bx-filter-parameters-box-container input[type="text"],
.bx-filter .bx-filter-parameters-box-container input[type="number"] { padding-left: 14px !important; padding-right: 12px !important; }
.bx-filter input[type="text"]:focus, .bx-filter input[type="number"]:focus { border-color: #e4002b !important; outline: 2px solid rgba(228,0,43,.13); outline-offset: 1px; }
.bx-filter .bx-filter-button-box .btn { font-size: 14px !important; font-weight: 600; border-radius: 50px; padding: 0 16px; }
.bx-filter .bx-filter-button-box input[name="set_filter"]:hover { color: #fff !important; background: #bd0024 !important; border-color: #bd0024 !important; }
.bx-filter .bx-filter-button-box input[name="del_filter"]:hover { color: #222 !important; background: #eee !important; }
.bx-filter .bx-filter-param-label { cursor: pointer; }
.bx-filter .bx-filter-param-label:hover .bx-filter-param-text { color: #e4002b; }
.bx-filter .bx-filter-param-label:hover .custom-checkbox { box-shadow: 0 0 0 2px rgba(228,0,43,.16); }
.subcategory-card a:hover, .catalog-tags a:hover, .catalog-tag:hover { color: #e4002b; text-decoration: underline; text-underline-offset: 3px; }
.detail-chars__header { cursor: pointer; transition: background-color .2s; }
.detail-chars__header:hover { background: #fff2f4; }
.container.section.ts_unpad:has(.detail), .container.section.ts_unpad:has(.catalog-menu) { margin-top: 32px !important; }
.callback-form .callback-button { border-radius: 50px !important; }
.callback-form_info .tm-callback-title { display: block; margin: 0 0 10px; padding-right: 18px; font-size: 28px; font-weight: 700; line-height: 1.2; color: #222223; }
.callback-form_info .tm-callback-caption { display: block; font-size: 16px; font-weight: 400; line-height: 1.4; }
.callback-form .ts_c_of_personality, .callback-form .ts_c_of_personality label { font-size: 13px !important; line-height: 1.45; }
.callback-form .form-input input[type="tel"] { width: 100%; height: 49px; padding: 6px 40px 6px 12px; margin-bottom: 30px; background: #fbfbfb; border: 1px solid #e8e8e8; border-radius: 2px; box-shadow: none; }
.callback-form .form-input input[type="tel"]:focus { border-color: #e4002b; }
.tm-form-field { display: flex; flex-direction: column; min-width: 0; width: 100%; gap: 7px; margin-bottom: 12px; text-align: left; font-weight: 400; }
.tm-form-field > span { font-size: 14px; line-height: 1.3; color: #444; }
.tm-form-field > input { margin-bottom: 0 !important; }
.catalog-card__chars-item > span:first-child, .detail-chars__row > span:first-child { color: #777; font-weight: 400; }
.catalog-card__chars-item > span:last-child, .detail-chars__row > span:last-child { color: #222223; font-weight: 700; }
body[data-tm-page="/contacts/"] .contacts-card__link[href^="tel:"] { text-decoration: underline; text-underline-offset: 3px; }
.detail-article__text .h4 { line-height: 1.3; }
.category-widget__item { min-width: 0; }
.category-widget__name { width: 100%; line-height: 1.3; overflow-wrap: anywhere; hyphens: auto; }
body[data-tm-page="/"] .section { margin-top: 80px; }
body[data-tm-page="/"] .section.is-dark { padding-top: 40px; padding-bottom: 40px; }
body[data-tm-page="/"] .services.border-top .container::before { margin-top: 40px; margin-bottom: 40px; }
.tm-product-page .detail { padding-bottom: 0; }
.tm-product-page .page-main > .section__header, .tm-product-page .page-main > .faq-2-block { margin-top: 80px; }
.tm-product-page .section:not(.ts_unpad) { margin-top: 80px; }
.tm-product-page .page-main .grid--4cols { align-items: stretch; }
.tm-product-page .grid--4cols .catalog-card { display: flex; flex-direction: column; height: auto !important; }
.tm-product-page .grid--4cols .catalog-card__inner { display: flex; flex-direction: column; flex: 1; }
.tm-product-page .grid--4cols .catalog-card__footer { margin-top: auto; padding-top: 16px; }
.tm-product-page .grid--4cols .catalog-card__hidden { margin-top: auto; }
.tm-mobile-cta, .tm-menu-contacts { display: none; }
#toTop { z-index: 1002; }

@media (min-width: 993px) {
  .detail.tm-detail-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(300px,1fr); gap: 20px; align-items: start; }
  .detail.tm-detail-layout > .detail__gallery { grid-column: 1; grid-row: 1; padding-bottom: 0; min-width: 0; }
  .detail.tm-detail-layout > img { grid-column: 1; grid-row: 1; width: 100%; height: auto; }
  .detail.tm-detail-layout > .detail__grid { display: contents; }
  .detail.tm-detail-layout .detail__aside { grid-column: 2; grid-row: 1 / span 2; width: auto; max-width: none; align-self: stretch; min-width: 0; }
  .detail.tm-detail-layout .detail__info { position: sticky; top: 80px; gap: 18px; }
  .detail.tm-detail-layout .detail-info__row:not(:last-child) { padding-bottom: 18px; }
  .detail.tm-detail-layout .detail__main { grid-column: 1; grid-row: 2; min-width: 0; }
  .detail.tm-detail-layout .detail__nav { overflow-x: auto; }
  .detail.tm-detail-layout .detail__nav-item { padding: 16px 10px; font-size: 15px; }
  header .main-menu-root-item > ul { width: min(1360px, calc(100vw - 180px)) !important; max-width: calc(100vw - 40px); height: auto !important; min-height: 470px; }
  header .main-menu-root-item:focus-within > ul { display: block; }
  header .custom-tabs-wrapper { display: grid; grid-template-columns: 180px minmax(0,1fr); }
  header .custom-tabs-wrapper .tabs-nav { width: 100%; float: none; height: auto; align-content: start; }
  header .custom-tabs-wrapper .tabs-common { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-content: start; }
  header .main-menu-root-item .tabs-common li { width: auto; float: none; min-width: 0; white-space: normal; }
  header .main-menu-root-item .tabs-common li a { padding: 12px 8px; line-height: 1.3; overflow-wrap: anywhere; }
}

@media (max-width: 992px) {
  html.tm-panel-open, body.tm-panel-open { overflow: hidden !important; overscroll-behavior: none; }
  .header-bottom.active { height: 100dvh; max-height: 100dvh; overscroll-behavior-y: contain; overflow-x: hidden; }
  header .main-menu-root-item > a { text-align: left !important; }
  header .main-menu-root-item > a > span { text-align: left !important; }
  .tm-menu-contacts { display: flex; flex-direction: column; gap: 16px; padding: 24px 15px; border-top: 1px solid #e8e8e8; }
  .tm-menu-contacts a { color: #222223; font-size: 16px; overflow-wrap: anywhere; }
  .tm-menu-contacts a[href^="tel:"] { font-size: 20px; font-weight: 600; }
  .header-bottom .main-menu-root-item.phone { display: block !important; text-align: left; padding: 8px 15px; }
  .header-bottom .header-menu__callback { display: flex; justify-content: flex-start; font-size: 14px; }
  .detail { min-width: 0; }
  .detail__main, .detail__grid, .detail__aside { min-width: 0; }
  .tm-mobile-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 140; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e8e8e8; box-shadow: 0 -3px 16px rgba(0,0,0,.08); }
  .tm-mobile-cta.is-visible { display: block; }
  .tm-mobile-cta .btn { width: 100%; min-width: 0; font-size: 14px; height: 48px; padding: 0 16px; }
  body.tm-cta-visible { padding-bottom: 78px; }
  .tm-product-page .detail { padding-bottom: 20px; }
  .container.section.ts_unpad:has(.detail), .container.section.ts_unpad:has(.catalog-menu) { margin-top: 24px !important; }
  .tm-product-page .page-main > .section__header, .tm-product-page .page-main > .faq-2-block { margin-top: 48px; }
  body[data-tm-page="/"] .section, .tm-product-page .section:not(.ts_unpad) { margin-top: 48px; }
  body[data-tm-page="/"] .section.is-dark { padding-top: 24px; padding-bottom: 24px; }
  body[data-tm-page="/"] .services.border-top .container::before { margin-top: 24px; margin-bottom: 24px; }
}

@media (max-width: 768px) {
  #filterModal .filter-content { display: flex; flex-direction: column; padding: 20px 16px 0; border-radius: 0; height: 100dvh; overflow: hidden; }
  .tm-filter-title { margin: 0 44px 18px 0; font-size: 24px; line-height: 1.3; font-weight: 600; }
  #filterModal .filter-close { top: 4px; right: 16px; line-height: 1; }
  #filterModal .filter-php-content { flex: 1; min-height: 0; max-height: none; padding: 0 0 100px; overflow-y: auto; overscroll-behavior-y: contain; }
  #filterModal .bx-sidebar-block { display: block !important; }
  #filterModal .bx-filter-button-box .mCustomScrollBox,
  #filterModal .bx-filter-button-box .mCSB_container { height: auto !important; max-height: none !important; overflow: visible !important; top: 0 !important; margin: 0 !important; }
  #filterModal .bx-filter-button-box { position: fixed; bottom: 0; left: 0; width: 100%; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); margin: 0; z-index: 2; background: #fff; border-top: 1px solid #e8e8e8; }
  #filterModal .bx-filter-button-box .bx-filter-block { display: block !important; height: auto !important; }
  #filterModal .bx-filter-redbutton { display: flex; gap: 10px; padding: 0; }
  #filterModal .bx-filter-redbutton > .btn { width: calc(50% - 5px); min-width: 0; height: 44px !important; line-height: 42px; margin: 0; }
  .pp-wa-but, .pp-tel-but { width: 44px !important; height: 44px !important; right: 16px !important; border-radius: 50%; animation: none !important; }
  .pp-wa-but { bottom: calc(142px + env(safe-area-inset-bottom)) !important; }
  .pp-tel-but { bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
  .pp-wa-but img, .pp-tel-but img { width: 44px !important; height: 44px !important; }
  .pp-tel-but img { padding: 8px !important; }
  .pp-wa-but img { padding: 4px !important; }
  .pp-text-but { display: none !important; }
  #toTop { width: 44px; height: 44px; right: 16px; bottom: calc(22px + env(safe-area-inset-bottom)); border-radius: 50%; background-color: #fff; background-position: center top; }
  #toTopHover { width: 44px; height: 44px; background-position: center -51px; }
  body.tm-cta-visible .pp-wa-but { bottom: calc(212px + env(safe-area-inset-bottom)) !important; }
  body.tm-cta-visible .pp-tel-but { bottom: calc(152px + env(safe-area-inset-bottom)) !important; }
  body.tm-cta-visible #toTop { bottom: calc(92px + env(safe-area-inset-bottom)); }
  .tm-info-page .container, .tm-info-page .row { min-width: 0; }
  .tm-info-page .page-main { width: 100%; max-width: 100%; }
  .tm-info-page .c-footer-top { grid-template-columns: minmax(0,1fr); }
  .tm-info-page .c-footer-top-left, .tm-info-page .c-footer-top-right { min-width: 0; }
  .tm-info-page .c-footer-phone { flex-wrap: wrap; row-gap: 12px; }
  .tm-info-page .section, .tm-info-page .contacts-section, .tm-info-page .about-widget { max-width: 100%; }
  .tm-info-page .order-widget__form, .tm-info-page .contacts-section__grid > * { min-width: 0; max-width: 100%; }
  .tm-info-page .order-widget { overflow: hidden; }
  .tm-info-page .order-widget__inner { max-width: 100%; }
  .callback-form_info .tm-callback-title { font-size: 26px; }
}
