
html[data-theme="night"] body{background-color:#202124;}
/* Шаблоны Elementor задают фон страницы селектором `body.elementor-page-<id>`,
   а он сильнее, чем `html[data-theme="night"] body` — на страницах проекта и
   локации фон оставался белым, тогда как текст уже становился светлым, и
   страница читалась как пустая. Поэтому в ночной теме фон подложки забираем
   себе принудительно: ночью фон страницы задаёт тема, а не шаблон. */
html[data-theme="night"] body[class*="elementor-page-"]{background-color:#202124 !important;}
html[data-theme="night"] body.elementor-kit-9{--e-global-color-accent:#202124;--e-global-color-text:#E8EAED;--e-global-color-secondary:#9AA0A6;--e-global-color-primary:#8AB4F8;--e-global-color-e262747:#303134;--e-global-color-ccpdark:#171718;--e-global-color-ccpfield:#303134;--e-global-color-ccpline:#3C4043;--e-global-color-ccpmute:#80868B;--e-global-color-8501981:#E8EAED;}
/* Подложка под прозрачной шапкой — ТОЛЬКО в ночной теме.
   В ночной теме пункты меню светлые, и над светлой фотографией их не видно.
   Мягкий градиент сверху решает это над любым фото. Днём подложка не нужна
   (тёмный текст над фото читается), а на странице без фотографии тёмный
   градиент дал бы полосу поверх белого — поэтому и делаем только ночью:
   поверх графита он попросту незаметен. */
/* ВАЖНО: подложку делаем ФОНОВЫМ ГРАДИЕНТОМ, а не псевдоэлементом.
   Псевдоэлемент требует position:relative на шапке, а это ломает раскладку:
   шапка перестаёт накладываться на первый экран и отодвигает фото вниз
   (проверено — так и произошло). Фоновая картинка на раскладку не влияет. */
html[data-theme="night"] .sticky-header:not(.scrolled){
  background-image:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
}
html[data-theme="night"] .sticky-header.scrolled{background-image:none;}

/* Белый логотип в ночной теме — CSS-фильтром от ОРИГИНАЛА, как в новом
   подвале (ccp-footer): brightness(0) делает картинку чёрной с сохранением
   прозрачности, invert(1) переворачивает в белый. Раньше тут была подмена
   файлом logo_white.webp через content:url — файл был хуже качеством и
   больше не нужен (16.08.2026, сам файл в медиатеке не тронут). */
html[data-theme="night"] .elementor-widget-theme-site-logo img,
html[data-theme="night"] .elementor-location-footer .elementor-image-box-img img{
  filter:brightness(0) invert(1);
}

/* ------------------------------------------------------------------ *
 *  СТРАХОВКА: места, которые ночная тема не достаёт через глобальные цвета
 *
 *  Тема перекрашивает палитру Elementor, и всё, что покрашено ГЛОБАЛЬНЫМИ
 *  цветами, темнеет само. Но часть блоков задаёт цвет мимо палитры: прямым
 *  hex в стилях виджета, инлайн-стилем в тексте, встроенным CSS Elementor.
 *  Такие места ночью остаются светлыми — текст светлеет, фон нет, и блок
 *  читается как пустой. Проверено обходом контраста 03.08.2026 по страницам
 *  товара, каталога, «О компании», статей, карты и статусов проектов.
 *
 *  Здесь чиним следствие. Правильное лечение причины — красить новые блоки
 *  глобальными цветами (__globals__), см. памятку night-theme-mechanics.
 * ------------------------------------------------------------------ */

/* 1. Поля ввода. Часть страниц красит фон поля глобальным цветом «текст на
      тёмном» — днём он белый и выглядит как надо, а ночью остаётся светлым,
      и получается светлое поле среди тёмной страницы. Нужен !important:
      правило страницы (.page-id-57 input) по весу сильнее. */
html[data-theme="night"] body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]),
html[data-theme="night"] body textarea,
html[data-theme="night"] body select{
  background-color:#202124 !important;color:#E8EAED !important;border-color:#5F6368 !important;
}
html[data-theme="night"] body ::placeholder{color:#80868B !important;}

/* 2. Текст, вставленный из документа вместе с инлайн-цветом. На «О компании»
      абзацы несут style="color: rgb(0, 0, 0)" — чёрным по тёмному. Инлайн-стиль
      перебивается только !important. */
html[data-theme="night"] [style*="color: rgb(0, 0, 0)"],
html[data-theme="night"] [style*="color:rgb(0,0,0)"],
html[data-theme="night"] [style*="color: #000"],
html[data-theme="night"] [style*="color:#000"]{color:#E8EAED !important;}

/* 3. Карточки записей Elementor (лента статей) — белый фон из его же стилей. */
html[data-theme="night"] .elementor-post__card{background-color:#303134;border-color:#3C4043;}
html[data-theme="night"] .elementor-post__card .elementor-post__title,
html[data-theme="night"] .elementor-post__card .elementor-post__title a,
html[data-theme="night"] .elementor-post__card .elementor-post__excerpt p,
html[data-theme="night"] .elementor-post__card .elementor-post__meta-data{color:#E8EAED;}

/* 4. Всплывающие окна Elementor. Белый фон прописан селектором с ИДЕНТИФИКАТОРОМ
      (#elementor-popup-modal-3935 .dialog-widget-content), а он по весу сильнее
      любого нашего — поэтому только !important. */
html[data-theme="night"] .dialog-widget-content,
html[data-theme="night"] .elementor-popup-modal .dialog-message{background-color:#303134 !important;color:#E8EAED;}

/* 4а. Карточка на маркере Google-карты: её подложку рисует сам Google. */
html[data-theme="night"] .gm-style-iw,
html[data-theme="night"] .gm-style-iw-c,
html[data-theme="night"] .gm-style-iw-d{background-color:#303134 !important;color:#E8EAED !important;}
html[data-theme="night"] .gm-style-iw-tc::after{background:#303134 !important;}
html[data-theme="night"] .gm-style-iw a{color:#8AB4F8 !important;}

/* 4б. Кнопка, залитая акцентом. Ночью акцент светлеет (#8AB4F8), а текст на
       ней остаётся белым — белым по голубому, контраст 2.1. Решение владельца
       от 12.09.2026: кнопку НЕ осветлять, а держать тёмно-синей #1D5AD2 с белым
       текстом (6,10) — как «Call Back» в шапке. Светло-голубая кнопка с тёмным
       текстом владельцу не нравится. */
html[data-theme="night"] .ccp-pdf-button-brochure{background:#1D5AD2;border-color:#1D5AD2;color:#fff;}
/* У кнопки в блоке фактов цвет задан селектором с большим весом — !important. */
html[data-theme="night"] .ccp-ai-cta__btn{background:#1D5AD2 !important;color:#fff !important;}

/* 4в. Хлебные крошки локаций: цвета #666 и #222 зашиты в самом блоке. */
html[data-theme="night"] .location-breadcrumbs a{color:#9AA0A6;}
/* Текущий пункт крошек покрашен селектором с большим весом — нужен !important. */
html[data-theme="night"] .location-breadcrumbs span,
html[data-theme="night"] .location-breadcrumbs li span{color:#E8EAED !important;}

/* 4г. Приглушённый текст в таблице сделок DLD — серый по тёмному, контраст 1.5. */
html[data-theme="night"] .ccp-pf-muted{color:#9AA0A6 !important;}

/* 5. Наш блок вопросов-ответов: карточка белая, а вопрос уже светлый. */
html[data-theme="night"] .ccp-faq__item{background:#303134;border-color:#3C4043;}
html[data-theme="night"] .ccp-faq__a{color:rgba(232,234,237,.78);}

/* Переключатель в подвале — выглядит как обычная ссылка блока Services,
   намеренно приглушён, чтобы не тянуть на себя внимание. */
.ccp-theme-switch{cursor:pointer;opacity:.65;transition:opacity .2s;}
.ccp-theme-switch:hover{opacity:1;}

:root{--e-global-color-primary:#1D5AD2;--e-global-color-secondary:#5E5E5E;--e-global-color-text:#202124;--e-global-color-accent:#FFFFFF;--e-global-color-8501981:#FFFFFF;--e-global-color-e262747:#F7F7F7;--e-global-color-ccpdark:#000000;--e-global-color-ccpfield:#F2F2F2;--e-global-color-ccpline:#EEEEEE;--e-global-color-ccpveil:rgba(0,0,0,0.5);--e-global-color-ccpfill:#1D5AD2;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;--e-global-typography-ccph1-font-family:"Montserrat";--e-global-typography-ccph1-font-size:52px;--e-global-typography-ccph1-font-weight:800;--e-global-typography-ccph1-line-height:1.1em;--e-global-typography-ccph2-font-family:"Montserrat";--e-global-typography-ccph2-font-size:38px;--e-global-typography-ccph2-font-weight:700;--e-global-typography-ccph2-line-height:1.2em;--e-global-typography-ccph3-font-family:"Montserrat";--e-global-typography-ccph3-font-size:30px;--e-global-typography-ccph3-font-weight:700;--e-global-typography-ccph3-line-height:1.25em;--e-global-typography-ccptxt-font-family:"Montserrat";--e-global-typography-ccptxt-font-size:17px;--e-global-typography-ccptxt-font-weight:400;--e-global-typography-ccptxt-line-height:1.6em;--e-global-typography-ccpcap-font-family:"Montserrat";--e-global-typography-ccpcap-font-size:14px;--e-global-typography-ccpcap-font-weight:400;--e-global-typography-ccpcap-line-height:1.5em;}@media(max-width:1024px){:root{--e-global-typography-ccph1-font-size:40px;--e-global-typography-ccph2-font-size:31px;--e-global-typography-ccph3-font-size:26px;--e-global-typography-ccptxt-font-size:16px;--e-global-typography-ccpcap-font-size:14px;}}@media(max-width:767px){:root{--e-global-typography-ccph1-font-size:32px;--e-global-typography-ccph2-font-size:27px;--e-global-typography-ccph3-font-size:23px;--e-global-typography-ccptxt-font-size:16px;--e-global-typography-ccpcap-font-size:13px;}}

/* Кнопка должна выглядеть ровно как переключатель языка: только иконка,
   без фона, рамки и тени. !important — иначе кит Elementor красит <button>. */
.ccp-theme-btn,
.elementor-location-header .ccp-theme-btn{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:auto !important;height:auto !important;min-width:0 !important;min-height:0 !important;
    padding:4px !important;margin:0 10px 0 0 !important;
    border:0 !important;border-radius:0 !important;outline:none !important;
    background:none !important;background-color:transparent !important;background-image:none !important;
    box-shadow:none !important;text-shadow:none !important;cursor:pointer;
    color:inherit !important;opacity:.85;
    line-height:1;flex:0 0 auto;vertical-align:middle;
    -webkit-appearance:none;appearance:none;
}
.ccp-theme-btn:hover,.ccp-theme-btn:focus,.ccp-theme-btn:active{
    background:none !important;background-color:transparent !important;
    border:0 !important;box-shadow:none !important;opacity:1;
}
.ccp-theme-btn svg{width:19px;height:19px;display:block;fill:none;
    stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:1024px){ .ccp-theme-btn{margin:0 8px 0 0 !important;} .ccp-theme-btn svg{width:18px;height:18px;} }
/* ⚠️ 10.09.2026, владелец: «добавь в шапку рядом с переключением ночной темы
   значок лупы со ссылкой на поиск». Та же кнопка визуально, но это <a>, а не
   <button> — просто переход на страницу поиска, без своего JS-состояния. */
.ccp-search-btn,
.elementor-location-header .ccp-search-btn{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:auto !important;height:auto !important;min-width:0 !important;min-height:0 !important;
    padding:4px !important;margin:0 10px 0 0 !important;
    border:0 !important;border-radius:0 !important;outline:none !important;
    background:none !important;background-color:transparent !important;background-image:none !important;
    box-shadow:none !important;text-shadow:none !important;cursor:pointer;
    color:inherit !important;opacity:.85;text-decoration:none !important;
    line-height:1;flex:0 0 auto;vertical-align:middle;
    -webkit-appearance:none;appearance:none;
}
.ccp-search-btn:hover,.ccp-search-btn:focus,.ccp-search-btn:active{
    background:none !important;background-color:transparent !important;
    border:0 !important;box-shadow:none !important;opacity:1;
}
.ccp-search-btn svg{width:19px;height:19px;display:block;fill:none;
    stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:1024px){ .ccp-search-btn{margin:0 8px 0 0 !important;} .ccp-search-btn svg{width:18px;height:18px;} }


/* Выглядит как соседний переключатель языка: только буквы, без фона и рамки.
   !important — иначе кит Elementor красит ссылку как кнопку. */
.ccp-lang-btn,
.elementor-location-header .ccp-lang-btn{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:auto !important;height:auto !important;min-width:0 !important;min-height:0 !important;
    padding:4px 6px !important;margin:0 4px 0 0 !important;
    border:0 !important;border-radius:0 !important;outline:none !important;
    background:none !important;background-color:transparent !important;background-image:none !important;
    box-shadow:none !important;text-decoration:none !important;cursor:pointer;
    color:inherit !important;opacity:.85;
    /* один в один как у переключателя Polylang: Montserrat 400, 17px, без caps */
    font-family:"Montserrat",sans-serif;font-weight:400 !important;font-size:17px !important;
    line-height:1;letter-spacing:normal !important;text-transform:none !important;
    flex:0 0 auto;vertical-align:middle;
}

/* Старый выпадающий список Polylang скрыт, а не удалён: плагин продолжает
   работать (и остаётся источником ссылок), вернуть — убрать это правило. */
.elementor-location-header .elementor-widget-polylang-language-switcher{
    display:none !important;
}
.ccp-lang-btn:hover,.ccp-lang-btn:focus{
    background:none !important;opacity:1;color:inherit !important;text-decoration:none !important;
}
@media (max-width:1024px){ .ccp-lang-btn{font-size:16px !important;padding:4px !important;} }


.ccp-map-deferred{background:var(--e-global-color-ccpfield,#f2f2f2);border:0}
/* z-index:0 заводит собственный слой: поднятый снимок (z-index:1 ниже) остаётся
   внутри блока карты и не залезает поверх соседней карточки с адресом. */
.ccp-map-facade{position:relative;z-index:0;height:100%;width:100%;line-height:0;cursor:pointer}
/* Специфичность выше, чем у элементоровского «.elementor img{height:auto}»,
   иначе снимок получает нулевую высоту и его просто не видно. */
/* z-index обязателен: кадр карты Elementor тоже позиционирован абсолютно и стоит
   в разметке ПОСЛЕ снимка, поэтому без слоя он закрывает снимок собой — блок
   выглядит пустым, хотя снимок загружен. Когда карту подняли, снимок прячется
   правилом .is-live ниже и кадр открывается. */
.ccp-map-facade .ccp-map-facade__img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:1;
  object-fit:cover;border-radius:inherit;display:block;
  transition:filter .18s ease;
}
.ccp-map-facade:hover .ccp-map-facade__img{filter:brightness(1.04) saturate(1.05)}
.ccp-map-facade:focus-visible{outline:2px solid var(--e-global-color-ccpfill,#1D5AD2);outline-offset:3px}
.ccp-map-facade.is-live .ccp-map-facade__img{display:none}
.ccp-map-facade.is-live{cursor:default}


img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */



	img.wp-smiley, img.emoji {
		display: inline !important;
		border: none !important;
		box-shadow: none !important;
		height: 1em !important;
		width: 1em !important;
		margin: 0 0.07em !important;
		vertical-align: -0.1em !important;
		background: none !important;
		padding: 0 !important;
	}
/*# sourceURL=wp-emoji-styles-inline-css */

