/* =========================================================
   HEADER FINAL PREMIUM SAFE
   Стабильная шапка без двойного слоя, с фирменным стилем
   ========================================================= */

.main-header,
.main-header *{
  box-sizing:border-box;
}

.main-header{
  position:relative !important;
  z-index:10000 !important;
  background:transparent !important;
  padding:10px 0 14px !important;
  overflow:visible !important;
}

.main-header a{
  text-decoration:none !important;
}

.main-header .header-container--v2{
  width:100% !important;
  max-width:1880px !important;
  margin:0 auto !important;
  padding:0 20px !important;
  min-height:114px !important;

  display:flex !important;
  align-items:center !important;
  gap:26px !important;

  border-radius:28px !important;
  background:
    radial-gradient(circle at 82% 24%, rgba(255,204,10,.16), transparent 18%),
    radial-gradient(circle at 94% 88%, rgba(221,42,27,.16), transparent 12%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #181818 100%) !important;
  border:1px solid rgba(255,204,10,.12) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.main-header .header-logo--v2{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  margin:0 12px 0 0 !important;
}

.main-header .header-logo--v2 img{
  width:300px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
}

.main-header .header-nav--v2{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:block !important;
}

.main-header .header-menu{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:34px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.main-header .header-menu__item{
  display:block !important;
  list-style:none !important;
  position:relative !important;
}

.main-header .header-menu__link{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:42px !important;
  padding:10px 0 !important;

  color:#fff !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  position:relative !important;
  opacity:.98 !important;
}

.main-header .header-menu__link::after{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  bottom:2px !important;
  width:0 !important;
  height:2px !important;
  border-radius:999px !important;
  background:#ffcc0a !important;
  transition:width .25s ease !important;
}

.main-header .header-menu__link:hover{
  color:#ffcc0a !important;
}

.main-header .header-menu__link:hover::after{
  width:100% !important;
}

.main-header .header-menu__caret{
  width:8px !important;
  height:8px !important;
  border-right:2px solid #ffcc0a !important;
  border-bottom:2px solid #ffcc0a !important;
  transform:rotate(45deg) !important;
  margin-top:-3px !important;
  transition:transform .2s ease !important;
}

.main-header .header-menu__item--dropdown:hover .header-menu__caret{
  transform:rotate(225deg) !important;
}

.main-header .header-dropdown{
  position:absolute !important;
  top:calc(100% + 6px) !important;
  left:-14px !important;
  min-width:300px !important;
  padding:10px !important;
  border-radius:18px !important;

  background:
    linear-gradient(180deg, rgba(17,17,17,.98) 0%, rgba(8,8,8,.98) 100%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 22px 40px rgba(0,0,0,.32) !important;

  display:none !important;
  z-index:99999 !important;
}

.main-header .header-menu__item--dropdown:hover .header-dropdown{
  display:block !important;
}

.main-header .header-dropdown__link{
  display:block !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
}

.main-header .header-dropdown__link:hover{
  background:rgba(255,204,10,.12) !important;
  color:#ffcc0a !important;
}

.main-header .header-right-block--v2{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  flex:0 0 auto !important;
  min-width:max-content !important;
}

.main-header .header-phone--v2{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  padding:0 20px !important;
  border-radius:999px !important;

  color:#fff !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;

  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.main-header .header-phone--v2:hover{
  color:#ffcc0a !important;
  border-color:rgba(255,204,10,.24) !important;
}

.main-header .header-personal-link--v2{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:50px !important;
  padding:0 22px !important;
  border-radius:14px !important;

  background:linear-gradient(135deg, #ffcc0a 0%, #f1be05 100%) !important;
  color:#111 !important;
  border:1px solid #ffcc0a !important;

  font-size:15px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;

  box-shadow:0 14px 28px rgba(255,204,10,.18) !important;
}

.main-header .header-personal-link--v2:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.03) !important;
}

.main-header .header-burger{
  display:none !important;
  width:48px !important;
  height:48px !important;
  margin-left:auto !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.04) !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:6px !important;
}

.main-header .header-burger span{
  width:22px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#ffcc0a !important;
  display:block !important;
}

.main-header .header-mobile{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.72) !important;
  display:none !important;
  z-index:99999 !important;
  padding:18px !important;
}

.main-header .header-mobile.is-open{
  display:block !important;
}

.main-header .header-mobile__inner{
  width:100% !important;
  max-width:520px !important;
  height:100% !important;
  overflow:auto !important;
  padding:16px !important;
  border-radius:18px !important;
  background:
    linear-gradient(180deg, rgba(12,12,12,.98) 0%, rgba(4,4,4,.98) 100%) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 22px 44px rgba(0,0,0,.36) !important;
}

.main-header .header-mobile__top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.main-header .header-mobile__logo img{
  width:210px !important;
  height:auto !important;
  display:block !important;
}

.main-header .header-mobile__close{
  width:44px !important;
  height:44px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.04) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:800 !important;
}

.main-header .header-mobile__links{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin-top:8px !important;
}

.main-header .header-mobile__link{
  display:block !important;
  padding:13px 14px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.03) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
}

.main-header .header-mobile__group{
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:12px !important;
  overflow:hidden !important;
}

.main-header .header-mobile__accordion{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  text-align:left !important;
  padding:13px 14px !important;
  background:rgba(255,255,255,.03) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
}

.main-header .header-mobile__caret{
  width:8px !important;
  height:8px !important;
  border-right:2px solid #ffcc0a !important;
  border-bottom:2px solid #ffcc0a !important;
  transform:rotate(45deg) !important;
  transition:transform .2s ease !important;
}

.main-header .header-mobile__accordion.is-open .header-mobile__caret{
  transform:rotate(225deg) !important;
}

.main-header .header-mobile__submenu{
  display:none !important;
  padding:6px 10px 12px !important;
  background:#0b0b0b !important;
}

.main-header .header-mobile__submenu.is-open{
  display:block !important;
}

.main-header .header-mobile__submenu a{
  display:block !important;
  padding:10px 10px !important;
  border-radius:10px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:600 !important;
}

.main-header .header-mobile__bottom{
  margin-top:16px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.main-header .header-mobile__phone{
  display:block !important;
  padding:13px 14px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.03) !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
}

.main-header .header-mobile__cabinet{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:13px 14px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg, #ffcc0a 0%, #f1be05 100%) !important;
  color:#111 !important;
  font-weight:900 !important;
  border:1px solid #ffcc0a !important;
}

/* hard sync desktop / mobile */
@media (max-width: 1180px){
  .main-header .header-container--v2{
    gap:18px !important;
    min-height:96px !important;
  }
  .main-header .header-logo--v2 img{
    width:270px !important;
  }
  .main-header .header-menu{
    gap:24px !important;
  }
  .main-header .header-menu__link{
    font-size:14px !important;
  }
  .main-header .header-phone--v2{
    display:none !important;
  }
  .main-header .header-personal-link--v2{
    min-height:46px !important;
    padding:0 18px !important;
    font-size:14px !important;
  }
}

@media (max-width: 920px){
  .main-header{
    padding:10px 0 12px !important;
  }
  .main-header .header-container--v2{
    min-height:76px !important;
    padding:0 16px !important;
    gap:12px !important;
  }
  .main-header .header-logo--v2 img{
    width:230px !important;
  }
  .main-header .header-nav--v2,
  .main-header .header-right-block--v2{
    display:none !important;
  }
  .main-header .header-burger{
    display:flex !important;
  }
}

@media (min-width: 921px){
  .main-header .header-mobile{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .main-header .header-burger{
    display:none !important;
  }
  .main-header .header-nav--v2{
    display:block !important;
  }
  .main-header .header-right-block--v2{
    display:flex !important;
  }
}


/* =========================================================
   FIX: убрать ощущение "двойной" шапки
   Причина: базовый .main-header из css/style.css рисует свой фон/границу,
   а .header-container--v2 рисует второй тёмный блок.
   Ниже жёстко оставляем только один визуальный слой.
   ========================================================= */

.main-header{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding: 8px 0 10px !important;
}

.main-header::before,
.main-header::after,
.main-header .header-container--v2::before,
.main-header .header-container--v2::after{
  content: none !important;
  display: none !important;
}

.main-header .header-container--v2{
  min-height: 108px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255,204,10,.10) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}

@media (max-width: 1180px){
  .main-header{
    padding: 8px 0 10px !important;
  }
  .main-header .header-container--v2{
    min-height: 92px !important;
  }
}

@media (max-width: 920px){
  .main-header{
    padding: 8px 0 10px !important;
  }
  .main-header .header-container--v2{
    min-height: 74px !important;
    border-radius: 24px !important;
  }
}


/* =========================================================
   FIX: dropdown "Услуги" не должен пропадать при переводе курсора
   На некоторых ПК между пунктом меню и выпадающим списком получается микрозазор.
   Добавляем hover-bridge и убираем лишний отступ сверху.
   ========================================================= */

.main-header .header-menu__item--dropdown{
  position: relative !important;
  padding-bottom: 14px !important;
  margin-bottom: -14px !important;
}

.main-header .header-menu__item--dropdown::after{
  content: "" !important;
  position: absolute !important;
  left: -12px !important;
  right: -12px !important;
  top: 100% !important;
  height: 18px !important;
  display: block !important;
}

.main-header .header-dropdown{
  top: calc(100% - 4px) !important;
  left: -14px !important;
  margin-top: 0 !important;
}

.main-header .header-dropdown:hover,
.main-header .header-menu__item--dropdown:hover .header-dropdown{
  display: block !important;
}




/* =========================================================
   FINAL OVERRIDE: full width square header + premium hover pills
   ========================================================= */

.main-header{
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.main-header .header-container--v2{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 34px !important;
  min-height: 96px !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
  background:
    radial-gradient(circle at 82% 24%, rgba(255,204,10,.16), transparent 18%),
    radial-gradient(circle at 94% 88%, rgba(221,42,27,.14), transparent 12%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #181818 100%) !important;
}

.main-header .header-logo--v2{
  margin-right: 18px !important;
}

.main-header .header-menu{
  gap: 10px !important;
}

.main-header .header-menu__item{
  position: relative !important;
}

.main-header .header-menu__link{
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  z-index: 1 !important;
  transition: color .22s ease !important;
}

.main-header .header-menu__link::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.03) 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 24px rgba(0,0,0,.16) !important;
  opacity: 0 !important;
  transform: scale(.96) !important;
  transition: opacity .22s ease, transform .22s ease, border-color .22s ease !important;
  z-index: -1 !important;
}

.main-header .header-menu__link::after{
  display: none !important;
}

.main-header .header-menu__link:hover::before,
.main-header .header-menu__item--dropdown:hover > .header-menu__link::before,
.main-header .header-menu__link:focus-visible::before{
  opacity: 1 !important;
  transform: scale(1) !important;
  border-color: rgba(255,204,10,.16) !important;
}

.main-header .header-menu__link:hover,
.main-header .header-menu__item--dropdown:hover > .header-menu__link,
.main-header .header-menu__link:focus-visible{
  color: #ffffff !important;
}

.main-header .header-menu__link--dropdown{
  gap: 8px !important;
}

.main-header .header-menu__caret{
  margin-top: -2px !important;
}

.main-header .header-menu__item--dropdown{
  padding-bottom: 16px !important;
  margin-bottom: -16px !important;
}

.main-header .header-menu__item--dropdown::after{
  height: 20px !important;
}

.main-header .header-dropdown{
  top: calc(100% - 2px) !important;
  left: -6px !important;
}

.main-header .header-right-block--v2{
  gap: 14px !important;
}

.main-header .header-phone--v2{
  min-height: 46px !important;
  padding: 0 22px !important;
}

.main-header .header-personal-link--v2{
  min-height: 46px !important;
  padding: 0 28px !important;
  border-radius: 14px !important;
}

@media (max-width: 1180px){
  .main-header .header-container--v2{
    min-height: 86px !important;
    padding: 0 22px !important;
    border-radius: 0 !important;
  }

  .main-header .header-logo--v2 img{
    width: 270px !important;
  }

  .main-header .header-menu{
    gap: 8px !important;
  }

  .main-header .header-menu__link{
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 920px){
  .main-header{
    padding: 0 !important;
  }

  .main-header .header-container--v2{
    min-height: 74px !important;
    padding: 0 16px !important;
    border-radius: 0 !important;
  }

  .main-header .header-logo--v2 img{
    width: 230px !important;
  }
}




/* ========================================================= */
/* HOME UNDERLAY FINAL — SMALL FILE, LOADED LAST             */
/* ========================================================= */

/*
  Причина проблемы на "том самом" ПК:
  style.css слишком перегружен старыми версиями фиксов (V7, V25, V26 и т.д.),
  часть из них конфликтует по специфичности и содержит очень большие встроенные data:image.
  На отдельных браузерах/ПК это может приводить к тому, что поздние правила
  применяются нестабильно или не применяются вовсе.

  Поэтому финальный фон выносим в отдельный небольшой CSS,
  который и так подключается ПОСЛЕДНИМ (header-final.css).
*/

/* Только главная */
.main-page-content{
  background: transparent !important;
}

/* Подложка на секциях главной — тем же уровнем специфичности */
.main-page-content > .main-slider-section,
.main-page-content > .about-us-section,
.main-page-content > .online-evaluation-section,
.main-page-content > .main-advantages-section,
.main-page-content > .main-addresses-section,
.main-page-content > .main-yandex-reviews-section,
.main-page-content > .home-news-section{
  background-color:#f3f3f3 !important;
  background-image:url('/upload/main-page-underlay-yellow-diamonds.v25.png?v=28') !important;
  background-repeat:repeat !important;
  background-size:980px 820px !important;
  background-position:center top !important;
}

/* Внутренние premium-обертки прозрачные */
.main-page-content .c4g-about-premium-v3,
.main-page-content .c4g-online-eval-premium,
.main-page-content .c4g-advantages-premium,
.main-page-content .c4g-main-reviews-premium{
  background:transparent !important;
}

/* Поднимаем контент над фоном */
.main-page-content > .main-slider-section > .container,
.main-page-content > .about-us-section > .container,
.main-page-content > .online-evaluation-section > .container,
.main-page-content > .main-advantages-section > .container,
.main-page-content > .main-addresses-section > .container,
.main-page-content > .main-yandex-reviews-section > .container,
.main-page-content > .home-news-section > .container{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:1200px){
  .main-page-content > .main-slider-section,
  .main-page-content > .about-us-section,
  .main-page-content > .online-evaluation-section,
  .main-page-content > .main-advantages-section,
  .main-page-content > .main-addresses-section,
  .main-page-content > .main-yandex-reviews-section,
  .main-page-content > .home-news-section{
    background-size:760px 635px !important;
  }
}

@media (max-width:768px){
  .main-page-content > .main-slider-section,
  .main-page-content > .about-us-section,
  .main-page-content > .online-evaluation-section,
  .main-page-content > .main-advantages-section,
  .main-page-content > .main-addresses-section,
  .main-page-content > .main-yandex-reviews-section,
  .main-page-content > .home-news-section{
    background-size:560px 470px !important;
  }
}

@media (max-width:576px){
  .main-page-content > .main-slider-section,
  .main-page-content > .about-us-section,
  .main-page-content > .online-evaluation-section,
  .main-page-content > .main-advantages-section,
  .main-page-content > .main-addresses-section,
  .main-page-content > .main-yandex-reviews-section,
  .main-page-content > .home-news-section{
    background-size:420px 352px !important;
  }
}




/* ========================================================= */
/* V35 SAFE: ТОЛЬКО ВЫРАВНИВАНИЕ ОТСТУПОВ БЕЗ ЛОМА ВЕРСТКИ   */
/* ========================================================= */

/*
  Что делаем:
  - берем чистую версию с подложкой из v28
  - НЕ трогаем контейнеры, flex, gap, inner wrappers
  - выравниваем только верхние отступы секций главной

  Логика:
  - у всех секций на главной оставляем их существующий нижний отступ
  - убираем разный верхний padding у следующих секций
  - первому блоку задаем нормальный верхний отступ от шапки
*/

.main-page-content > .main-slider-section{
  padding-top: 56px !important;
}

.main-page-content > .about-us-section,
.main-page-content > .online-evaluation-section,
.main-page-content > .main-advantages-section,
.main-page-content > .main-addresses-section,
.main-page-content > .main-yandex-reviews-section,
.main-page-content > .home-news-section{
  padding-top: 0 !important;
}

/* На случай внешних margin у внутренних блоков */
.main-page-content .c4g-about-premium-v3,
.main-page-content .c4g-online-eval-premium,
.main-page-content .c4g-advantages-premium,
.main-page-content .c4g-main-reviews-premium{
  margin-top: 0 !important;
}

@media (max-width:1200px){
  .main-page-content > .main-slider-section{
    padding-top: 44px !important;
  }
}

@media (max-width:768px){
  .main-page-content > .main-slider-section{
    padding-top: 32px !important;
  }
}

@media (max-width:576px){
  .main-page-content > .main-slider-section{
    padding-top: 24px !important;
  }
}




/* ========================================================= */
/* V36: ТОЛЬКО СТИЛЬ ЗАГОЛОВКА ОТЗЫВОВ                       */
/* ========================================================= */

.c4g-main-reviews-premium__head{
  margin-bottom:22px !important;
  text-align:center !important;
}

.c4g-main-reviews-premium__title{
  margin:0 !important;
  color:#000 !important;
  font-size:40px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

@media (max-width:768px){
  .c4g-main-reviews-premium__title{
    font-size:32px !important;
    line-height:1.12 !important;
  }
}


/* =========================================================
   C4G HEADER RESPONSIVE FIX
   Вставить в самый конец /css/header-final.css

   Исправляет адаптацию шапки на промежуточных разрешениях:
   - меню и кнопка «Личный кабинет» больше не налезают друг на друга;
   - на узких ноутбуках шапка становится компактнее;
   - на планшетах и маленьких экранах включается бургер-меню раньше;
   - убирается горизонтальный скролл из-за шапки.
   ========================================================= */

html,
body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

.main-header,
.main-header .header-container--v2{
  max-width:100% !important;
}

.main-header .header-container--v2{
  flex-wrap:nowrap !important;
}

.main-header .header-nav--v2{
  min-width:0 !important;
}

.main-header .header-menu{
  min-width:0 !important;
}

.main-header .header-right-block--v2{
  flex-shrink:0 !important;
}

/* Большие ноутбуки: делаем элементы компактнее, но оставляем обычное меню */
@media (max-width: 1500px) and (min-width: 1181px){
  .main-header .header-container--v2{
    min-height:88px !important;
    padding-left:24px !important;
    padding-right:24px !important;
    gap:14px !important;
  }

  .main-header .header-logo--v2{
    margin-right:8px !important;
  }

  .main-header .header-logo--v2 img{
    width:245px !important;
  }

  .main-header .header-menu{
    gap:6px !important;
  }

  .main-header .header-menu__link{
    min-height:46px !important;
    padding-left:13px !important;
    padding-right:13px !important;
    font-size:13px !important;
    letter-spacing:.01em !important;
  }

  .main-header .header-phone--v2{
    display:none !important;
  }

  .main-header .header-personal-link--v2{
    min-height:46px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }
}

/* Узкие ноутбуки и планшеты: включаем бургер раньше, чтобы шапка не ломалась */
@media (max-width: 1180px){
  .main-header{
    padding:0 !important;
  }

  .main-header .header-container--v2{
    min-height:74px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    gap:12px !important;
    justify-content:space-between !important;
  }

  .main-header .header-logo--v2{
    margin-right:0 !important;
    min-width:0 !important;
  }

  .main-header .header-logo--v2 img{
    width:230px !important;
    max-width:calc(100vw - 96px) !important;
  }

  .main-header .header-nav--v2,
  .main-header .header-right-block--v2{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .main-header .header-burger{
    display:flex !important;
    flex:0 0 48px !important;
    width:48px !important;
    height:48px !important;
    margin-left:auto !important;
  }
}

/* Десктоп: гарантированно показываем обычную шапку только там, где хватает места */
@media (min-width: 1181px){
  .main-header .header-mobile{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .main-header .header-burger{
    display:none !important;
  }

  .main-header .header-nav--v2{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .main-header .header-right-block--v2{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media (max-width: 576px){
  .main-header .header-container--v2{
    min-height:68px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .main-header .header-logo--v2 img{
    width:205px !important;
    max-width:calc(100vw - 86px) !important;
  }

  .main-header .header-burger{
    flex-basis:44px !important;
    width:44px !important;
    height:44px !important;
    border-radius:13px !important;
  }
}

@media (max-width: 380px){
  .main-header .header-logo--v2 img{
    width:185px !important;
  }
}


/* =========================================================
   C4G: REMOVE YELLOW DECORATIVE UNDERLAY — FINAL
   Вставить в самый конец /css/header-final.css

   Задача:
   - убрать жёлтые декоративные ромбы/подложку;
   - оставить единый спокойный фон #F3F3F3;
   - не трогать тёмные hero-блоки, карточки, кнопки и контент.
   ========================================================= */

html,
body,
body .wraper,
body main,
body .page,
body .main-page-content{
  background-color:#f3f3f3 !important;
  background-image:none !important;
}

/* Главная: убираем фон-картинку с контейнера и основных секций */
body .main-page-content,
body .main-page-content > .main-slider-section,
body .main-page-content > .about-us-section,
body .main-page-content > .online-evaluation-section,
body .main-page-content > .main-advantages-section,
body .main-page-content > .main-addresses-section,
body .main-page-content > .main-yandex-reviews-section,
body .main-page-content > .home-news-section,
body .main-page-content > .license-section{
  background-color:#f3f3f3 !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-size:auto !important;
  background-position:center center !important;
}

/* Убираем декоративные псевдослои, которые могли рисовать ромбы */
body .main-page-content::before,
body .main-page-content::after,
body .main-page-content > .main-slider-section::before,
body .main-page-content > .main-slider-section::after,
body .main-page-content > .about-us-section::before,
body .main-page-content > .about-us-section::after,
body .main-page-content > .online-evaluation-section::before,
body .main-page-content > .online-evaluation-section::after,
body .main-page-content > .main-advantages-section::before,
body .main-page-content > .main-advantages-section::after,
body .main-page-content > .main-addresses-section::before,
body .main-page-content > .main-addresses-section::after,
body .main-page-content > .main-yandex-reviews-section::before,
body .main-page-content > .main-yandex-reviews-section::after,
body .main-page-content > .home-news-section::before,
body .main-page-content > .home-news-section::after,
body .main-page-content > .license-section::before,
body .main-page-content > .license-section::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  background-image:none !important;
}

/* Дополнительная защита: если где-то фон задан через старую картинку */
body [style*="main-page-underlay-yellow-diamonds"],
body [style*="yellow-diamonds"]{
  background-image:none !important;
}
/* =========================================================
   C4G HOME: MOBILE MAIN SLIDER FIX V2
   Вставить в самый конец /css/header-final.css

   Важно:
   Этот файл исправляет предыдущий mobile-slider-fix, из-за которого
   слайды могли «слипнуться» и отображаться с перекосом.
   ========================================================= */

@media (max-width: 768px){
  html,
  body{
    overflow-x:hidden !important;
  }

  body .wraper,
  body main,
  body .page,
  body .main-page-content,
  body .main-page-content > .main-slider-section{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body .main-page-content > .main-slider-section{
    padding-top:16px !important;
    padding-bottom:36px !important;
  }

  body .main-page-content > .main-slider-section > .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body .c4g-premium-main-slider,
  body .c4g-premium-main-slider__swiper{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
    box-sizing:border-box !important;
  }

  /* Возвращаем Swiper нормальную механику: не ломаем flex-basis и не обнуляем зазор */
  body .c4g-premium-main-slider__swiper .swiper-wrapper{
    display:flex !important;
    align-items:stretch !important;
    height:auto !important;
    box-sizing:content-box !important;
  }

  body .c4g-premium-main-slider__swiper .swiper-slide{
    flex:0 0 auto !important;
    width:calc(100vw - 24px) !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin-right:18px !important;
    box-sizing:border-box !important;
  }

  body .c4g-premium-slide{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:auto !important;
    height:auto !important;
    display:block !important;
    padding:18px 16px 64px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body .c4g-premium-slide__content,
  body .c4g-premium-slide__text,
  body .c4g-premium-slide__list,
  body .c4g-premium-slide__actions,
  body .c4g-premium-slide__btn,
  body .c4g-premium-slide__hint{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body .c4g-premium-slide__eyebrow{
    max-width:100% !important;
    white-space:normal !important;
    margin-bottom:10px !important;
  }

  body .c4g-premium-slide__title{
    width:100% !important;
    max-width:100% !important;
    font-size:30px !important;
    line-height:1.04 !important;
    margin:0 0 10px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body .c4g-premium-slide__text{
    font-size:14px !important;
    line-height:1.48 !important;
    margin:0 0 14px !important;
  }

  body .c4g-premium-slide__list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin:0 0 16px !important;
  }

  body .c4g-premium-slide__list-item{
    width:100% !important;
    min-height:0 !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    font-size:13px !important;
    line-height:1.35 !important;
    box-sizing:border-box !important;
  }

  body .c4g-premium-slide__actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    margin:0 !important;
  }

  body .c4g-premium-slide__btn,
  body .c4g-premium-slide__hint{
    min-height:46px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
  }

  /* На телефонах правый блок карточек ломает ширину — прячем его */
  body .c4g-premium-slide__aside,
  body .c4g-premium-icon-grid,
  body .c4g-premium-icon-card{
    display:none !important;
  }

  body .c4g-premium-main-slider__arrow,
  body .c4g-premium-main-slider .swiper-button-prev,
  body .c4g-premium-main-slider .swiper-button-next{
    display:none !important;
  }

  body .c4g-premium-main-slider__pagination{
    bottom:16px !important;
  }
}

@media (max-width:420px){
  body .main-page-content > .main-slider-section > .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .c4g-premium-main-slider__swiper .swiper-slide{
    width:calc(100vw - 24px) !important;
  }

  body .c4g-premium-slide{
    padding:16px 14px 60px !important;
  }

  body .c4g-premium-slide__title{
    font-size:28px !important;
  }
}

@media (max-width:360px){
  body .main-page-content > .main-slider-section > .container{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body .c4g-premium-main-slider__swiper .swiper-slide{
    width:calc(100vw - 20px) !important;
  }

  body .c4g-premium-slide{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .c4g-premium-slide__title{
    font-size:26px !important;
  }
}
/* =========================================================
   C4G NEWS: MOBILE FIX
   Вставить в самый конец /css/header-final.css или общего CSS

   Исправляет новости на телефоне:
   - карточки идут в одну колонку;
   - изображения не сжимаются в узкие полосы;
   - текст не вылезает и не режется по буквам;
   - убирается горизонтальный сдвиг.
   ========================================================= */

@media (max-width: 768px){
  html,
  body{
    overflow-x:hidden !important;
  }

  body .home-news-section,
  body .news-list-page,
  body .news-page,
  body .news-section{
    overflow-x:hidden !important;
    background:#f3f3f3 !important;
  }

  body .home-news-section > .container,
  body .news-list-page > .container,
  body .news-page > .container,
  body .inner-page-content > .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  body .home-news-section{
    padding-top:42px !important;
    padding-bottom:52px !important;
  }

  body .section-title,
  body .news-list-page h1,
  body .news-page h1,
  body .inner-page-content h1{
    font-size:32px !important;
    line-height:1.08 !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:24px !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }

  body .home-news-grid,
  body .news-list-page,
  body .news-list-page .row,
  body .news-list-grid,
  body .news-grid,
  body .news-list,
  body .news-items,
  body .news-page__grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  body .home-news-grid > *,
  body .news-list-page > *,
  body .news-list-page .row > *,
  body .news-list-grid > *,
  body .news-grid > *,
  body .news-list > *,
  body .news-items > *,
  body .news-page__grid > *{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:0 0 100% !important;
    box-sizing:border-box !important;
  }

  body .news-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:20px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 12px 26px rgba(0,0,0,.07) !important;
    transform:none !important;
  }

  body .news-card:hover{
    transform:none !important;
  }

  body .news-card__image{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#ececec !important;
  }

  body .news-card__image img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
  }

  body .news-card__content,
  body .news-card-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:18px !important;
    box-sizing:border-box !important;
    background:#fff !important;
  }

  body .news-card__title,
  body .news-card-title,
  body .news-card h2,
  body .news-card h3{
    font-size:19px !important;
    line-height:1.28 !important;
    margin-bottom:10px !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  body .news-card__date,
  body .news-card-date{
    font-size:13px !important;
    line-height:1.3 !important;
  }

  body .all-news-link-wrapper{
    margin-top:26px !important;
  }

  body .btn-more{
    width:100% !important;
    max-width:320px !important;
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:12px 18px !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 420px){
  body .home-news-section > .container,
  body .news-list-page > .container,
  body .news-page > .container,
  body .inner-page-content > .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .section-title,
  body .news-list-page h1,
  body .news-page h1,
  body .inner-page-content h1{
    font-size:29px !important;
    margin-bottom:20px !important;
  }

  body .news-card__content,
  body .news-card-content{
    padding:16px !important;
  }

  body .news-card__title,
  body .news-card-title,
  body .news-card h2,
  body .news-card h3{
    font-size:18px !important;
  }
}
/* =========================================================
   C4G NEWS PAGE: MOBILE FIX FOR /news/
   Вставить в самый конец общего CSS, который подключается на странице /news/

   Исправляет отдельную страницу новостей:
   - на телефоне карточки идут в одну колонку;
   - карточки не сжимаются в узкие столбцы;
   - изображения сохраняют нормальные пропорции;
   - текст не режется по буквам;
   - убирается горизонтальный сдвиг.
   ========================================================= */

@media (max-width: 768px){
  html,
  body{
    overflow-x:hidden !important;
  }

  /* Контейнеры отдельной страницы новостей */
  body .news-page,
  body .news-list-page,
  body .news-section,
  body .news-list-section,
  body .all-news-page,
  body .page-news,
  body .c4g-news-page,
  body .news{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body .news-page > .container,
  body .news-list-page > .container,
  body .news-section > .container,
  body .news-list-section > .container,
  body .all-news-page > .container,
  body .page-news > .container,
  body .c4g-news-page > .container,
  body .news > .container,
  body .news-page .container,
  body .news-list-page .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  /* Заголовок */
  body .news-page h1,
  body .news-list-page h1,
  body .news-section h1,
  body .all-news-page h1,
  body .page-news h1,
  body .c4g-news-page h1,
  body .news h1{
    font-size:34px !important;
    line-height:1.05 !important;
    text-align:center !important;
    margin:24px 0 24px !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  /* Сетки новостей: Bitrix, bootstrap, кастомные grid/flex */
  body .news-list,
  body .news-items,
  body .news-grid,
  body .news-list-grid,
  body .news-page__grid,
  body .news-section__grid,
  body .all-news-grid,
  body .c4g-news-grid,
  body .news-page .row,
  body .news-list-page .row,
  body .news-section .row,
  body .all-news-page .row,
  body .page-news .row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Bootstrap-колонки внутри списка новостей */
  body .news-page .row > [class*="col-"],
  body .news-list-page .row > [class*="col-"],
  body .news-section .row > [class*="col-"],
  body .all-news-page .row > [class*="col-"],
  body .page-news .row > [class*="col-"]{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Прямые дети сеток */
  body .news-list > *,
  body .news-items > *,
  body .news-grid > *,
  body .news-list-grid > *,
  body .news-page__grid > *,
  body .news-section__grid > *,
  body .all-news-grid > *,
  body .c4g-news-grid > *{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* Карточки новостей */
  body .news-card,
  body .news-item,
  body .news-list-item,
  body .news-preview,
  body .news-element,
  body .c4g-news-card,
  body .news-page article,
  body .news-list-page article{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:22px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  /* Картинки */
  body .news-card img,
  body .news-item img,
  body .news-list-item img,
  body .news-preview img,
  body .news-element img,
  body .c4g-news-card img,
  body .news-page article img,
  body .news-list-page article img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    display:block !important;
  }

  /* Если картинка лежит в отдельной обертке */
  body .news-card__image,
  body .news-card-image,
  body .news-item__image,
  body .news-preview__image,
  body .news-list-item__image,
  body .c4g-news-card__image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    overflow:hidden !important;
    border-radius:18px 18px 0 0 !important;
  }

  /* Текстовая часть */
  body .news-card__content,
  body .news-card-content,
  body .news-item__content,
  body .news-preview__content,
  body .news-list-item__content,
  body .c4g-news-card__content,
  body .news-page article .content,
  body .news-list-page article .content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:18px !important;
    box-sizing:border-box !important;
  }

  /* Названия */
  body .news-card__title,
  body .news-card-title,
  body .news-item__title,
  body .news-preview__title,
  body .news-list-item__title,
  body .c4g-news-card__title,
  body .news-page article h2,
  body .news-page article h3,
  body .news-list-page article h2,
  body .news-list-page article h3{
    font-size:22px !important;
    line-height:1.18 !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    margin-bottom:10px !important;
  }

  /* Дата и описание */
  body .news-card__date,
  body .news-card-date,
  body .news-item__date,
  body .news-preview__date,
  body .news-list-item__date,
  body .c4g-news-card__date{
    font-size:13px !important;
    line-height:1.35 !important;
    margin-top:8px !important;
  }

  body .news-card__text,
  body .news-card-text,
  body .news-item__text,
  body .news-preview__text,
  body .news-list-item__text,
  body .c4g-news-card__text,
  body .news-page article p,
  body .news-list-page article p{
    font-size:14px !important;
    line-height:1.55 !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

@media (max-width: 420px){
  body .news-page > .container,
  body .news-list-page > .container,
  body .news-section > .container,
  body .news-list-section > .container,
  body .all-news-page > .container,
  body .page-news > .container,
  body .c4g-news-page > .container,
  body .news > .container,
  body .news-page .container,
  body .news-list-page .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .news-page h1,
  body .news-list-page h1,
  body .news-section h1,
  body .all-news-page h1,
  body .page-news h1,
  body .c4g-news-page h1,
  body .news h1{
    font-size:30px !important;
    margin:20px 0 20px !important;
  }

  body .news-card__content,
  body .news-card-content,
  body .news-item__content,
  body .news-preview__content,
  body .news-list-item__content,
  body .c4g-news-card__content,
  body .news-page article .content,
  body .news-list-page article .content{
    padding:16px !important;
  }

  body .news-card__title,
  body .news-card-title,
  body .news-item__title,
  body .news-preview__title,
  body .news-list-item__title,
  body .c4g-news-card__title,
  body .news-page article h2,
  body .news-page article h3,
  body .news-list-page article h2,
  body .news-list-page article h3{
    font-size:20px !important;
  }
}
