/* Responsive layer for the existing Enter-Comp template. */
body { min-width: 0; }
.b-main__line-fix { width: 100%; max-width: 1170px; }
.b-main { padding-bottom: 0 !important; }
.b-main__line--footer { position: relative; }
.mobile-nav-toggle { display: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible { outline: 3px solid #d03b30 !important; outline-offset: 3px; }
.responsive-table { max-width: 100%; overflow-x: auto; }
@media (min-width: 1170px) {
  .test-menu-btn.is-open .dropdown-menu--category { visibility: visible; width: 1070px; height: auto; padding-top: 30px; animation: none; }
  .test-menu-btn.is-open .category-item { opacity: 1; }
}
@media (max-width: 1169px) {
  .b-main__line-fix { padding-inline: 24px; }
  .header-top { display: flex; flex-wrap: wrap; align-items: center; padding-block: 16px; gap: 20px; }
  .header-top__logo, .isFixed .header-top__logo { width: 210px; float: none; }
  .header-top__logo-img, .isFixed .header-top__logo-img { width: 100%; margin: 0; }
  .header-top__info, .isFixed .header-top__info { display: block; width: auto; margin-left: auto; padding: 0; float: none; }
  .header-top__menu { width: 100%; float: none; }
  .menu--tile { display: flex; }
  .menu--tile .menu__point { float: none; }
  .menu--tile .menu__link { padding: 12px 8px; }
  .menu--tile .dropdown-menu { left: auto; right: 0; max-width: calc(100vw - 48px); }
  .menu--tile .menu__point:focus-within > .dropdown-menu { max-height: 355px; visibility: visible; }
  .menu__link-icon { display: none; }
  .b-main.isFixed .b-main__line--stick { position: relative; box-shadow: none; }
  .b-main.isFixed .b-main__line--stick + .b-main__line { padding-top: 0; }
  .header-top__account, .isFixed .header-top__account { display: none; }
  .top-bar .menu__link { padding-inline: 16px; }
  .header__menu-panel { display: flex; float: none; }
  .test-menu-btn { margin: 0; flex: 0 0 180px; height: 64px; }
  .test-menu-btn__bg { inset: 0; width: 100%; height: 64px; transform: none; border-radius: 8px 0 0 8px; }
  .test-menu-btn__text { left: 16px; top: 15px; }
  .menu-btn__img, .corner-right-wrap, .corner-right-inside, .b-main__line--plank { display: none; }
  .search { width: auto; flex: 1; min-width: 0; border-radius: 0 8px 8px 0; }
  .search form { display: flex; }
  .search__input { width: auto; flex: 1; min-width: 0; padding: 14px 0 14px 14px; }
  .search__submit { width: 56px; height: 64px; flex-shrink: 0; }
  .search__submit .button { width: 100%; height: 64px; min-width: 0; padding: 0; }
  .header { margin-bottom: 24px; }
  .test-menu-btn .dropdown-menu--category { display: none; animation: none; }
  .test-menu-btn.is-open .dropdown-menu--category { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); visibility: visible; width: calc(100vw - 48px); height: auto; max-height: 65vh; overflow-y: auto; padding: 16px; top: 64px; left: 0; box-sizing: border-box; box-shadow: 0 14px 30px #2c1f3926; }
  .dropdown-menu--category:before { display: none; }
  .dropdown-menu--category .dropdown-menu__item { width: auto; float: none; }
  .dropdown-menu--category .category-item { opacity: 1; padding: 12px; margin: 0; }
  .category-item__img-wrap { display: none; }
  .category-item__link-box { display: block; text-align: left; }
  .b-main__left-col { width: 25%; padding-left: 0; }
  .b-main__main-col { width: 75%; }
  .slide__image { width: 46%; }
  .slide__image img { max-width: 100%; height: auto; }
  .slide__text h2 { font-size: 27px; line-height: 1.2; }
  .service { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 20px; background: #f6f4f5; border-radius: 12px; }
  .service:before { display: none; }
  .service__title { width: auto; padding: 0; }
  .service__time { padding: 0; margin-left: auto; }
  .service__corp-list { display: flex; flex: 1; align-items: center; gap: 16px; }
  .service__corp-item, .service__corp-item2 { width: auto; flex: 1; }
  .service__corp-list img { max-width: 100%; height: auto; }
  .slider-block__info { width: 28%; padding-left: 0; }
  .slider-block__slider { padding-right: 80px; }
  .video__item, .video-page .video__item { width: calc(33.333% - 10px); }
  .video img, .page img, .page iframe { max-width: 100%; }
  .footer { display: flex; flex-wrap: wrap; padding-block: 24px; gap: 24px; }
  .footer > div { float: none; width: auto; padding: 0; flex: 1 1 160px; }
  .footer__info { flex-basis: 280px !important; }
  .service-intro__img { width: 40%; }
  .service-intro__desc { width: auto; }
  .page__body { overflow-wrap: anywhere; }
  .form-card, .popup { box-sizing: border-box; max-width: 100%; }
  .tabs-nav, .tabs-nav1, .tabs-nav2 { display: flex; flex-wrap: wrap; }
  .tabs-nav__point, .tabs-nav1__point, .tabs-nav2__point { float: none; max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 767px) {
  .b-main__line-fix { padding-inline: 16px; }
  .top-bar { text-align: left; }
  .mobile-nav-toggle { display: block; background: transparent; border: 0; color: white; font: inherit; min-height: 44px; padding: 8px 0; cursor: pointer; }
  .mobile-nav-toggle::before { content: '\2630'; margin-right: 10px; }
  .top-bar__menu { display: block; }
  .has-mobile-navigation .top-bar__menu { display: none; }
  .has-mobile-navigation .top-bar__menu.is-open { display: block; }
  .top-bar .menu { float: none; display: grid; grid-template-columns: 1fr 1fr; padding-bottom: 12px; }
  .top-bar .menu__point { float: none; }
  .top-bar .menu__link { padding: 12px; }
  .header-top { gap: 16px 8px; }
  .header-top__logo, .isFixed .header-top__logo { width: 40%; max-width: 190px; }
  .header-top__info { flex: 1; min-width: 0; max-width: none; }
  .info__phone { font-size: 24px; line-height: 1.2; }
  .header-top .info__phone span { display: block; font-size: 12px; }
  .header-top__info .link { font-size: 12px; }
  .menu--tile { gap: 6px; }
  .menu--tile .menu__point { flex: 1; min-width: 0; }
  .menu--tile .menu__link { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px 6px; box-sizing: border-box; font-size: 13px; line-height: 1.25; border: 0; border-radius: 8px; background: #f6f4f5; margin: 0; }
  .menu--tile .menu__point:first-child .menu__link { background: #c4382e; color: #fff; }
  .test-menu-btn { flex-basis: 135px; }
  .test-menu-btn__text { left: 10px; font-size: 14px; }
  .test-menu-btn.is-open .dropdown-menu--category { width: calc(100vw - 32px); grid-template-columns: 1fr; padding: 8px; }
  .search__submit { width: 44px; }
  .search__input { padding-left: 10px; }
  .input { padding-left: 10px; font-size: 16px; }
  .slider-header { padding: 0; margin-bottom: 24px; }
  .slide { padding: 0; }
  .slide__image { float: none; width: 100%; text-align: center; }
  .slide__image img { max-height: 210px; width: auto; margin: auto; object-fit: contain; }
  .slide__text { padding: 20px 4px 12px; }
  .slide__text h2 { font-size: 25px; line-height: 1.2; margin-bottom: 12px; }
  .slide__text p { line-height: 1.55; }
  .slider-header .owl-nav { display: none; }
  .owl-dots { margin: 12px 0 0; }
  .owl-dot { width: 16px; height: 16px; margin: 6px; }
  .service { gap: 16px; margin-bottom: 16px; padding: 18px; }
  .service__title { flex: 1; font-size: 14px; }
  .service__time { font-size: 13px; }
  .service__corp-list { flex-basis: 100%; order: 3; gap: 12px; }
  .slider-block { padding-top: 24px; }
  .slider-block:last-child { padding-bottom: 48px; }
  .slider-block__info { float: none; width: 100%; padding: 0 0 16px; }
  .slider-block__info h3 { margin: 0; font-size: 22px; line-height: 1.25; }
  .slider-block__slider { padding: 0; overflow: visible; }
  .slider-service { border: 1px solid #e6e0e5; border-radius: 12px; overflow: hidden; }
  .slider-service.no-slider { display: flex; flex-wrap: wrap; }
  .slider-service.no-slider .service-item, .service-item--fix { width: 50%; }
  .service-item__caption { height: auto; min-height: 64px; padding: 8px; box-sizing: border-box; }
  .service-item__caption p { font-size: 15px; line-height: 1.35; }
  .slider-block__control { position: static; width: auto; height: 48px; display: flex; justify-content: center; }
  .slider-block__control .button:first-child, .slider-block__control .button:last-child { position: relative; inset: auto; width: 60px; height: 44px; display: inline-block; }
  .news { top: 0; margin-block: 24px; border-width: 1px; border-radius: 12px; padding: 24px 0 56px; }
  .news__item, .review__item { width: 100%; float: none; padding: 16px 20px; min-height: 0; }
  .news__item + .news__item, .review__item + .review__item { border-top: 1px solid #eee; }
  .review { margin: 0; padding: 24px 0 56px; }
  .video { padding: 0 0 32px; }
  .video__item, .video-page .video__item { width: 100%; float: none; margin: 0 0 24px; }
  .video__frame-video { margin-bottom: 12px; }
  .video__frame-video img { width: 100%; }
  .partner-sl { padding: 24px 0; }
  .partner-sl__tape { width: auto; margin-inline: 32px; }
  .b-main__left-col, .b-main__main-col { width: 100%; float: none; }
  .b-main__left-col { margin-bottom: 24px; }
  .b-main__left-col .baner { display: none; }
  .page { padding: 0; margin-bottom: 32px; }
  .page__title { padding: 0; margin-bottom: 24px; }
  h1 { font-size: 28px; line-height: 1.2; overflow-wrap: anywhere; }
  h2 { font-size: 25px; line-height: 1.25; }
  .crumbs { padding: 16px 0; }
  .service-intro { padding: 0; }
  .service-intro__img { width: 100%; float: none; margin: 0 0 20px; }
  .service-intro__desc { width: 100%; }
  .tabs-nav__point, .tabs-nav1__point, .tabs-nav2__point { padding: 12px; font-size: 14px; line-height: 1.3; }
  .tabs-nav--btn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 16px; }
  .tabs-nav--btn::after { display: none; }
  .tabs-nav--btn .tabs-nav__point { width: auto; margin: 0; }
  .tabs-nav--btn .tabs-nav__point a { padding: 12px 8px; }
  .form-card, .form-card--popup { padding: 22px 16px; border-radius: 12px; }
  .form-card__body { padding-right: 0; }
  .form-card__body-col { width: 100%; float: none; }
  .form-card__body-col:first-child, .form-card__body-col:last-child { padding: 0; }
  .form-card__ctrl-btn { float: none; width: 100%; height: auto; }
  .form-card__ctrl-alert { margin: 12px 0 0; }
  .form-card.isAlert .form-card__ctrl-alert { width: 100% !important; }
  .form-card__ctrl-alert span { white-space: normal; }
  .txt-input__field { font-size: 16px; max-width: 100%; box-sizing: border-box; }
  .footer { gap: 24px 16px; padding-block: 32px; }
  .footer > div { flex-basis: calc(50% - 16px); min-width: 0; }
  .footer .footer__info, .footer .footer__copy { flex-basis: 100% !important; }
  .footer__info { order: -1; }
  .ag_user_alert_window { position: relative !important; }
  .ag_user_alert_window_content { flex-wrap: wrap; justify-content: flex-start; gap: 12px; padding: 16px 44px 16px 16px; }
  .ag_user_alert_window_text + .ag_user_alert_window_button { margin-left: 0; }
}
/* Refined toolbar: labels stay inside their own grid cell at every size. */
.header__menu-panel { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; float: none; }
.header__menu-panel .test-menu-btn { position: static; float: none; width: auto; height: 56px; margin: 0; min-width: 0; }
.header__menu-panel .test-menu-btn__bg, .menu-btn__img, .b-main__line--plank { display: none; }
.header__menu-panel .test-menu-btn__text { position: static; display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 20px; box-sizing: border-box; border-radius: 12px; background: #b8342b; color: white; font-size: 16px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.test-menu-btn__text .icon--menu { width: 20px; height: 14px; margin: 0; flex-shrink: 0; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; box-sizing: border-box; background: linear-gradient(currentColor,currentColor) center / 100% 2px no-repeat; transform: none; }
.test-menu-btn__text:hover { background-color: #9e2c24; }
.header__menu-panel .test-menu-btn.isHover { border-right: 0; }
.header__menu-panel .test-menu-btn.isHover .test-menu-btn__text { color: white; }
.header__menu-panel .search { width: auto; float: none; min-width: 0; background: #f6f4f5; border: 1px solid #e5dfe6; border-radius: 12px; box-sizing: border-box; }
.search form { display: flex; align-items: center; min-width: 0; }
.header__menu-panel .search__input { float: none; width: auto; flex: 1; min-width: 0; padding: 8px 0 8px 16px; }
.search .input { height: 38px; padding: 0; background: transparent; font-size: 16px; color: #2c1f39; }
.search:focus-within { border-color: #b8342b; box-shadow: 0 0 0 3px #b8342b14; }
.header__menu-panel .search__submit { float: none; width: 54px; height: 54px; flex-shrink: 0; }
.header__menu-panel .search__submit .button { width: 54px; height: 54px; padding: 0; min-width: 0; background: transparent; border: 0; border-radius: 10px; }
.search__submit .icon--search { width: 17px; height: 17px; background: none; border: 2px solid #675b70; border-radius: 50%; box-sizing: border-box; }
.search__submit .icon--search::after { content: ''; position: absolute; width: 8px; height: 2px; background: #675b70; right: -6px; bottom: -3px; transform: rotate(45deg); }
.header__menu-panel .dropdown-menu--category { display: none; animation: none !important; }
.header__menu-panel .test-menu-btn.is-open .dropdown-menu--category { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); left: 0; top: 64px; width: 100%; height: auto; padding: 16px; max-height: 65vh; overflow-y: auto; visibility: visible; box-sizing: border-box; border: 1px solid #e5dfe6; border-radius: 14px; box-shadow: 0 16px 40px #2c1f3921; }
.header__menu-panel .dropdown-menu--category::before { display: none; }
.header__menu-panel .dropdown-menu__item { width: auto; float: none; }
.header__menu-panel .category-item { opacity: 1; padding: 12px; margin: 0; }
.header__menu-panel .category-item__link-box { display: block; border-radius: 8px; }
.header__menu-panel .category-item__link-box:hover { background: #f6f4f5; }
.slider-service { border: 1px solid #e6e0e5; border-radius: 14px; background: white; }
.service-item__caption p { line-height: 1.4; }
.form-card { border: 1px solid #ece7ed; border-radius: 14px; }
.txt-input__field { border-radius: 8px; }
.info__phone a { text-decoration: none; }
.news__item h3, .slider-block__info h3 { line-height: 1.3; }
@media (min-width: 1170px) and (hover: hover) {
  .header__menu-panel .test-menu-btn.isHover .dropdown-menu--category { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); left: 0; top: 64px; width: 100%; height: auto; padding: 16px; max-height: 65vh; overflow-y: auto; visibility: visible; box-sizing: border-box; border-radius: 14px; box-shadow: 0 16px 40px #2c1f3921; }
}
@media (max-width: 767px) {
  .header__menu-panel { grid-template-columns: 168px minmax(0,1fr); gap: 8px; }
  .header__menu-panel .test-menu-btn__text { padding-inline: 14px; gap: 10px; font-size: 14px; }
  .header__menu-panel .test-menu-btn.is-open .dropdown-menu--category { grid-template-columns: 1fr; }
  .header__menu-panel .search__input { padding-left: 12px; }
  .header__menu-panel .search__submit, .header__menu-panel .search__submit .button { width: 44px; }
  .header__menu-panel .test-menu-btn__text::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-left: auto; }
  .menu--tile .menu__link { border-radius: 10px; font-weight: 500; }
  .slider-service { box-shadow: 0 4px 18px #2c1f3905; }
}
@media (max-width: 575px) {
  .header__menu-panel { grid-template-columns: minmax(0,1fr); }
  .header__menu-panel .test-menu-btn__text { font-size: 16px; }
  .header__menu-panel .test-menu-btn.is-open .dropdown-menu--category { top: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .b-main *, .b-main *::before, .b-main *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Фикс 21.09.2026: на десктопе кнопка "Все услуги" высотой 56px, а выпадающее меню
   наследовало top:64px (рассчитан под 64px-кнопку планшетной версии) — оставался
   8px зазор без единого элемента под курсором, из-за чего меню закрывалось при
   переводе мыши от кнопки к пункту списка. Убираем зазор, отступ сверху сохраняем
   через padding-top, чтобы визуально ничего не сдвинулось. */
@media (min-width: 1170px) {
  .header__menu-panel .test-menu-btn.is-open .dropdown-menu--category,
  .header__menu-panel .test-menu-btn.isHover .dropdown-menu--category {
    top: 56px;
    padding-top: 24px;
  }
}
