/* ====== Рабочий слайдер (замена slick.js) ====== */
.fm-slider{position:relative;overflow:hidden;width:100%;}
.fm-slider__list{overflow:hidden;width:100%;}
.fm-slider__track{
  display:flex;
  transition:transform .55s ease;
  will-change:transform;
}
.fm-slider__track .fm-slide{
  position:relative;
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  min-height:560px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  float:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
}
.fm-slide .slider-item__background,
.fm-slide .slider-item__bg-img{
  position:absolute !important;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  z-index:0 !important;
  margin:0 !important;
  flex:none !important;
}
.fm-slide .slider-item__content{
  position:relative;
  z-index:2;
  width:100%;
  display:block !important;
}
.fm-slide .slider__item-constraint{display:none;}
/* картинка-плашка внутри слайда */
.fm-slide .mrb-image img,
.fm-slide .slider-item__content img{
  display:inline-block;
  max-width:100%;
  height:auto;
}
.fm-slide .slider-item__content .column{
  width:100%;
  max-width:1170px;
  margin:0 auto;
  padding:30px 15px;
}

/* стрелки */
.fm-slider__arrow{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:48px !important;height:48px !important;
  border:none !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.85) !important;
  cursor:pointer;
  z-index:6;
  padding:0;
  display:block !important;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  transition:background .2s;
}
.fm-slider__arrow:hover{background:#fff !important;}
.fm-slider__arrow::before{
  content:"" !important;
  display:block;
  width:12px;height:12px;
  border-top:3px solid #5f7d3a;
  border-right:3px solid #5f7d3a;
  position:absolute;
  top:50%;left:50%;
}
.fm-slider__arrow::after{content:none !important;}
.fm-slider__arrow--prev{left:18px !important;right:auto !important;}
.fm-slider__arrow--prev::before{transform:translate(-30%,-50%) rotate(-135deg);}
.fm-slider__arrow--next{right:18px !important;left:auto !important;}
.fm-slider__arrow--next::before{transform:translate(-70%,-50%) rotate(45deg);}

/* точки */
.fm-slider__dots{
  position:absolute !important;
  bottom:80px !important;
  left:0;right:0;
  display:flex !important;
  justify-content:center;
  gap:12px;
  margin:0;padding:0;
  list-style:none;
  width:100%;
  z-index:7;
}
.fm-slider__dots li{
  margin:0 !important;
  width:auto;height:auto;
  display:block;
}
.fm-slider__dots li button{
  width:13px !important;
  height:13px !important;
  padding:0 !important;
  border:2px solid #fff !important;
  border-radius:50% !important;
  background:transparent !important;
  cursor:pointer;
  font-size:0;
  line-height:0;
  box-shadow:0 0 4px rgba(0,0,0,.3);
  transition:background .2s,transform .2s;
}
.fm-slider__dots li button:hover{
  background:rgba(255,255,255,.5) !important;
}
.fm-slider__dots li.is-active button{
  background:#fff !important;
  transform:scale(1.15);
}
.fm-slider__dots li button::before{content:none !important;}

@media (max-width:768px){
  .fm-slide{min-height:360px;}
  .fm-slider__arrow{width:38px;height:38px;}
  .fm-slider__arrow--prev{left:8px;}
  .fm-slider__arrow--next{right:8px;}
}
@media (max-width:480px){
  .fm-slide{min-height:260px;}
}

/* ====== Фикс двухколоночной раскладки «ОБО МНЕ» ====== */
.mrb-row_imageAndText{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:flex-start;
}
.mrb-row_imageAndText > [class*="mrb-"]{
  display:block !important;
  float:none !important;
}
.mrb-row_imageAndText > .mrb-col-index-0{
  flex:0 0 33.33333% !important;
  max-width:33.33333%;
}
.mrb-row_imageAndText > .mrb-col-index-1{
  flex:0 0 66.66667% !important;
  max-width:66.66667%;
}
@media (max-width:640px){
  .mrb-row_imageAndText{
    flex-wrap:wrap !important;
  }
  .mrb-row_imageAndText > .mrb-col-index-0,
  .mrb-row_imageAndText > .mrb-col-index-1{
    flex:0 0 100% !important;
    max-width:100%;
  }
}

/* ====== Фикс двухколоночной раскладки контактов ====== */
.contacts__list .-inline-group_top.row{
  display:flex !important;
  flex-wrap:wrap !important;
}
.contacts__list .-inline-group_top.row > .inline-column.contacts__item{
  flex:0 0 50% !important;
  max-width:50%;
  display:block !important;
  float:none !important;
  box-sizing:border-box;
}
@media (max-width:640px){
  .contacts__list .-inline-group_top.row > .inline-column.contacts__item{
    flex:0 0 100% !important;
    max-width:100%;
  }
}

/* ====== Фикс раскладки карточек услуг ====== */
.service-item__content > .row.-inline-group_top,
.service-item__content > .-inline-group_top{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch;
}
.service-item__content > .row.-inline-group_top > .inline-column,
.service-item__content > .-inline-group_top > .inline-column{
  display:block !important;
  float:none !important;
  flex:0 0 50%;
  max-width:50%;
  box-sizing:border-box;
}
.service-item__image{
  height:100%;
}
.service-item__image img,
.service-item__image picture{
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-item__image picture img{
  display:block;
}

/* отступ при переходе по якорям меню (под фиксированную шапку) */
html{scroll-padding-top:120px;}
@media (max-width:768px){html{scroll-padding-top:80px;}}

/* ====== Слайдер отзывов ====== */
#commentsSlider .slick-list{overflow:hidden;width:100%;}
#commentsSlider .comments-slider__track{
  display:flex;
  transition:transform .45s ease;
  will-change:transform;
}
#commentsSlider .comments-slider__track .comment_wrap{
  flex:0 0 100%;
  min-width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#commentsDots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
#commentsDots li button{
  width:12px;height:12px;
  padding:0;
  border:2px solid #9bbb59;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  font-size:0;line-height:0;
  transition:background .2s;
}
#commentsDots li button:hover{background:rgba(155,187,89,.4);}
#commentsDots li.is-active button{background:#9bbb59;}
/* ====== Триггеры (СХЕМА РАБОТЫ / преимущества) — адаптивная сетка ====== */
.bl-triggers-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);   /* всегда 2 колонки на мобильной/планшете */
  gap: 36px 16px;
  font-size: 1rem !important;   /* перебиваем inline font-size:0 */
  justify-items: center;
  align-items: start;
}
/* десктоп — авто-раскладка по ширине */
@media (min-width: 1024px){
  .bl-triggers-list{
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  }
  /* преимущества — 3 в ряд (6 штук => две строки) */
  .bl-triggers-list.bl-triggers_3{
    grid-template-columns: repeat(3, 1fr) !important;
  }
  /* схема работы — 4 в ряд */
  .bl-triggers-list.bl-triggers_4{
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
/* очень узкие экраны — одна колонка */
@media (max-width: 380px){
  .bl-triggers-list{
    grid-template-columns: 1fr !important;
  }
}
/* одинокий последний блок в 2-колоночной сетке — на всю ширину по центру */
@media (max-width: 1023.98px){
  .bl-triggers-list .bl-trigger:last-child:nth-child(odd){
    grid-column: 1 / -1;
  }
}
.bl-triggers-list .bl-trigger {
  width: 100% !important;
  max-width: 240px;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  box-sizing: border-box;
}
/* кружок-иконка строго по центру колонки */
.bl-triggers-list .blr-trigger-media,
.bl-triggers-list .bl-trigger-img {
  margin-left: auto !important;
  margin-right: auto !important;
}
.bl-triggers-list .bl-trigger-text { margin-top: 10px; }
.bl-triggers-list .bl-trigger-text p { margin: 0; }