
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 */


:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */


:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the block styles printed at wp_footer." }
/*# sourceURL=wp-block-styles-placeholder-inline-css */


:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the global-styles printed at wp_footer." }
/*# sourceURL=wp-global-styles-placeholder-inline-css */


/* Страница-карточка идёт во всю ширину контейнера: колонка 720 здесь не нужна,
   у нас своя раскладка. ⚠️ Правило ccp-layout сжимает h1-h4 и p внутри виджета
   содержимого — снимаем его адресно для нашего блока, иначе заголовки секций
   уедут в центр, а плитки останутся слева. */
.ccp-pc h1,.ccp-pc h2,.ccp-pc h3,.ccp-pc h4,.ccp-pc p,.ccp-pc ul,.ccp-pc ol{
  max-width:none;margin-inline:0}

.ccp-pc{--pc-r:26px;display:flex;flex-direction:column;gap:26px;margin:8px 0 10px}

/* ---------- обложка ---------- */
/* С 16.08 hero в общем языке страниц проекта/локации/застройщика: кадр от
   края до края экрана (контейнер шаблона коробочный — вырываемся полями до
   краёв вьюпорта), те же две вуали, белый текст. Цена — особенность товара. */
.ccp-pc-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  /* -18px = 8px отступ .ccp-pc + 10px паддинг e-con-inner шаблона: кадр
     должен начинаться от самого верха, под прозрачной шапкой. */
  margin-top:-18px;
  min-height:62svh;padding:170px 22px 44px;overflow:hidden}
.ccp-pc-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background-color:#111418;
  background-image:var(--ccp-hero);background-size:cover;background-position:center}
.ccp-pc-hero::after{content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(100deg,rgba(8,10,14,.58) 0,rgba(8,10,14,.18) 46%,rgba(8,10,14,0) 72%),
    linear-gradient(180deg,rgba(8,10,14,.55) 0,rgba(8,10,14,.24) 26%,rgba(8,10,14,.32) 55%,rgba(8,10,14,.8) 100%)}
.ccp-pc-hero__panel{position:relative;z-index:1;width:100%;max-width:1296px;margin:0 auto;
  display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;
  color:#fff}
.ccp-pc-hero__main{display:flex;flex-direction:column;gap:10px;min-width:0}
.ccp-pc-hero__loc{font-size:13px;letter-spacing:.06em;text-transform:uppercase;opacity:.85;color:#fff}
.ccp-pc-hero__ref{font-size:13px;letter-spacing:.04em;opacity:.62;margin-top:6px}
.ccp-pc-hero__title{font-size:clamp(30px,4.4vw,56px);line-height:1.07;font-weight:700;margin:0;
  letter-spacing:-.02em;color:#fff !important;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ccp-pc-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ccp-pc-hero__price{text-align:right;flex:none;color:#fff}
.ccp-pc-hero__amount{font-size:clamp(24px,2.8vw,38px);font-weight:700;line-height:1.15;
  text-shadow:0 2px 18px rgba(0,0,0,.35)}
.ccp-pc-hero__per{font-size:13px;opacity:.8;margin-top:3px}
.ccp-pc-chip{font-size:12.5px;padding:5px 12px;border-radius:999px;white-space:nowrap}
/* Чипы в hero — стекло, как плашки фактов у застройщика и локации. */
.ccp-pc-hero .ccp-pc-chip{background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.22);color:#fff;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-size:14px;padding:7px 14px}
@media (max-width:700px){
  .ccp-pc-hero{min-height:48svh;padding:110px 16px 24px}
  .ccp-pc-hero__panel{flex-direction:column;align-items:flex-start;gap:10px}
  .ccp-pc-hero__price{text-align:left}
}

/* ---------- две колонки ---------- */
.ccp-pc-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.ccp-pc-main{display:flex;flex-direction:column;gap:26px;min-width:0}
.ccp-pc-aside{position:sticky;top:104px}
@media (max-width:1024px){
  .ccp-pc-layout{grid-template-columns:1fr}
  .ccp-pc-aside{position:static;order:-1}
}

.ccp-pc-block{padding:22px 24px;border-radius:var(--pc-r)}
.ccp-pc-h2{font-size:clamp(17px,1.6vw,21px);font-weight:650;line-height:1.25;margin:0 0 14px;
  letter-spacing:-.01em}

/* ---------- плитки фактов ---------- */
.ccp-pc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}
.ccp-pc-tile{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border-radius:14px;min-width:0;
  border:1px solid rgba(20,24,32,.10);background:rgba(255,255,255,.42)}
.ccp-pc-tile__k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;opacity:.6}
.ccp-pc-tile__v{font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}

/* ---------- галерея ---------- */
/* Первая карточка вдвое крупнее: у витрины появляется точка входа, а сетка из
   восьми одинаковых квадратов читается как склад. */
/* ⚠️ Высоту ряда задаём ЯВНО, а не через aspect-ratio у плиток.
   Первый вариант ставил крупной плитке aspect-ratio:auto — её высоту начинала
   определять сама картинка (605 px), ряды разъезжались, и между плитками
   зияли пустые клетки. С фиксированной высотой ряда крупная плитка просто
   занимает два ряда и два столбца, а сетка остаётся прямоугольной.
   Девять картинок дают ровно три ряда без огрызка: крупная плюс четыре в
   первых двух рядах и четыре в третьем. */
.ccp-pc-gal{display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:clamp(108px,10.5vw,158px);gap:10px}
.ccp-pc-gal__i{margin:0;border-radius:14px;overflow:hidden;background:rgba(127,127,127,.12);
  height:100%}
.ccp-pc-gal__i--big{grid-column:span 2;grid-row:span 2}
/* ⚠️ height с !important: после оборачивания плитки в <a> (лайтбокс) тема
   перебила height:100% своим img{height:auto} — портретное фото вылезало из
   плитки, и через overflow:hidden был виден только ПУСТОЙ ВЕРХ кадра: плитки
   выглядели серыми, хотя картинки загружены. Восьмой случай грабли кита. */
.ccp-pc-gal__i img{width:100% !important;height:100% !important;object-fit:cover;display:block;
  transition:transform .35s ease}
.ccp-pc-gal__i:hover img{transform:scale(1.04)}
.ccp-pc-gal__a{display:block;width:100%;height:100%;cursor:zoom-in}

/* ---------- лайтбокс галереи ----------
   Свой, без библиотек: клик по плитке, стрелки на экране и на клавиатуре,
   свайп на телефоне, Esc и клик по фону закрывают.
   ⚠️ Кнопкам всё задаём с !important: кит темы навязывает свои размеры и фон
   ВСЕМ button (уже седьмой случай — бургер, «показать полностью» и т.д.). */
.ccp-pc-lbx{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;
  justify-content:center;background:rgba(8,10,14,.93);touch-action:pan-y}
.ccp-pc-lbx img{max-width:min(92vw,1400px);max-height:86vh;object-fit:contain;
  border-radius:8px;user-select:none;-webkit-user-drag:none}
.ccp-pc-lbx__btn{position:absolute;display:flex !important;align-items:center;justify-content:center;
  width:52px !important;height:52px !important;min-height:0 !important;padding:0 !important;
  border:0 !important;border-radius:50% !important;cursor:pointer;
  background:rgba(255,255,255,.12) !important;color:#fff !important;
  font-size:26px !important;line-height:1 !important;font-family:inherit !important;
  box-shadow:none !important;text-transform:none !important}
.ccp-pc-lbx__btn:hover{background:rgba(255,255,255,.24) !important}
.ccp-pc-lbx__prev{left:max(12px,3vw)}
.ccp-pc-lbx__next{right:max(12px,3vw)}
.ccp-pc-lbx__close{top:18px;right:max(12px,3vw)}
.ccp-pc-lbx__n{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  color:#fff;font-size:13.5px;opacity:.8;font-variant-numeric:tabular-nums}
@media (max-width:700px){
  .ccp-pc-lbx__prev,.ccp-pc-lbx__next{display:none !important} /* на телефоне — свайп */
  .ccp-pc-lbx img{max-width:96vw}
}
@media (max-width:700px){
  .ccp-pc-gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(96px,26vw,150px)}
  .ccp-pc-gal__i--big{grid-column:span 2;grid-row:span 2}
}

/* Лид из короткого описания Woo: крупнее и плотнее обычного абзаца. */
.ccp-pc-lead{font-size:16.5px;line-height:1.55;font-weight:500;margin:0 0 14px}

/* QR Trakheesi в панели сделки: мелкий, по центру, не спорит с кнопками. */
.ccp-pc-deal__qr{width:92px;height:92px;align-self:center;border-radius:10px;
  background:#fff;padding:4px}

/* ---------- текст ---------- */
/* Описание сворачиваем: у объектов оно на 11 тысяч знаков, и без сворачивания
   правая липкая панель успевает уехать намного выше конца страницы. */
.ccp-pc-prose{max-height:420px;overflow:hidden;position:relative;
  font-size:15.5px;line-height:1.65}
.ccp-pc-prose.is-open{max-height:none}
.ccp-pc-prose::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;
  pointer-events:none;background:linear-gradient(transparent,var(--pc-fade,#fff))}
.ccp-pc-prose.is-open::after{display:none}
.ccp-pc-prose h2{font-size:18px;font-weight:650;margin:22px 0 8px}
.ccp-pc-prose h3{font-size:16px;font-weight:600;margin:18px 0 6px}
.ccp-pc-prose p{margin:0 0 12px}
.ccp-pc-prose ul,.ccp-pc-prose ol{margin:0 0 12px;padding-left:20px}
.ccp-pc-prose li{margin:0 0 5px}
.ccp-pc-more{margin-top:12px;min-height:0 !important;height:auto !important;
  padding:9px 18px !important;border-radius:10px !important;box-shadow:none !important;
  background:transparent !important;border:1px solid currentColor !important;
  font-family:inherit !important;font-size:14px !important;font-weight:600 !important;
  text-transform:none !important;letter-spacing:normal !important;color:inherit !important;cursor:pointer}

/* ---------- панель сделки ---------- */
.ccp-pc-deal{display:flex;flex-direction:column;gap:14px;padding:22px 22px 20px;border-radius:var(--pc-r)}
.ccp-pc-deal__price{font-size:26px;font-weight:700;line-height:1.15}
.ccp-pc-deal__per{font-size:13px;opacity:.7;margin-top:-10px}
.ccp-pc-origin{display:block;margin-top:4px;font-size:11px;font-style:normal;line-height:1.35;opacity:.7}
.ccp-pc-deal__qrnote{margin:6px 0 0;font-size:11px;line-height:1.35;opacity:.7}
.ccp-pc-deal__note{margin:12px 0 0;font-size:11.5px;line-height:1.45;opacity:.72}
.ccp-pc-deal__note a{text-decoration:underline;color:inherit}
.ccp-pc-deal__actions{display:flex;flex-direction:column;gap:9px}
.ccp-pc-btn{display:block;text-align:center;padding:12px 18px;border-radius:12px;
  font-size:14.5px;font-weight:600;text-decoration:none !important;cursor:pointer}
.ccp-pc-btn--primary{background:var(--e-global-color-primary,#2458c5);color:#fff !important}
/* 12.09.2026, решение владельца: ночная кнопка — тёмно-синяя с белым текстом (6,10). */
html[data-theme="night"] .ccp-pc-btn--primary{background:#1D5AD2 !important;color:#fff !important}
.ccp-pc-btn--ghost{border:1px solid currentColor}
.ccp-pc-broker{display:flex;align-items:center;gap:12px;text-decoration:none !important;
  color:inherit !important;border-bottom:0 !important}
.ccp-pc-broker__ph{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.ccp-pc-broker__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ccp-pc-broker__role{font-size:11px;letter-spacing:.07em;text-transform:uppercase;opacity:.6}
.ccp-pc-broker__name{font-size:15px;font-weight:600}
.ccp-pc-deal__meta{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12.5px}
.ccp-pc-deal__meta div{display:flex;justify-content:space-between;gap:12px}
.ccp-pc-deal__meta dt{opacity:.6;margin:0}
.ccp-pc-deal__meta dd{margin:0;font-variant-numeric:tabular-nums}

/* ======================================================================
   БЛОКИ, ВЗЯТЫЕ У БОЕВЫХ ПЛАГИНОВ
   ⚠️ Их собственный CSS печатается по условию is_singular('product') и на
   странице-шорткоде не срабатывает. Это не помеха, а удобство: разметку
   одеваем сами, и она встаёт в наш стиль, а не спорит с ним.
   Исключения — «похожие» и «о районе»: эти два блока печатают свой <style>
   вместе с разметкой, поэтому им правим только заголовок и отступы.
   ====================================================================== */
.ccp-pc-reuse > *:first-child{margin-top:0}
/* ⚠️ Выравнивание левой колонки. У родных блоков ccp-prb стоит
   margin-left:70px (отступ старой вёрстки), а у формы — своя обивка 26px.
   Их <style> печатается В ТЕЛЕ страницы и перебивает наш из head при равном
   весе — поэтому здесь запас веса и !important. Без этого заголовки
   «About the project» / «Amenities» / «Construction» стояли на 70px правее
   остальных (замерено: 259 против 189). */
.ccp-pc .ccp-pc-reuse .ccp-prb{margin:0 !important}
.ccp-pc .ccp-pc-formwrap .ccp-form{padding:0 !important;background:transparent !important;
  border:0 !important;box-shadow:none !important}
.ccp-pc-reuse .ccp-pb__title,
.ccp-pc-reuse .ccp-prb-title,
.ccp-pc-reuse .ccp-mc-title{
  font-size:clamp(17px,1.6vw,21px);font-weight:650;line-height:1.25;
  margin:0 0 14px;letter-spacing:-.01em;text-align:left}

/* Стройка и сдача: список «показатель → значение» плитками, как в «Коротко». */
.ccp-pc-reuse .ccp-pb__list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.ccp-pc-reuse .ccp-pb__list li{display:flex;justify-content:space-between;gap:12px;
  align-items:baseline;padding:11px 14px;border-radius:13px;font-size:14px;
  border:1px solid rgba(20,24,32,.10);background:rgba(255,255,255,.42)}
.ccp-pc-reuse .ccp-pb__k{opacity:.6}
.ccp-pc-reuse .ccp-pb__v{font-weight:600;text-align:right}
.ccp-pc-reuse .ccp-pb__note{font-size:12.5px;opacity:.6;margin:13px 0 0;max-width:720px}

/* Удобства — плашками. Список в столбик занял бы полэкрана. */
.ccp-pc-reuse .ccp-pb__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.ccp-pc-reuse .ccp-pb__chips li{font-size:13px;padding:6px 13px;border-radius:999px;
  border:1px solid rgba(20,24,32,.10);background:rgba(255,255,255,.42)}

/* Карта. Своей высоты у контейнера нет — без неё блок схлопывается в ноль.
   ⚠️ У блока карты есть СВОЙ заголовок «Location on the map», а секцию мы уже
   назвали «Location» — два заголовка подряд об одном и том же. Прячем их. */
.ccp-pc-reuse .ccp-prb--map{margin-top:16px}
.ccp-pc-reuse .map-embed > h2{display:none}
.ccp-pc-reuse .map-embed{border-radius:16px;overflow:hidden;min-height:320px}
.ccp-pc-reuse .map-embed iframe{display:block;width:100%;min-height:320px;border:0}

/* Вопросы-ответы */
.ccp-pc-reuse .ccp-faq__item{border-bottom:1px solid rgba(20,24,32,.10)}
.ccp-pc-reuse .ccp-faq__item:last-child{border-bottom:0}
.ccp-pc-reuse .ccp-faq__q{cursor:pointer;list-style:none;position:relative;
  padding:14px 32px 14px 0;font-weight:600;font-size:15.5px;line-height:1.4}
.ccp-pc-reuse .ccp-faq__q::-webkit-details-marker{display:none}
.ccp-pc-reuse .ccp-faq__q::after{content:"+";position:absolute;right:4px;top:50%;
  transform:translateY(-50%);font-size:19px;font-weight:400;opacity:.5}
.ccp-pc-reuse .ccp-faq__item[open] .ccp-faq__q::after{content:"–"}
.ccp-pc-reuse .ccp-faq__a{padding:0 0 14px;font-size:14.5px;line-height:1.62}
.ccp-pc-reuse .ccp-faq__a p{margin:0 0 10px}

/* О районе: блок несёт свои стили, правим вписывание. ⚠️ Факты района без
   этого выглядели «Off-plan8 projects» — подпись и значение в одну строку без
   пробела. Раскладываем той же плиткой, что «Коротко об объекте». */
.ccp-pc-reuse .ccp-plb{margin:18px 0 0}
.ccp-pc-reuse .ccp-plb h2{font-size:16px;margin:16px 0 10px}
.ccp-pc-reuse .ccp-plb__facts{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}
.ccp-pc-reuse .ccp-plb__fact{padding:11px 14px;border-radius:13px;font-size:14px;
  border:1px solid rgba(20,24,32,.10);background:#f7f8fa}
.ccp-pc-reuse .ccp-plb__fact b{display:block;font-size:11px;letter-spacing:.07em;
  text-transform:uppercase;opacity:.6;margin-bottom:3px}
html[data-theme="night"] .ccp-pc-reuse .ccp-plb__fact{
  background:#232830;border-color:#31363f}

/* Похожие объекты во всю ширину.
   ⚠️ Блок несёт свой <style>, но в нём НЕ снято подчёркивание: карточка это
   ссылка, и кит темы красит её целиком в синий с подчёркиванием — читается как
   список ссылок, а не как объекты. Гасим и задаём цвета явной парой день/ночь.
   Заливку берём свою: у блока стоит --e-global-color-secondary, а это тёмный
   токен, и на светлом стекле карточки выходили чёрными плашками. */
.ccp-pc-similar .ccp-sim{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.ccp-pc-similar .ccp-prb--similar{margin:0}
.ccp-pc-similar .ccp-sim__card,
.ccp-pc-similar .ccp-sim__card *{text-decoration:none !important;border-bottom:0 !important}
.ccp-pc-similar .ccp-sim__card{
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(20,24,32,.10) !important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ccp-pc-similar .ccp-sim__card:hover{
  border-color:var(--e-global-color-primary,#2458c5) !important;
  box-shadow:0 8px 26px rgba(17,24,39,.12);transform:translateY(-2px)}
.ccp-pc-similar .ccp-sim__name{color:#202124 !important;line-height:1.35;padding-top:10px}
.ccp-pc-similar .ccp-sim__loc{color:#5f6368 !important}
.ccp-pc-similar .ccp-sim__price{color:var(--e-global-color-primary,#2458c5) !important}
html[data-theme="night"] .ccp-pc-similar .ccp-sim__card{
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.12) !important}
html[data-theme="night"] .ccp-pc-similar .ccp-sim__name{color:#E8EAED !important}
html[data-theme="night"] .ccp-pc-similar .ccp-sim__loc{color:#9AA0A6 !important}

/* Кнопка боевой формы: кит делает её чёрной, а главная кнопка страницы синяя —
   на одном экране две разные «главные» кнопки. Приводим к одной. */
.ccp-pc-formwrap .ccp-form__btn{
  background:var(--e-global-color-primary,#2458c5) !important;color:#fff !important;
  border-radius:12px !important}
/* 12.09.2026, решение владельца: ночная кнопка — тёмно-синяя с белым текстом (6,10). */
html[data-theme="night"] .ccp-pc-formwrap .ccp-form__btn{background:#1D5AD2 !important;color:#fff !important}

/* Ссылка на страницу проекта в панели сделки. */
.ccp-pc-deal__links{font-size:13.5px}
.ccp-pc-deal__links a{font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(127,127,127,.4)}

/* Форма захвата: боевая, со своими стилями. Убираем её внешние отступы, чтобы
   она села в стеклянную панель ровно. */
.ccp-pc-formwrap .ccp-form{margin:0}

/* Ипотечный калькулятор тянет свой CSS с сервера (шорткод сам его подключает),
   поэтому здесь только снимаем рамку-в-рамке: карточка калькулятора уже лежит
   внутри нашей стеклянной панели. */
.ccp-pc-reuse--mc .ccp-mc-card{border:0 !important;background:transparent !important;
  box-shadow:none !important;padding:0 !important;margin:0 !important}

html[data-theme="night"] .ccp-pc-reuse .ccp-pb__list li,
html[data-theme="night"] .ccp-pc-reuse .ccp-pb__chips li{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
html[data-theme="night"] .ccp-pc-reuse .ccp-faq__item{border-bottom-color:rgba(255,255,255,.12)}
html[data-theme="night"] .ccp-pc-reuse .ccp-pb__title,
html[data-theme="night"] .ccp-pc-reuse .ccp-prb-title,
html[data-theme="night"] .ccp-pc-reuse .ccp-mc-title,
html[data-theme="night"] .ccp-pc-reuse .ccp-faq__q{color:#E8EAED}

/* ---------- геоблок ---------- */
.ccp-pc-geo{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.ccp-pc-geo__addr{display:flex;flex-direction:column;gap:3px;font-size:14px}
.ccp-pc-geo__addr span{opacity:.65;font-size:12.5px;font-variant-numeric:tabular-nums}

/* ======================================================================
   ПЛОСКИЙ ВАРИАНТ (data-glass="0") — для сравнения со стеклянным.
   ⚠️ Это НЕ «стекло с выключенным размытием». Убрать backdrop-filter мало:
   панели останутся полупрозрачными и будут выглядеть недоделанными. Плоскому
   варианту нужен свой честный набор поверхностей — сплошной фон, обычная
   рамка, мягкая тень. Раскладка при этом та же, чтобы сравнивалось именно
   оформление.
   ====================================================================== */
.ccp-pc[data-glass="0"]{--pc-fade:#fff;padding:0}
.ccp-pc[data-glass="0"] .ccp-pc-block,
.ccp-pc[data-glass="0"] .ccp-pc-deal{
  background:#fff;border:1px solid #e6e8ec;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 18px rgba(16,24,40,.05)}
.ccp-pc[data-glass="0"] .ccp-pc-tile{background:#f7f8fa;border:1px solid #e8eaee}
/* Обложка: вместо стекла — ПЛОТНАЯ тёмная плашка.
   ⚠️ Первый вариант делал её полупрозрачной (.72), как стеклянную, только без
   размытия — и заголовок «Sobha One» пропал: за ним просвечивал светлый рендер
   здания, белый текст лёг на белое. Именно это размытие и вытягивало в
   стеклянной версии. Без него нужна почти сплошная заливка, иначе читаемость
   зависит от того, какая фотография попалась. */
/* Тёмная плашка hero и её чипы больше не переопределяются: с 16.08 hero
   общий для всего семейства страниц (вуали + белый текст + стеклянные чипы),
   его вид не зависит от glass/flat. */
.ccp-pc[data-glass="0"] .ccp-pc-similar .ccp-sim__card{
  background:#fff !important;border:1px solid #e6e8ec !important}
.ccp-pc[data-glass="0"] .ccp-pc-reuse .ccp-pb__list li,
.ccp-pc[data-glass="0"] .ccp-pc-reuse .ccp-pb__chips li{background:#f7f8fa;border-color:#e8eaee}

html[data-theme="night"] .ccp-pc[data-glass="0"]{--pc-fade:#16191f}
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-block,
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-deal{
  background:#1b1f26;border-color:#2b3038;box-shadow:0 1px 2px rgba(0,0,0,.3)}
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-tile,
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-reuse .ccp-pb__list li,
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-reuse .ccp-pb__chips li{
  background:#232830;border-color:#31363f}
html[data-theme="night"] .ccp-pc[data-glass="0"] .ccp-pc-similar .ccp-sim__card{
  background:#232830 !important;border-color:#31363f !important}

/* ======================================================================
   ЖИДКОЕ СТЕКЛО
   Тот же приём, что на /en/ready-test/: панелям нужна фактура под ними.
   Здесь её даёт обложка объекта — она же растянута фоном под всей страницей
   в сильном размытии.
   ====================================================================== */
.ccp-pc[data-glass="1"]{
  --g-panel:linear-gradient(rgba(255,255,255,.66),rgba(255,255,255,.54));
  --g-flat:rgba(255,255,255,.55);
  --g-hi:rgba(255,255,255,.80);
  --g-sh:0 10px 34px rgba(17,24,39,.13);
  --pc-fade:#f4f6fa;
  /* ⚠️ Именно `clip`, а НЕ `hidden`. overflow:hidden делает элемент
     контейнером прокрутки, и position:sticky у вложенной панели сделки
     перестаёт работать — панель просто стоит на месте. overflow:clip
     обрезает так же, но контейнера прокрутки не создаёт, и липкость жива.
     Проверено: с hidden панель не следовала за прокруткой. */
  position:relative;isolation:isolate;padding:22px;border-radius:32px;overflow:clip;
  background:
    radial-gradient(58% 46% at 8% 0%,rgba(36,88,197,.16),transparent 62%),
    radial-gradient(52% 44% at 96% 6%,rgba(0,170,185,.14),transparent 64%),
    radial-gradient(64% 52% at 50% 102%,rgba(122,84,220,.12),transparent 62%)}

/* ⚠️ САМОЕ ВАЖНОЕ ДЛЯ ЭФФЕКТА. Первая сборка выглядела просто как белые
   карточки: панели стеклянные, но преломлять им было нечего — под ними лежал
   ровный светлый фон страницы. Растягиваем ту же обложку под ВЕСЬ блок в
   сильном размытии: тогда белые панели подхватывают цвета самого здания, и
   стекло становится видно. Без этого слоя backdrop-filter работает вхолостую. */
.ccp-pc[data-glass="1"]::before{
  content:"";position:absolute;inset:-6%;z-index:-1;
  background-image:var(--ccp-hero);background-size:cover;background-position:center;
  filter:blur(60px) saturate(1.8);opacity:.55}

.ccp-pc[data-glass="1"] .ccp-pc-hero__panel,
.ccp-pc[data-glass="1"] .ccp-pc-hero__count,
.ccp-pc[data-glass="1"] .ccp-pc-chip{
  background:rgba(18,22,30,.34);color:#fff;
  border:1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
/* Обложка тёмная и цветная, поэтому стекло на ней ТЁМНОЕ: светлое дало бы
   молочную плёнку поверх фотографии и убило бы её. */

.ccp-pc[data-glass="1"] .ccp-pc-block,
.ccp-pc[data-glass="1"] .ccp-pc-deal{
  background:var(--g-panel);
  border:1px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
  box-shadow:inset 0 1px 0 var(--g-hi),var(--g-sh)}
/* ⚠️ Плитке нужна ВИДИМАЯ граница. Первый вариант красил её в rgba(255,255,255,.8)
   — на белой панели это невидимо, и восемь плиток читались как сплошной текст
   в сетке. Берём тёмную границу малой непрозрачности: она видна на светлом
   стекле и не спорит с ночной темой. */
.ccp-pc[data-glass="1"] .ccp-pc-tile{
  background:rgba(255,255,255,.42);border:1px solid rgba(20,24,32,.10);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* Ночная тема */
html[data-theme="night"] .ccp-pc[data-glass="1"]{
  --g-panel:linear-gradient(rgba(22,26,33,.62),rgba(22,26,33,.50));
  --g-flat:rgba(22,26,33,.55);
  --g-hi:rgba(255,255,255,.16);
  --g-sh:0 10px 34px rgba(0,0,0,.48);
  --pc-fade:#12151b;
  background:
    radial-gradient(58% 46% at 8% 0%,rgba(36,88,197,.24),transparent 62%),
    radial-gradient(52% 44% at 96% 6%,rgba(0,170,185,.18),transparent 64%),
    radial-gradient(64% 52% at 50% 102%,rgba(122,84,220,.18),transparent 62%)}
html[data-theme="night"] .ccp-pc[data-glass="1"] .ccp-pc-block,
html[data-theme="night"] .ccp-pc[data-glass="1"] .ccp-pc-deal{
  border-color:rgba(255,255,255,.14)}
html[data-theme="night"] .ccp-pc[data-glass="1"] .ccp-pc-tile{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}

/* Цвета текста задаём явно: кит темы красит ссылки и наследование не спасает
   (та же грабля, что в ccp-listing). */
.ccp-pc-h2,.ccp-pc-tile__v,.ccp-pc-deal__price,.ccp-pc-broker__name,.ccp-pc-prose{color:#202124}

/* ⚠️ Текст на обложке — с ЗАПАСОМ по весу селектора.
   Правило `.ccp-pc-hero__panel *` (один класс) проигрывало киту темы:
   у него `.elementor-kit-9 h1` — класс + тег, это тяжелее. Из-за этого
   заголовок объекта был тёмным на тёмной плашке. На стеклянной версии дефект
   маскировался: панель полупрозрачная, и заголовок вытягивало светлое небо
   позади. На плотной плашке плоского варианта он просто исчез.
   Добавляем предок `.ccp-pc` — два класса против класса с тегом, и мы тяжелее.
   ⚠️ Счётчик фото лежит НЕ внутри панели, а рядом с ней, поэтому его надо
   называть отдельно — под звёздочку он не попадал. */
.ccp-pc .ccp-pc-hero__panel,
.ccp-pc .ccp-pc-hero__panel *,
.ccp-pc .ccp-pc-hero__count{color:#fff}
html[data-theme="night"] .ccp-pc-h2,
html[data-theme="night"] .ccp-pc-tile__v,
html[data-theme="night"] .ccp-pc-deal__price,
html[data-theme="night"] .ccp-pc-broker__name,
html[data-theme="night"] .ccp-pc-prose{color:#E8EAED}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .ccp-pc[data-glass="1"] .ccp-pc-block,
  .ccp-pc[data-glass="1"] .ccp-pc-deal{background:rgba(255,255,255,.94)}
  .ccp-pc[data-glass="1"] .ccp-pc-hero__panel{background:rgba(18,22,30,.72)}
}
/* Системное «уменьшить прозрачность». Обходится атрибутом glass="force" —
   ⚠️ у владельца эта настройка macOS ВКЛЮЧЕНА, поэтому по умолчанию он увидел
   бы плоскую версию и решил, что стекла нет. */
@media (prefers-reduced-transparency:reduce){
  .ccp-pc[data-glass="1"]:not([data-force="1"]) .ccp-pc-block,
  .ccp-pc[data-glass="1"]:not([data-force="1"]) .ccp-pc-deal{
    background:#fff !important;-webkit-backdrop-filter:none;backdrop-filter:none}
  .ccp-pc[data-glass="1"]:not([data-force="1"]) .ccp-pc-hero__panel{
    background:rgba(18,22,30,.78) !important;-webkit-backdrop-filter:none;backdrop-filter:none}
  html[data-theme="night"] .ccp-pc[data-glass="1"]:not([data-force="1"]) .ccp-pc-block,
  html[data-theme="night"] .ccp-pc[data-glass="1"]:not([data-force="1"]) .ccp-pc-deal{
    background:#161a21 !important}
}
@media (max-width:700px){
  .ccp-pc[data-glass="1"]{padding:12px;border-radius:22px}
  .ccp-pc[data-glass="1"] .ccp-pc-block,
  .ccp-pc[data-glass="1"] .ccp-pc-deal{
    -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
}

/*# sourceURL=ccp-product-card-inline-css */


.ccp-rl{margin:18px 0}.ccp-rl-scroll{overflow-x:auto}.ccp-rl-table{width:100%;border-collapse:collapse;font-size:15px}.ccp-rl-table th,.ccp-rl-table td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(127,127,127,.22);white-space:nowrap}.ccp-rl-table--wrap th,.ccp-rl-table--wrap td{white-space:normal}.ccp-rl-table--wrap td:first-child{white-space:nowrap}.ccp-rl-table th{font-size:13px;font-weight:600;color:var(--e-global-color-ccpmute,#6b7075)}.ccp-rl-table td b{font-weight:600}.ccp-rl-table a{color:var(--e-global-color-accent,#FFFFFF);text-decoration:none;border-bottom:1px solid rgba(127,127,127,.35)}.ccp-rl-note{font-size:13px;color:var(--e-global-color-ccpmute,#6b7075);margin:10px 0 0}.ccp-rl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:18px 0}.ccp-rl-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:rgba(127,127,127,.07);color:inherit;transition:transform .15s;text-decoration:none !important}.ccp-rl-card *{text-decoration:none !important}.ccp-rl-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.10)}.ccp-rl-card:hover{transform:translateY(-2px)}.ccp-rl-card__img{display:block;height:150px;background-size:cover;background-position:center}.ccp-rl-card__body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}.ccp-rl-card__name{font-weight:600;font-size:15px;line-height:1.3;color:#202124}html[data-theme="night"] .ccp-rl-card__name{color:#E8EAED}.ccp-rl-card__loc,.ccp-rl-card__meta{font-size:12px;color:var(--e-global-color-ccpmute,#6b7075)}.ccp-rl-card__price{font-size:14px;font-weight:600;color:var(--e-global-color-primary,#1D5AD2)}
/*# sourceURL=ccp-rl-inline-css */


.ccp-cpt-gallery-shortcode {
    --ccp-gallery-gap: 14px;
    --ccp-gallery-radius: 18px;
    --ccp-gallery-row-height: 150px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: var(--ccp-gallery-row-height);
    grid-auto-flow: dense;
    gap: var(--ccp-gallery-gap);
    width: 100%;
    margin: 0;
}

.ccp-cpt-gallery-shortcode-item {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: var(--ccp-gallery-radius);
    background: #f3f4f6;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    isolation: isolate;
    line-height: 0;
}

.ccp-cpt-gallery-shortcode-single {
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(320px, 560px);
}

.ccp-cpt-gallery-shortcode-single .ccp-cpt-gallery-shortcode-item {
    grid-column: auto;
    grid-row: auto;
}

.ccp-cpt-gallery-shortcode-link {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    text-decoration: none;
    color: inherit;
    line-height: 0;
}

.ccp-cpt-gallery-shortcode-image,
.ccp-cpt-gallery-shortcode img.ccp-cpt-gallery-shortcode-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.001);
    transition: transform 0.45s ease, filter 0.45s ease;
    will-change: transform;
}

.ccp-cpt-gallery-shortcode-item > img.ccp-cpt-gallery-shortcode-image {
    height: 100% !important;
}

.ccp-cpt-gallery-shortcode-item::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.16) 100%);
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 1;
}

.ccp-cpt-gallery-shortcode-item:hover .ccp-cpt-gallery-shortcode-image {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.02);
}

.ccp-cpt-gallery-shortcode-item:hover::after {
    opacity: 1;
}

.ccp-cpt-gallery-multiple .ccp-cpt-gallery-shortcode-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

.ccp-cpt-gallery-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(260px, 420px);
}

.ccp-cpt-gallery-count-2 .ccp-cpt-gallery-shortcode-item:first-child {
    grid-column: span 1;
    grid-row: span 1;
}

.ccp-cpt-gallery-count-3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 170px;
}

.ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

.ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:nth-child(2),
.ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:nth-child(3) {
    grid-column: span 2;
    grid-row: span 1;
}

.ccp-cpt-gallery-count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 170px;
}

.ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

.ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:nth-child(2),
.ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:nth-child(3),
.ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:nth-child(4) {
    grid-column: span 1;
    grid-row: span 1;
}

.ccp-cpt-gallery-shortcode:not(.ccp-cpt-gallery-count-1):not(.ccp-cpt-gallery-count-2):not(.ccp-cpt-gallery-count-3):not(.ccp-cpt-gallery-count-4) .ccp-cpt-gallery-shortcode-item:nth-child(7n) {
    grid-row: span 2;
}

.ccp-cpt-gallery-shortcode:not(.ccp-cpt-gallery-count-1):not(.ccp-cpt-gallery-count-2):not(.ccp-cpt-gallery-count-3):not(.ccp-cpt-gallery-count-4) .ccp-cpt-gallery-shortcode-item:nth-child(11n) {
    grid-column: span 2;
}

@media (max-width: 1024px) {
    .ccp-cpt-gallery-shortcode {
        --ccp-gallery-row-height: 140px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ccp-cpt-gallery-count-2,
    .ccp-cpt-gallery-count-3,
    .ccp-cpt-gallery-count-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 180px;
    }

    .ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:first-child,
    .ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:first-child {
        grid-column: span 2;
        grid-row: span 2;
    }
}

@media (max-width: 767px) {
    .ccp-cpt-gallery-shortcode {
        --ccp-gallery-gap: 10px;
        --ccp-gallery-radius: 14px;
        --ccp-gallery-row-height: 120px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ccp-cpt-gallery-shortcode-single {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(240px, 420px);
    }

    .ccp-cpt-gallery-multiple .ccp-cpt-gallery-shortcode-item:first-child,
    .ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:first-child,
    .ccp-cpt-gallery-count-4 .ccp-cpt-gallery-shortcode-item:first-child {
        grid-column: span 2;
        grid-row: span 2;
    }

    .ccp-cpt-gallery-count-2 {
        grid-template-columns: 1fr;
        grid-auto-rows: 240px;
    }

    .ccp-cpt-gallery-count-2 .ccp-cpt-gallery-shortcode-item:first-child {
        grid-column: auto;
        grid-row: auto;
    }

    .ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:nth-child(2),
    .ccp-cpt-gallery-count-3 .ccp-cpt-gallery-shortcode-item:nth-child(3) {
        grid-column: span 1;
        grid-row: span 1;
    }

    .ccp-cpt-gallery-shortcode:not(.ccp-cpt-gallery-count-1):not(.ccp-cpt-gallery-count-2):not(.ccp-cpt-gallery-count-3):not(.ccp-cpt-gallery-count-4) .ccp-cpt-gallery-shortcode-item:nth-child(11n) {
        grid-column: span 1;
    }
}
/*# sourceURL=ccp-cpt-gallery-frontend-inline-css */



        .ccp-faq { margin: 0; font: inherit; }
        .ccp-faq__list { display: grid; gap: 12px; }
        .ccp-faq__item {
            overflow: hidden;
            border: 1px solid rgba(16, 24, 40, .12);
            border-radius: 14px;
            background: #fff;
            box-shadow: 0 2px 8px rgba(16, 24, 40, .04);
            transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
        }
        .ccp-faq__item:hover {
            border-color: rgba(16, 24, 40, .24);
            box-shadow: 0 8px 24px rgba(16, 24, 40, .08);
            transform: translateY(-1px);
        }
        .ccp-faq__q {
            position: relative;
            display: block;
            padding: 20px 58px 20px 20px;
            color: inherit;
            cursor: pointer;
            font-size: 17px;
            font-weight: 600;
            line-height: 1.45;
            list-style: none;
        }
        .ccp-faq__q::-webkit-details-marker { display: none; }
        .ccp-faq__q::after {
            position: absolute;
            top: 50%;
            right: 20px;
            width: 28px;
            height: 28px;
            border: 1px solid rgba(16, 24, 40, .16);
            border-radius: 50%;
            content: "+";
            display: grid;
            place-items: center;
            font-size: 22px;
            font-weight: 300;
            line-height: 1;
            transform: translateY(-50%);
            transition: transform .2s ease, background-color .2s ease, color .2s ease;
        }
        .ccp-faq__item[open] .ccp-faq__q::after {
            color: #fff;
            background: #161616;
            border-color: #161616;
            transform: translateY(-50%) rotate(45deg);
        }
        .ccp-faq__item[open] .ccp-faq__q { border-bottom: 1px solid rgba(16, 24, 40, .10); }
        .ccp-faq__a {
            padding: 17px 58px 21px 20px;
            color: rgba(16, 24, 40, .72);
            font-size: 16px;
            line-height: 1.65;
        }
        .ccp-faq__q:focus-visible {
            outline: 3px solid rgba(16, 24, 40, .28);
            outline-offset: -3px;
        }
        @media (max-width: 767px) {
            .ccp-faq__q { padding: 17px 52px 17px 17px; font-size: 16px; }
            .ccp-faq__a { padding: 15px 17px 18px; font-size: 15px; }
            .ccp-faq__q::after { right: 17px; width: 26px; height: 26px; }
        }
    
/*# sourceURL=ccp-faq-schema-inline-css */

