/* Запасная раскладка Elementor-блоков, чей post-NN.css не сохранился в архиве.
   Действует ТОЛЬКО внутри .mt-nocss (класс ставит el_fix.py на блок без CSS).
   Принцип: работать через переменные Elementor и никогда не сжимать колонки уже 280px. */

.mt-nocss{--mt-ink:#1E2656;--mt-muted:#5c6275;--mt-brand:#2B4DFF;--mt-soft:#F5F6F7;--mt-line:#e6e8f0;--mt-hero:linear-gradient(135deg,#0a1650,#13307f 55%,#2B4DFF);--mt-hero-kicker:#9fb4ff}
body.wp-theme-lawguru .mt-nocss{--mt-hero-img:url(/demos/wp/lawguru/wp-content/uploads/2023/09/breadcrumb-2.png);--mt-ink:#0A377F;--mt-muted:#5f5a52;--mt-brand:#9E6B58;--mt-soft:#F3EFE1;--mt-line:#e7dfcc;--mt-hero:linear-gradient(135deg,#06214f,#0A377F 60%,#14468f);--mt-hero-kicker:#e6c7b6}
/* цвета утерянного CSS: заголовки в фирменном тёмном вместо голубого Elementor по умолчанию */
.mt-nocss .mt-ink{color:var(--mt-ink)!important}
.mt-nocss .elementor-widget-text-editor{color:var(--mt-muted)}
/* ничего не вылезает за край страницы */
.mt-nocss>:is(.e-con,.elementor-section){overflow-x:clip}

/* секции верхнего уровня: поля и центрированный контент */
.mt-nocss>.e-con.e-parent{--padding-top:clamp(48px,6vw,96px);--padding-bottom:clamp(48px,6vw,96px);--padding-left:clamp(16px,3vw,32px);--padding-right:clamp(16px,3vw,32px);--gap:clamp(20px,3vw,40px);--row-gap:clamp(20px,3vw,40px);--column-gap:clamp(20px,3vw,40px)}
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):nth-child(even){background-color:var(--mt-soft)}
.mt-nocss .e-con{--display:flex;--gap:20px;--row-gap:20px;--column-gap:24px;--container-max-width:1200px}

/* колонки: контейнер, у которого 2+ дочерних контейнера, раскладываем в ряд с переносом.
   Каждая колонка не уже 280px — при нехватке места она уходит на новую строку. */
@media (min-width:768px){
  .mt-nocss .e-con-full:has(>.e-con+.e-con),
  .mt-nocss .e-con-boxed:has(>.e-con-inner>.e-con+.e-con){--flex-direction:row;--flex-wrap:wrap;--align-items:center}
  .mt-nocss .e-con-boxed:has(>.e-con-inner>.e-con+.e-con)>.e-con-inner{flex-wrap:wrap;align-items:center}
  .mt-nocss .e-con-full:has(>.e-con+.e-con)>.e-con,
  .mt-nocss .e-con-boxed>.e-con-inner:has(>.e-con+.e-con)>.e-con{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:280px;min-width:min(100%,280px)}
  /* 5+ мелких колонок (логотипы, счётчики) — сеткой */
  .mt-nocss .e-con-full:has(>.e-con+.e-con+.e-con+.e-con+.e-con)>.e-con{--flex-basis:200px;min-width:min(100%,200px)}
}
/* на мобильном всё в столбик */
@media (max-width:767px){.mt-nocss .e-con{--flex-direction:column;--width:100%}}

/* виджеты не растягиваются шире колонки и не сжимаются в ноль */
.mt-nocss .elementor-widget{max-width:100%;min-width:0}
.mt-nocss .elementor-widget-image img,.mt-nocss img{max-width:100%;height:auto}
.mt-nocss .elementor-widget-image img{border-radius:16px}
.mt-nocss .elementor-heading-title{text-wrap:balance;overflow-wrap:normal;word-break:normal}
.mt-nocss h1.elementor-heading-title{font-size:clamp(32px,3.8vw,56px);line-height:1.1}
.mt-nocss h2.elementor-heading-title{font-size:clamp(28px,3.4vw,44px);line-height:1.15}
.mt-nocss .elementor-widget-text-editor{max-width:68ch}

/* первый экран (hero или полоса заголовка страницы): фон-картинка жила в утерянном CSS — фирменный тёмный градиент */
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child:has(.elementor-widget-heading,.elementor-heading-title,.elementor-widget-mas-addons-heading,h1,h2,h3){background:var(--mt-hero)!important}
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child:has(.elementor-widget-heading,.elementor-heading-title,.elementor-widget-mas-addons-heading,h1,h2,h3) :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor *,p,li,span:not([class*=btn]):not([class*=button]),.mas-addons-breadcrumbs-item,.mas-addons-breadcrumbs-item a){color:#fff}
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child:has(.elementor-widget-heading,.elementor-heading-title,.elementor-widget-mas-addons-heading,h1,h2,h3) :is(h5,h6).elementor-heading-title{color:var(--mt-hero-kicker);letter-spacing:.12em;text-transform:uppercase;font-size:15px}

/* слайдеры (Swiper/Slick): без CSS страницы JS сжимает слайды в узкие полосы.
   Показываем их статичной адаптивной сеткой — читаемо на любой ширине. */
.mt-nocss :is(.swiper,.swiper-container,.slick-slider){overflow:visible!important;height:auto!important}
.mt-nocss :is(.swiper-wrapper,.slick-track){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px;transform:none!important;width:auto!important;height:auto!important;transition:none!important}
.mt-nocss :is(.swiper-slide,.slick-slide){width:auto!important;max-width:none!important;margin:0!important;height:auto!important;opacity:1!important;visibility:visible!important}
.mt-nocss :is(.swiper-slide-duplicate,.slick-cloned){display:none!important}
.mt-nocss .slick-list{overflow:visible!important;height:auto!important;padding:0!important;width:100%!important}
.mt-nocss .slick-slider{display:block!important;width:100%}
.mt-nocss :is(.swiper-pagination,.swiper-button-next,.swiper-button-prev,.slick-dots,.slick-arrow){display:none!important}

/* анимации появления запускает JS — если не отработал, контент должен быть виден */
.mt-nocss :is(.elementor-invisible,.animejs-element,.animejs-element .elementor-element){visibility:visible!important;opacity:1!important;transform:none!important}

/* видимость по устройствам (в утерянном CSS) */
@media (max-width:767px){.mt-nocss .elementor-hidden-mobile{display:none!important}}
@media (min-width:768px) and (max-width:1024px){.mt-nocss .elementor-hidden-tablet{display:none!important}}
@media (min-width:1025px){.mt-nocss .elementor-hidden-desktop{display:none!important}}

/* колонка со слайдером/сеткой карточек занимает всю ширину ряда — заголовок секции уходит над ней */
@media (min-width:768px){
  .mt-nocss .e-con-boxed>.e-con-inner:has(>.e-con+.e-con)>.e-con:has(:is(.swiper,.swiper-container,.slick-slider,.row)),
  .mt-nocss .e-con-full:has(>.e-con+.e-con)>.e-con:has(:is(.swiper,.swiper-container,.slick-slider,.row)){--flex-basis:100%;min-width:100%}
  /* колонка с 3+ вложенными блоками (тарифы, карточки) — тоже на всю ширину: иначе карточки встают в столбик */
  .mt-nocss .e-con-boxed>.e-con-inner:has(>.e-con+.e-con)>.e-con:has(>.e-con+.e-con+.e-con),
  .mt-nocss .e-con-full:has(>.e-con+.e-con)>.e-con:has(>.e-con+.e-con+.e-con){--flex-basis:100%;min-width:100%}
}
.mt-nocss :is(.swiper-wrapper,.slick-track){grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.mt-nocss :is(.swiper-slide,.slick-slide)>*{height:100%}
/* bootstrap-ряды тем (карточки блога/проектов) внутри запасной раскладки */
.mt-nocss .row:not(.slick-slider):not(.swiper){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px;margin:0!important}
.mt-nocss .row:not(.slick-slider):not(.swiper)>[class*=col-]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important}

/* старая разметка Elementor (секции/колонки, LawGuru на Elementor 3.17) */
.mt-nocss>.elementor-top-section{padding:clamp(48px,6vw,96px) clamp(16px,3vw,32px)}
.mt-nocss>.elementor-top-section:first-child:has(.elementor-widget-heading,.elementor-heading-title,.elementor-widget-mas-addons-heading,h1,h2,h3){padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(64px,8vw,120px)}
.mt-nocss .elementor-section .elementor-container{max-width:min(1200px,100%)}
.mt-nocss .elementor-column>.elementor-widget-wrap{padding:12px;gap:16px 0}
.mt-nocss .elementor-inner-section{margin-bottom:16px}
@media (max-width:767px){.mt-nocss .elementor-column{width:100%!important}}
/* owl-карусели (LawGuru) без своего CSS — статичной сеткой */
.mt-nocss .owl-carousel{display:block!important}
.mt-nocss .owl-carousel .owl-stage-outer{overflow:visible!important}
.mt-nocss .owl-carousel .owl-stage{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px;transform:none!important;width:auto!important}
.mt-nocss .owl-carousel .owl-item{width:auto!important;margin:0!important}
.mt-nocss .owl-carousel .owl-item.cloned,.mt-nocss .owl-nav,.mt-nocss .owl-dots{display:none!important}

/* прозрачная шапка темы стояла над фоновой картинкой первого экрана (её CSS утерян) — даём ей тот же тёмный фон */
body:has(.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child) :is(header.site-header,header.lawguru-elementor-header){background:var(--mt-hero-solid,#06214f)}
body.wp-theme-lawguru:has(.mt-nocss){--mt-hero-solid:#06214f}

/* заголовки любых виджетов (в т.ч. mas-addons-heading): фирменный цвет вместо голубого Elementor */
/* цвет заголовков по умолчанию Elementor (#6EC1E4) правит el-fallback.js точечно, чтобы не задеть белые заголовки на картинках */
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child:has(.elementor-widget-heading,.elementor-heading-title,.elementor-widget-mas-addons-heading,h1,h2,h3) :is(h1,h2,h3,h4,h5,h6){color:#fff!important}
/* видео с обложкой: обложка жила в утерянном CSS — пропорция 16:9 и фирменный фон */
.mt-nocss .elementor-widget-video{width:100%;max-width:100%}
.mt-nocss .elementor-widget-video :is(.elementor-wrapper,.elementor-open-inline){aspect-ratio:16/9;height:auto!important;max-height:520px;border-radius:16px;overflow:hidden}
.mt-nocss .elementor-custom-embed-image-overlay{background:var(--mt-hero)!important;display:grid;place-items:center}

/* owl-карусель, которую скрипт не собрал (или мы разобрали): элементы — сеткой карточек */
.mt-nocss .owl-carousel:not(.owl-loaded){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px}
.mt-nocss .owl-carousel:not(.owl-loaded)>*{width:auto!important;min-width:0}
.mt-nocss .owl-carousel img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:14px}
/* обложка видео заполняет рамку 16:9 */
.mt-nocss .elementor-widget-video :is(.elementor-wrapper,.elementor-open-inline){position:relative}
.mt-nocss .elementor-custom-embed-image-overlay{position:absolute!important;inset:0}
.mt-nocss .elementor-custom-embed-image-overlay img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover}
/* страховка: ни одна картинка в блоке без CSS не выше 720px */
.mt-nocss img{max-height:720px;object-fit:cover}
.mt-nocss .owl-carousel{max-width:100%!important;margin-left:0!important;margin-right:0!important}
.mt-nocss .mt-dark-fix{background:var(--mt-hero)!important;border-radius:16px;padding:24px!important}

/* LawGuru: внутренние страницы — тот же баннер, что у страниц с сохранённым CSS (картинка + тёмный градиент поверх) */
body.wp-theme-lawguru .mt-nocss>.elementor-top-section:first-child:has(.elementor-widget-mas-addons-breadcrumb){background:linear-gradient(90deg,rgba(6,33,79,.92),rgba(10,55,127,.75)),var(--mt-hero-img) center right/cover no-repeat!important}
.mt-nocss .mt-dark-fix :is(h1,h2,h3,h4,h5,h6,p,span,a,li){color:#fff!important}

/* аккордеон / FAQ */
.mt-nocss :is(.elementor-tab-title,.elementor-tab-title a,.elementor-accordion-title,.e-n-accordion-item-title-text){color:var(--mt-ink)!important;font-weight:600;font-size:16px}
.mt-nocss .elementor-accordion-item{border-color:var(--mt-line)!important;background:#fff}
.mt-nocss .elementor-tab-title{padding:16px 20px!important}
.mt-nocss .elementor-tab-content{color:var(--mt-muted);padding:0 20px 18px!important}
/* полосы прогресса: цвет и ширина из data-max (ширину выставляет el-fallback.js) */
.mt-nocss .elementor-progress-wrapper{background:var(--mt-line)!important;border-radius:99px;height:10px;overflow:hidden}
.mt-nocss .elementor-progress-bar{background:var(--mt-brand)!important;height:10px;border-radius:99px;transition:width 1s ease}
.mt-nocss .elementor-progress-bar .elementor-progress-text,.mt-nocss .elementor-progress-percentage{color:#fff}
.mt-nocss .elementor-title{color:var(--mt-ink)!important;font-weight:600;display:block;margin:14px 0 6px}
/* формы */
.mt-nocss :is(input[type=submit],button[type=submit],.wpcf7-submit){background:var(--mt-brand)!important;border:0!important;color:#fff!important;border-radius:10px;padding:12px 22px}
/* списки с иконками: воздух между пунктами */
.mt-nocss .elementor-icon-list-item{margin:4px 0!important;line-height:1.5}
/* мобильный: крупные заголовки не рвутся по буквам */
@media (max-width:767px){
  .mt-nocss :is(h1,h2,.mas-addons-heading-title,.elementor-heading-title){font-size:clamp(26px,8vw,38px)!important;line-height:1.15!important;overflow-wrap:normal;word-break:normal;hyphens:auto}
}

/* заголовки никогда не рвутся посреди слова */
.mt-nocss :is(h1,h2,h3,.elementor-heading-title){overflow-wrap:normal!important;word-break:normal!important;hyphens:manual}
.mt-nocss>:is(.e-con.e-parent,.elementor-top-section):first-child .e-con{min-width:min(100%,320px)}
