.elementor-container-height-cards>.elementor-container {
  flex-wrap: nowrap !important;
}


.elementor-container-height-cards .elementor-heading-title {
  height: 100%;
}

.contact-buttons-compact .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}


.contact-buttons-compact .elementor-icon-box-icon {
  width: auto !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.contact-buttons-compact .elementor-icon-box-content {
  margin: 0 !important;
}

.contact-buttons-compact .elementor-icon-box-title {
  font-size: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

.contact-buttons-compact .elementor-icon {
  font-size: 18px !important;
  width: auto !important;
}

/* 2. Видео на всю ширину без пустот */
.video-full-width {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.video-full-width iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.video-full-width .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.video-full-width .elementor-column {
  padding: 0 !important;
  margin: 0 !important;
}

.video-section-compact {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.video-section-compact .elementor-spacer {
  display: none !important;
}

/* 3. Цены в мобильной версии - ровное отображение в строку */
.pricing-cards-mobile {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.pricing-cards-mobile .elementor-razmetka {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 15px 10px !important;
  box-sizing: border-box !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  /* Запрещаем перенос */
}

.pricing-cards-mobile .elementor-column {
  width: auto !important;
  flex: 1 1 50% !important;
  /* Растягиваем равномерно */
  max-width: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  /* Разрешаем сжиматься */
}

.pricing-cards-mobile .elementor-widget-heading {
  margin: 0 !important;
}

.pricing-cards-mobile .elementor-heading-title {
  font-size: 14px !important;
  line-height: 1.3 !important;
  text-align: left !important;
  margin: 0 !important;
}

@media screen and (max-width: 1024px) {
  .elementor-container-height-cards .elementor-container {
    flex-wrap: nowrap !important;
  }
}


.pricing-cards-mobile .elementor-widget-text-editor {
  margin: 0 !important;
  text-align: right !important;
}

.pricing-cards-mobile .elementor-widget-text-editor p {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Мобильная адаптация для цен - СТРОГО ГОРИЗОНТАЛЬНО */
@media screen and (max-width: 767px) {
  .pricing-cards-mobile .elementor-razmetka {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    /* Ключевое - запрещаем перенос */
    justify-content: space-between !important;
    align-items: center !important;
    min-height: 50px !important;
    width: 100% !important;
  }

  .pricing-cards-mobile .elementor-column {
    flex: 1 1 50% !important;
    /* Равномерное распределение */
    max-width: 50% !important;
    min-width: 0 !important;
    /* Разрешаем сжиматься содержимому */
    width: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Переопределяем стили Elementor для колонок */
  .pricing-cards-mobile .elementor-column>.elementor-element-populated {
    padding: 0 !important;
    width: 100% !important;
  }

  .pricing-cards-mobile .elementor-heading-title {
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    /* Разрешаем перенос текста заголовка */
    word-break: break-word !important;
  }

  .pricing-cards-mobile .elementor-widget-text-editor p {
    font-size: 13px !important;
    white-space: nowrap !important;
    /* Цена в одну строку */
  }
}

/* 4. Уменьшение интервалов и пустот */
.spacing-compact {
  margin-bottom: 10px !important;
  margin-top: 10px !important;
}

.spacing-compact .elementor-spacer {
  display: none !important;
}

.spacing-compact .elementor-widget {
  margin-bottom: 10px !important;
}

.spacing-compact h2,
.spacing-compact h3,
.spacing-compact h4,
.spacing-compact h6 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  line-height: 1.2 !important;
}

.spacing-compact .elementor-widget-text-editor {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.spacing-compact .elementor-section {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.spacing-compact .elementor-container {
  gap: 10px !important;
}

/* Уменьшение отступов в секции цен */
.pricing-section-compact .elementor-section {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.pricing-section-compact .elementor-container {
  padding: 0 !important;
  margin: 0 !important;
}

.pricing-section-compact .elementor-widget-wrap {
  padding: 5px !important;
}

/* 5. Дополнительные классы для мобильной оптимизации */
@media screen and (max-width: 767px) {
  .mobile-compact h2 {
    font-size: 20px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
  }

  .mobile-compact h3 {
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }

  .mobile-compact h6 {
    font-size: 12px !important;
    line-height: 1.2 !important;
    margin-bottom: 5px !important;
  }

  .mobile-compact .elementor-widget {
    margin-bottom: 8px !important;
  }

  .mobile-compact .elementor-section {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
}

/* 6. Класс для секции с видео - убрать пустоты */
.gallery-video-section .elementor-column-gap-wider {
  gap: 0 !important;
}

.gallery-video-section .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* 7. Класс для кнопок - компактное отображение */
.button-compact .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

/* 8. Класс для секции контактов - компактно */
.contact-section-compact .elementor-widget-heading {
  margin-bottom: 10px !important;
}

.contact-section-compact .elementor-widget-text-editor {
  margin-bottom: 10px !important;
}

.contact-section-compact .elementor-spacer {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .elementor-container-height-cards .elementor-widget-container .elementor-heading-title{
        height: 100%;
    display: flex;
    align-items: center;
    font-size: 13px !important;
  }
    .elementor-container-height-cards .elementor-widget-container p{
      font-size: 13px !important;
    }
    .elementor-container-height-cards .elementor-widget-container{
        height: 100%;
        display: flex;
        align-items: center;
    }
    .elementor-container-height-cards .elementor-element{
      display: flex;
      align-items: center;
      justify-content: center;
        height: 100%;
    }
    .elementor-container-height-cards .elementor-widget-container span{
      font-size: 13px;
    }
}

@media screen and (max-width: 550px) {
 .elementor-container-height-cards .elementor-widget-container .elementor-heading-title{
        height: 100%;
    display: flex;
    align-items: center;
    font-size: 10px !important;
  }
    .elementor-container-height-cards .elementor-widget-container p{
      font-size: 10px !important;
    }
}
.elementor-heading-title-land  .elementor-widget-wrap{
background-color:#24427D !important;

}
.elementor-heading-title-land  .elementor-widget-wrap:first-child{
background-color:#24427D !important;
border-top-left-radius: 20px;
color:white !important;
display: flex;
align-items: center;
text-align: center;
}
.elementor-heading-title-land-two .elementor-widget-wrap:first-child{
background-color:#24427D !important;
border-top-right-radius: 20px;
text-align: center;

}
.elementor-heading-title-land p{
  color:white !important;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.elementor-heading-title-land-two span{
  color:white !important;
   display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.elementor-heading-title-land .elementor-widget-container span{
color:white !important;
}

.elementor-heading-title-land-two .elementor-widget-container p{
color:white !important;
}
@media screen and (max-width:768px) {
  .elementor-container-height-cards .elementor-widget-container p{
  font-size: 13px  !important;
}
  .elementor-container-height-cards .elementor-widget-container p{
    font-size: 13px !important;
  }
}
.leomobile a{
  display: flex;
  justify-content: center;
  gap:20px;

}

.elementor-container-height-cards .elementor-widget-container span{
  font-size: 14px !important;
}

.elementor-container-height-cards .elementor-widget-container p{
  font-size: 13px !important;
}



/* ============================================
   КЛАССЫ ДЛЯ ВИДЕО НА 100% ШИРИНЫ
   ============================================ */

/* 
   УНИВЕРСАЛЬНЫЙ КЛАСС — вешается на <section> вокруг видео.
   Пробивает ограничения Elementor (boxed, 65%, col-33 и т.д.)
*/
html body .video-all-fullwidth {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html body .video-all-fullwidth > .elementor-container,
html body .video-all-fullwidth.elementor-section > .elementor-container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Перебиваем width: 65% !important из inline-стилей темы */
html body .video-all-fullwidth .elementor-container.elementor-container-width-double .elementor-column,
html body .video-all-fullwidth.elementor-section .elementor-container.elementor-container-width-double .elementor-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Убираем лишние внутренние отступы */
html body .video-all-fullwidth .elementor-widget-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body .video-all-fullwidth .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Делаем iframe/video адаптивным 16:9 */
html body .video-all-fullwidth iframe,
html body .video-all-fullwidth video {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
  display: block !important;
  border: none !important;
}

/* 
   АЛЬТЕРНАТИВА: если хотите управлять отдельно 
   только самим тегом <iframe> или <video> 
*/
.video-iframe-responsive,
.video-iframe-responsive iframe,
.video-html5-responsive,
.video-html5-responsive video {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9 !important;
  display: block !important;
}

/* Мобильная адаптация */
@media screen and (max-width: 767px) {
  html body .video-all-fullwidth iframe,
  html body .video-all-fullwidth video {
    min-height: 220px !important;
  }
}


/* ============================================
   ТАБЛИЦА ЦЕН — фон строк после шапки
   ============================================ */

/* Шапка таблицы (первая .elementor-container-height-cards внутри .rodelem) — оставляем синей */
.rodelem > .elementor-container-height-cards:first-of-type .elementor-widget-wrap.elementor-element-populated {
  background-color: #24427D !important;
}

/* Все строки таблицы после шапки — белый фон по умолчанию */
.rodelem > .elementor-container-height-cards:not(:nth-child(3)) .elementor-widget-wrap.elementor-element-populated {
  background-color: #ffffff !important;
}
.rodelem > .elementor-container-height-cards:nth-child(3) .elementor-widget-wrap.elementor-element-populated {
  color: #ffffff !important;
}
/* Чередование: каждая вторая строка (чётный <section>) — #f5f6f8 */
.rodelem > section.elementor-container-height-cards:nth-of-type(2n) .elementor-widget-wrap.elementor-element-populated {
  background-color: #f5f6f8 !important;
}

.rodelem > section.elementor-container-height-cards:not(:nth-child(3)):hover .elementor-widget-wrap.elementor-element-populated {
  background-color: orange !important;
}

/* Текст внутри строк — тёмный, чтобы был виден на белом/сером фоне */
.rodelem > .elementor-container-height-cards:not(:first-of-type) .elementor-widget-wrap.elementor-element-populated p,
.rodelem > .elementor-container-height-cards:not(:first-of-type) .elementor-widget-wrap.elementor-element-populated span,
.rodelem > .elementor-container-height-cards:not(:first-of-type) .elementor-widget-wrap.elementor-element-populated .elementor-heading-title {
  color: #131518 !important;
}

/* Левая ячейка шапки — заголовок "Услуги" */
/* .rodelem > .elementor-container-height-cards:nth-child(3) 
  .elementor-heading-title-land 
    .elementor-heading-title {
      color: #FFF !important;
} */

/* Правая ячейка шапки — текст "Стоимость в ₽" */
.rodelem > .elementor-container-height-cards:nth-child(3) 
  .elementor-heading-title-land-two 
    .elementor-widget-container p {
      color: #FFF !important;
}
/* Правая ячейка шапки — текст "Стоимость в ₽" */
.rodelem > .elementor-container-height-cards:nth-child(3) 
  .elementor-heading-title-land 
    .elementor-widget-container .elementor-heading-title {
      color: #FFF !important;
}


/* Все строки таблицы, кроме первой (шапки): вторая колонка (цены) */
.rodelem > .elementor-container-height-cards:not(:nth-child(3)) .elementor-column:nth-child(2) .elementor-widget-wrap.elementor-element-populated p,
.rodelem > .elementor-container-height-cards:not(:nth-child(3)) .elementor-column:nth-child(2) .elementor-widget-wrap.elementor-element-populated span,
.rodelem > .elementor-container-height-cards:not(:nth-child(3)) .elementor-column:nth-child(2) .elementor-widget-wrap.elementor-element-populated .elementor-heading-title,
.rodelem > .elementor-container-height-cards:not(:nth-child(3)) .elementor-column:nth-child(2) .elementor-widget-wrap.elementor-element-populated div {
  color: #24427d !important;
}
@media screen and (max-width:768px) {
 #logo .scale-with-grid {
  max-height: 35px !important;
}
}
.leomobilenav{
  display: block !important;
}