/* ===========================================================================
   Kosmos GEO Child — косметический слой дизайна.
   Грузится ПОСЛЕ родительского custom-design.css → переопределяет переменные
   и точечные правила. Цель: читабельно и аккуратно, минимально и обратимо.

   ГЛАВНОЕ: родитель использовал 'Marcellus' (заголовки) и 'Outfit' (текст) —
   у обоих НЕТ кириллицы, поэтому русский текст валился в системный фолбэк
   (serif/sans), отсюда «кривое» начертание и капс, не попадающий в кнопки.
   Заменяем на Manrope — современный гротеск с ПОЛНОЙ кириллицей.
   =========================================================================== */

/* 1. Подмена шрифтовых переменных — меняет всё разом (заголовки, текст, кнопки, меню) */
:root {
    --font-headings: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* 2. База: читаемость */
body {
    font-family: var(--font-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

p {
    line-height: 1.7;
}

/* 3. Заголовки: убрать «растопыренный» трекинг на кириллице, нормальный вес, без тени */
h1, h2, h3, h4, h5, h6,
.header__menu a,
.btn-ksm,
.human-design button {
    font-family: var(--font-headings);
    letter-spacing: 0.005em;
}

.page h1, .page h2,
.content-home h1, .content-home h2 {
    font-family: var(--font-headings);
    font-weight: 700;
    letter-spacing: 0;
    text-shadow: none;
}

/* 4. Кнопки: центрируем текст, аккуратный трекинг/высота строки, чтобы «попадал» в кнопку.
      Капс оставляем (это нормальный CTA), но теперь шрифт с кириллицей — выглядит чисто. */
.btn-ksm,
.courses-btn-callback,
button.btn-ksm {
    font-family: var(--font-headings);
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
}

/* 5. Меню в шапке — спокойнее */
.header__menu a {
    letter-spacing: 0.01em;
}

/* Шапка: центрирование строки меню, без подчёркивания при hover */
.header__body {
    align-items: center !important;
}
.header__content {
    align-items: center !important;
    align-content: center !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    padding-top: 0 !important;
}
.header__menu ul[data-ksm-el="menu"] > li > a,
.header__menu ul li a {
    padding: .6rem .6rem !important;
    text-decoration: none !important;
}
.header__menu ul li a:hover,
.header__menu ul li a:focus,
.header__menu ul li a:active {
    text-decoration: none !important;
}
.header__menu ul li a::after {
    display: none !important;
    width: 0 !important;
    content: none !important;
}

/* 6. Блоки с капсом — нормализуем трекинг под кириллицу */
.hd-result-card h3,
.ai-summary-header,
ul.human-design__form-generate li span {
    letter-spacing: 0.02em;
}

/* 7. Длинный текст на главной/страницах — даём «воздух» для чтения (не меняя верстку сеток) */
.page p,
.content-home p,
.single-content p,
[itemprop="articleBody"] p {
    margin-bottom: 1em;
}

/* 8. «Стена текста» во вводном блоке главной (the_content в col-lg-12 шла на всю ширину).
      Ограничиваем длину строки и добавляем межстрочный интервал — читать легче. */
.home__about .col-lg-12 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.home__about .col-lg-12 p,
.home__about .col-lg-5 p {
    line-height: 1.75;
    color: var(--text-secondary);
    margin-bottom: 1em;
}

/* Заголовки секций по центру — чуть больше отступ сверху, спокойнее */
.home__advantage h2,
.home__reviews h2,
.home__about-in-numbers h2 {
    margin-bottom: 1.2em;
}

/* 9. Кнопка «наверх»: была голой в левом нижнем углу — переносим вправо и оформляем */
#scrollTopBtn {
    left: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, var(--color-gold) 0%, #b38b45 100%);
    color: #07090e;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: var(--shadow-neon-gold);
    z-index: 1000;
    padding: 0;
}

/* 10. Космический фон-анимация: убираем «полёт сквозь космос» и mouse-parallax (эпилепсия).
      Декоративный слой без пользы — фон и так тёмный. Легко вернуть, удалив правило. */
#kosmos-background {
    display: none !important;
}

/* 11. Подвал: гигантское лого ужимаем, дубликат лого во втором блоке убираем */
.footer__logo svg,
.footer__logo img {
    max-width: 150px;
    height: auto;
}
.footer__menu .footer__logo {
    display: none;
}

/* 12. «Красная строка» у абзацев (text-indent) — выглядит как реферат 2000х, убираем */
.content-home p,
.home__about p,
.page p,
[itemprop="articleBody"] p {
    text-indent: 0;
}

/* ===========================================================================
   НАПРАВЛЕНИЕ A — структурные блоки главной (дочерний home.php) + чистка подвала.
   =========================================================================== */

/* 13. Вступление answer-first: крупный лид, акцентный CTA, аккуратное видео */
.kgc-intro {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.kgc-intro__lead {
    font-size: 1.15rem;
    line-height: 1.7;
    color: var(--text-primary, #e8eaf0);
    max-width: 640px;
    margin-bottom: 1.5rem;
}
.kgc-intro__cta {
    margin-bottom: 1rem;
}
.kgc-intro__video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
}
.kgc-intro__video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* 14. «Подробнее» — длинный the_content прячем в спойлер (не стена текста) */
.kgc-more {
    margin-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 1rem;
}
.kgc-more > summary {
    cursor: pointer;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-headings);
    font-weight: 600;
    color: var(--color-gold, #d6a85a);
    padding: 6px 0;
}
.kgc-more > summary::-webkit-details-marker { display: none; }
.kgc-more > summary::after {
    content: "\203A";
    transform: rotate(90deg);
    transition: transform 0.2s ease;
    font-size: 1.2em;
    line-height: 1;
}
.kgc-more[open] > summary::after { transform: rotate(-90deg); }
.kgc-more__body {
    max-width: 820px;
    margin-top: 1rem;
}
.kgc-more__body p { line-height: 1.75; }

/* 15. Блок статей — карточки с обложкой, датой и анонсом */
.kgc-articles { padding: 2.5rem 0; }
.kgc-articles__grid { row-gap: 1.5rem; }
.kgc-article__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.kgc-article__card:hover {
    transform: translateY(-4px);
    border-color: rgba(214, 168, 90, 0.5);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
}
.kgc-article__thumb {
    aspect-ratio: 3 / 4;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kgc-article__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.kgc-article__thumb-empty {
    font-size: 2rem;
    color: rgba(214, 168, 90, 0.6);
}
.kgc-article__body {
    padding: 16px 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.kgc-article__date {
    font-size: 0.8rem;
    color: var(--text-secondary, #9aa1b2);
    text-transform: lowercase;
}
.kgc-article__title {
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 0;
    font-weight: 600;
}
.kgc-article__excerpt {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--text-secondary, #9aa1b2);
    margin: 0;
    text-indent: 0 !important;
}

/* Вторичная кнопка-призрак (например, «Все статьи») */
.btn-ksm--ghost {
    background: transparent !important;
    border: 1px solid rgba(214, 168, 90, 0.6) !important;
    color: var(--color-gold, #d6a85a) !important;
    box-shadow: none !important;
}
.btn-ksm--ghost:hover {
    background: rgba(214, 168, 90, 0.12) !important;
}

/* 16. Форма заявки: понятный оффер слева, форма справа */
.kgc-lead { padding: 2.5rem 0; }
.kgc-lead__offer h2 { text-align: left; }
.kgc-lead__sub {
    font-size: 1.08rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}
.kgc-lead__list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}
.kgc-lead__list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    line-height: 1.5;
}
.kgc-lead__list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-gold, #d6a85a);
    font-weight: 700;
}
.kgc-lead__note {
    color: var(--text-secondary, #9aa1b2);
    font-size: 0.95rem;
}

/* 17. Подвал: оставляем ОДНУ форму (подписку), вторую (обратную связь) скрываем,
      чтобы не было «двух форм непонятно зачем». Легко вернуть удалением правила. */
.footer__feedback { display: none; }

/* ===========================================================================
   ИТЕРАЦИЯ 2 — шапка, слайдер, подвал-колонки, отзывы, видео.
   =========================================================================== */

/* 18. Шапка: чистим, единый выровненный CTA, sticky, линия снизу. */

/* Sticky: фиксируем шапку; фон/тень появляются при скролле (класс из header-sticky.js). */
.header {
    position: fixed !important;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    transition: background .25s ease, box-shadow .25s ease;
}
/* На главной: шапка прозрачная поверх хиро (как myBodyGraph), тёмный фон только при скролле. */
body.home .header:not(.kgc-sticky),
.header.home:not(.kgc-sticky) {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
body.home .header:not(.kgc-sticky)::after,
.header.home:not(.kgc-sticky)::after {
    opacity: 0.35;
}
body.home .header__menu a:not([href="/human-design/"]),
.header.home .header__menu a:not([href="/human-design/"]) {
    color: rgba(255, 255, 255, .88) !important;
    font-weight: 500;
}
body.home .header__menu a:not([href="/human-design/"]):hover,
.header.home .header__menu a:not([href="/human-design/"]):hover {
    color: #fff !important;
}
.header.kgc-sticky {
    background: rgba(7, 9, 14, .92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 6px 24px rgba(0, 0, 0, .45);
}
.header.kgc-sticky::after { opacity: 1; }

/* Убираем «волну» и старый слайдер родителя на главной. */
body.home .home__start,
body.home .content-home .home__start { display: none !important; }
body.home .content-home::before,
body.home .content-home::after,
body.home .home__start::before,
body.home .home__start::after { display: none !important; content: none !important; }

/* На внутренних страницах (body без класса home) компенсируем высоту фикс-шапки.
   Скролл-контейнер темы — #app, поэтому отступ ставим ему (работает и при
   обычном оконном скролле). */
body:not(.home) #app { padding-top: 104px; }

/* Фиолетовую линию переносим со «середины» (она — прямой потомок .header__panel)
   на нижнюю границу шапки. NB: span.line внутри заголовков h1/h2 не трогаем. */
.header__panel > span.line { display: none !important; }
.header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(138, 18, 109, 0) 0%, #8a126d 20%, #7b2ff7 50%, #5915a2 80%, rgba(89, 21, 162, 0) 100%);
}

/* Верхний ряд шапки целиком (соцсети, телефон/почта, «Статьи и видео», профиль)
   — убираем. Он давал «кривой» полупустой ряд. Остаётся один ряд: лого + меню. */
.header__panel { display: none !important; }

/* Поиск в меню — убираем. */
.header__search { display: none !important; }

/* «Заказать звонок» — для звонка есть виджет Jivo. */
.header__menu a.btn-ksm[data-targert="callback-modal"] { display: none !important; }

/* Меню: крупнее и на всю ширину строки. */
.header__menu ul[data-ksm-el="menu"] {
    display: flex !important;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 1.4vw, 26px);
    width: auto;
    margin: 0;
}
.header__menu ul[data-ksm-el="menu"] > li { display: flex; align-items: center; }
.header__menu ul[data-ksm-el="menu"] > li > a {
    font-size: clamp(.95rem, 1vw, 1.1rem);
    white-space: nowrap;
    letter-spacing: .03em;
}

/* CTA «Расчёт бодиграфа» — ровная кнопка, выровненная по центру строки. */
.header__menu ul[data-ksm-el="menu"] a[href="/human-design/"] {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, var(--color-gold, #c5a059) 0%, #b38b45 100%);
    color: #07090e !important;
    padding: 11px 22px;
    border-radius: 10px;
    font-weight: 700;
    line-height: 1;
    box-shadow: var(--shadow-neon-gold, 0 4px 20px rgba(197, 160, 89, .25));
}
.header__menu ul[data-ksm-el="menu"] a[href="/human-design/"]:hover { filter: brightness(1.08); }

/* 19. Слайдер-герой: один слайд → стрелки не нужны (нечего листать). */
.home__start .carousel-control-prev,
.home__start .carousel-control-next { display: none; }

/* 20. Подвал — «братскую могилу» ссылок в 2 колонки. */
.footer__menu ul {
    column-count: 2;
    column-gap: 40px;
}
.footer__menu ul li {
    break-inside: avoid;
}

/* 21. Отзывы: обезличенные скриншоты (masonry-сетка) + видео-отзывы (карточки на Дзен). */
.kgc-reviews { padding: 2.5rem 0; }
.kgc-reviews__shots {
    column-count: 3;
    column-gap: 16px;
    margin-top: 10px;
}
@media (max-width: 900px) { .kgc-reviews__shots { column-count: 2; } }
@media (max-width: 560px) { .kgc-reviews__shots { column-count: 1; } }
.kgc-reviews__shot {
    display: block;
    break-inside: avoid;
    margin-bottom: 16px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .03);
    transition: transform .18s ease, border-color .18s ease;
}
.kgc-reviews__shot:hover { transform: translateY(-3px); border-color: rgba(197, 160, 89, .4); }
.kgc-reviews__shot img { display: block; width: 100%; height: auto; }
/* Видео-отзывы — отдельный подблок с космическим фоном, заголовок как «Наши видео записи». */
.kgc-reviews-video-block {
    margin-top: 2.5rem;
    padding: 2.5rem 1rem 2rem;
    border-radius: 18px;
    position: relative;
    overflow: hidden;
    background-color: #07090e;
    background-image:
        linear-gradient(180deg, rgba(7, 9, 14, .82) 0%, rgba(7, 9, 14, .92) 100%),
        url(/wp-content/themes/kosmos/asset/images/planets.f05d0e522c658707fa45.webp);
    background-size: cover;
    background-position: center 30%;
    border: 1px solid rgba(255, 255, 255, .06);
}
.kgc-reviews-video-block__title {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin: 0 0 1.5rem;
    color: #fff;
    font-weight: 700;
}
.kgc-reviews__videos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.kgc-reviews__video {
    position: relative;
    aspect-ratio: 9 / 12;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    background: linear-gradient(160deg, #2a2140, #0d1424);
}
.kgc-reviews__video-btn {
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    cursor: pointer;
    display: block;
    background-color: #1a2030;
    background-size: cover;
    background-position: center;
    position: relative;
}
.kgc-reviews__video-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.45) 100%);
    transition: background .18s ease;
}
.kgc-reviews__video-btn:hover::before {
    background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.55) 100%);
}
.kgc-reviews__video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .55);
    border: 2px solid rgba(255, 255, 255, .85);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    z-index: 1;
    transition: transform .18s ease, background .18s ease;
}
.kgc-reviews__video-btn:hover .kgc-reviews__video-play {
    transform: translate(-50%, -50%) scale(1.06);
    background: rgba(0, 0, 0, .7);
}
.kgc-reviews__video.has-thumb .kgc-reviews__video-play {
    width: 48px;
    height: 48px;
}
.kgc-reviews__video-el {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #0d1424;
}
.kgc-reviews__video-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, #1a2030, #0d1424);
}
.kgc-reviews__video-placeholder-text {
    font-size: .85rem;
    color: rgba(255, 255, 255, .55);
    padding: 12px;
    text-align: center;
}

/* 22. Видео-блок (VK): сетка карточек, ленивый iframe по клику. */
.kgc-video__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.kgc-video__item,
.kgc-video__embed {
    aspect-ratio: 16 / 9;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
}
.kgc-video__item .video__action--vk {
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    cursor: pointer;
    background-color: #1a2030;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: filter .18s ease;
}
/* Родитель: .home__video .video__action i { color:#c4302b; font-size:4rem } — перебиваем */
.home__video .video__action--vk img {
    display: none !important;
}
.home__video .video__action--vk > i,
.home__video .video__action--vk i {
    position: static !important;
    transform: none !important;
    font-size: inherit !important;
    color: inherit !important;
    left: auto !important;
    top: auto !important;
}
.kgc-video__item .video__action--vk::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .22);
    transition: background .18s ease;
}
.kgc-video__item .video__action--vk:hover::before {
    background: rgba(0, 0, 0, .35);
}
.kgc-video__item.has-thumb .video__action--vk {
    background-image: var(--kgc-video-thumb, none);
}
.kgc-video__play {
    position: relative;
    z-index: 1;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(7, 9, 14, .55);
    border: 2px solid rgba(214, 168, 90, 0.75);
    color: var(--color-gold, #d6a85a);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.kgc-video__play i {
    font-size: 1.05rem;
    line-height: 1;
    margin-left: 3px;
}
.kgc-video__item .video__action--vk:hover .kgc-video__play {
    transform: scale(1.06);
    background: rgba(7, 9, 14, .72);
    border-color: var(--color-gold, #d6a85a);
}
.kgc-video__item:not(.has-thumb) .video__action--vk {
    background: linear-gradient(160deg, #1a2030, #0d1424);
}
.kgc-video__footer { margin-bottom: 8px; }
.kgc-video__embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.home__video .slider-pagination { text-align: center; }

/* 23. FAQ — нативный аккордеон (details/summary). */
.kgc-faq-section { padding: 3.5rem 0; }
.kgc-faq { max-width: 1230px; margin: 2rem auto 0; }
.kgc-faq__item {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .03);
    margin-bottom: 16px;
    padding: 0 24px;
    transition: border-color .18s ease;
}
.kgc-faq__item[open] { border-color: rgba(197, 160, 89, .35); }
.kgc-faq__q {
    cursor: pointer;
    list-style: none;
    padding: 22px 42px 22px 0;
    font-weight: 600;
    color: var(--text-primary, #fff);
    position: relative;
    font-size: 1.575rem;
    line-height: 1.4;
}
.kgc-faq__q::-webkit-details-marker { display: none; }
.kgc-faq__q::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 18px;
    font-size: 2rem;
    line-height: 1;
    color: var(--color-gold, #c5a059);
}
.kgc-faq__item[open] .kgc-faq__q::after { content: "\2212"; }
.kgc-faq__a {
    padding: 0 0 22px;
    color: var(--text-secondary, #d1d5db);
    line-height: 1.65;
    font-size: 1.08rem;
}

/* 24. Хиро (Направление myBodyGraph): полный экран, фото не под шапкой. */
:root {
    --kgc-header-h: 88px;
    --kgc-hero-gap: clamp(18px, 2.8vh, 36px);
}

body.home .content-home {
    margin: 0;
    padding: 0;
}

.kgc-hero {
    position: relative;
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    /* Симметрия вокруг фото: зазор под шапкой = зазор у нижнего края блока */
    padding-top: calc(var(--kgc-header-h) + var(--kgc-hero-gap));
    padding-bottom: var(--kgc-hero-gap);
    background-color: #07090e;
    background-image:
        linear-gradient(105deg, rgba(7, 9, 14, .92) 0%, rgba(7, 9, 14, .78) 42%, rgba(7, 9, 14, .55) 100%),
        radial-gradient(900px 500px at 78% 18%, rgba(123, 47, 247, .22), transparent 60%),
        radial-gradient(700px 420px at 12% 88%, rgba(69, 243, 255, .12), transparent 55%),
        var(--kgc-hero-bg, none);
    background-size: cover;
    background-position: center 30%;
    overflow: hidden;
}

.kgc-hero > .container {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: calc(100dvh - var(--kgc-header-h) - 2 * var(--kgc-hero-gap));
}

.kgc-hero__grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 48px;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 0;
}
.kgc-hero__eyebrow {
    display: inline-block;
    font-size: .8rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--color-gold, #c5a059);
    margin-bottom: 18px;
}
.kgc-hero__title {
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
    color: #fff;
    margin: 0 0 18px;
    font-weight: 700;
}
.kgc-hero__lead {
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    color: var(--text-secondary, #d1d5db);
    max-width: 560px;
    margin: 0 0 28px;
    line-height: 1.6;
}
.kgc-hero__btn {
    display: inline-flex;
    align-items: center;
    padding: 14px 30px;
    font-size: 1.02rem;
    border-radius: 12px;
}
.kgc-hero__media {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 0;
    height: 100%;
    max-height: 100%;
}
.kgc-hero__visual {
    position: relative;
    width: auto;
    max-width: min(480px, 40vw);
    max-height: 100%;
    aspect-ratio: 4 / 5;
    height: auto;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .45);
    flex-shrink: 0;
}
.kgc-hero__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kgc-hero__visual.is-placeholder::after {
    content: "Сюда — фото Николая (пришли файл)";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 10px;
    text-align: center;
    font-size: .78rem;
    color: rgba(255, 255, 255, .75);
    background: linear-gradient(transparent, rgba(0, 0, 0, .7));
}
@media (max-width: 900px) {
    .kgc-hero {
        height: 100vh;
        height: 100dvh;
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: calc(var(--kgc-header-h) + var(--kgc-hero-gap));
        padding-bottom: var(--kgc-hero-gap);
    }
    .kgc-hero > .container {
        max-height: calc(100dvh - var(--kgc-header-h) - 2 * var(--kgc-hero-gap));
    }
    .kgc-hero__grid { grid-template-columns: 1fr; gap: 30px; text-align: center; height: auto; }
    .kgc-hero__lead { margin-left: auto; margin-right: auto; }
    .kgc-hero__media { height: auto; max-height: calc(100dvh - var(--kgc-header-h) - 2 * var(--kgc-hero-gap) - 180px); }
    .kgc-hero__visual {
        max-width: min(360px, 78vw);
        max-height: 100%;
    }
}

/* 25. Лента «Услуги и Статьи» под хиро — карусель со стрелками. */
.kgc-strip { padding: 32px 0 8px; background: #07090e; }
.kgc-strip__head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.kgc-strip__title { font-size: 1.4rem; margin: 0; color: #fff; }
.kgc-strip__hint { color: var(--text-muted, #9ca3af); font-size: .92rem; flex: 1 1 auto; }
.kgc-strip__nav { display: flex; gap: 8px; margin-left: auto; }
.kgc-strip__btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .15);
    background: rgba(255, 255, 255, .05);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease, border-color .15s ease;
}
.kgc-strip__btn:hover {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(197, 160, 89, .45);
    color: var(--color-gold, #c5a059);
}
.kgc-strip__viewport { overflow: hidden; }
.kgc-strip__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.kgc-strip__track::-webkit-scrollbar { display: none; }
.kgc-card {
    scroll-snap-align: start;
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .08);
    color: var(--text-secondary, #d1d5db);
    transition: transform .18s ease, border-color .18s ease;
    text-decoration: none;
}
.kgc-card:hover { transform: translateY(-4px); border-color: rgba(197, 160, 89, .4); }
.kgc-card__icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(197, 160, 89, .14);
    color: var(--color-gold, #c5a059);
    font-size: 1.2rem;
    margin-bottom: 6px;
}
.kgc-card__kicker { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--color-gold, #c5a059); }
.kgc-card__title { font-size: 1.05rem; font-weight: 700; color: #fff; line-height: 1.25; }
.kgc-card__desc { font-size: .9rem; color: var(--text-muted, #9ca3af); line-height: 1.4; }
.kgc-card__more { margin-top: auto; font-size: .85rem; color: var(--color-teal, #45f3ff); display: inline-flex; gap: 6px; align-items: center; }
.kgc-card--article .kgc-card__thumb {
    display: block;
    aspect-ratio: 16 / 10;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(255, 255, 255, .04);
    margin-bottom: 6px;
}
.kgc-card--article .kgc-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Декоративные «волны» и shape-divider родителя — прямые границы секций.
   Дублируем :before и ::before: родитель использует одинарный :before. */
body.home .home__about::before,
body.home .home__about:before,
body.home .home__about.kgc-intro::before,
body.home .home__about.kgc-intro:before,
body.home .kgc-intro::before,
body.home .kgc-intro:before,
body.home .home__blocks::before,
body.home .home__blocks:before,
body.home .home__reviews::before,
body.home .home__reviews:before,
body.home .home__video::before,
body.home .home__video:before,
body.home .kgc-articles::before,
body.home .kgc-articles:before,
body.home .kgc-strip::before,
body.home .kgc-strip:before,
body.home .kgc-strip::after,
body.home .kgc-strip:after,
.home__about.kgc-intro::before,
.home__about.kgc-intro:before {
    display: none !important;
    content: none !important;
    background: none !important;
    height: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    top: 0 !important;
}
body.home .kgc-strip,
body.home .home__about.kgc-intro,
.kgc-strip + .home__about.kgc-intro {
    margin-top: 0 !important;
    padding-top: 2rem !important;
}
.kgc-strip { padding-bottom: 24px; background: #07090e !important; }
body.home .home__about.kgc-intro,
.home__about.kgc-intro {
    background: #0a1822 !important;
    padding-top: 2rem !important;
}

/* ===========================================================================
   26. РЕЖИМ ЧТЕНИЯ — одиночные статьи (single-default.php).
   Разметка: .page[itemtype=Article] > .container > [itemprop="articleBody"].
   Цель: спокойная колонка для длинного текста, читаемый кегль/контраст,
   не-неоновые ссылки, аккуратный лид-блок, без горизонтального скролла.
   Скоупится к body.single-post (класс добавляет kgc_inject_body_class).
   =========================================================================== */
:root {
    --kgc-read-text: #e2e8f0;
    --kgc-read-link: #7ec8c4;
    --kgc-read-size: 1.0625rem;   /* 17px */
    --kgc-read-line: 1.8;
    --kgc-read-col: 800px;        /* комфортная ширина колонки чтения */
}

/* Колонка чтения: сужаем .container на статьях — h1, лид и текст в одной оси */
body.single-post .page > .container {
    max-width: var(--kgc-read-col);
}

/* Заголовок статьи — спокойный, без serif/тени родителя */
body.single-post .page h1[itemprop="headline"] {
    font-family: var(--font-headings);
    font-weight: 700;
    letter-spacing: 0;
    text-shadow: none;
    line-height: 1.15;
    font-size: clamp(1.7rem, 3.4vw, 2.5rem);
}

/* Тело статьи: кегль/интерлиньяж/контраст */
body.single-post [itemprop="articleBody"] {
    font-size: var(--kgc-read-size);
    line-height: var(--kgc-read-line);
    color: var(--kgc-read-text);
}
body.single-post [itemprop="articleBody"] p {
    line-height: var(--kgc-read-line);
    margin-bottom: 1.15em;
    text-indent: 0;
}
body.single-post [itemprop="articleBody"] strong { color: #fff; }

/* Подзаголовки в теле — отличаются размером и отступом, не только цветом */
body.single-post [itemprop="articleBody"] h2 {
    font-family: var(--font-headings);
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    line-height: 1.25;
    font-weight: 700;
    color: #fff;
    text-shadow: none;
    letter-spacing: 0;
    margin: 2em 0 .6em;
}
body.single-post [itemprop="articleBody"] h3 {
    font-family: var(--font-headings);
    font-size: clamp(1.15rem, 1.8vw, 1.4rem);
    line-height: 1.3;
    font-weight: 600;
    color: #f1f3f8;
    text-shadow: none;
    letter-spacing: 0;
    margin: 1.6em 0 .5em;
}

/* Ссылки — спокойный teal вместо неона, читаемое подчёркивание */
body.single-post [itemprop="articleBody"] a {
    color: var(--kgc-read-link);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: rgba(126, 200, 196, .5);
    text-shadow: none;
}
body.single-post [itemprop="articleBody"] a:hover,
body.single-post [itemprop="articleBody"] a:focus {
    color: #a7ddd9;
    text-decoration-color: currentColor;
}

/* Списки */
body.single-post [itemprop="articleBody"] ul,
body.single-post [itemprop="articleBody"] ol {
    margin: 0 0 1.15em;
    padding-left: 1.4em;
}
body.single-post [itemprop="articleBody"] li {
    margin-bottom: .5em;
    line-height: 1.7;
}

/* Картинки в теле: адаптив (фикс горизонтального скролла), портрет-обложки не растягиваем */
body.single-post [itemprop="articleBody"] img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.4em auto;
    border-radius: 12px;
}
body.single-post [itemprop="articleBody"] table { max-width: 100%; }

/* Лид-блок «Суть статьи» — редакторский, без неона и пульсации */
body.single-post .ai-summary-block {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(126, 200, 196, .25);
    box-shadow: none;
    border-radius: 14px;
    padding: 18px 22px;
}
body.single-post .ai-summary-header {
    text-transform: none;
    letter-spacing: 0;
    color: var(--kgc-read-link);
}
body.single-post .ai-sparkle-icon {
    animation: none !important;
    color: var(--kgc-read-link);
}
body.single-post .ai-summary-content {
    color: var(--kgc-read-text);
    line-height: 1.7;
}

/* Рубрики и похожие записи — воздух снизу */
body.single-post .post-categories {
    margin-top: 2em;
    font-size: .95rem;
    color: var(--text-secondary, #9aa1b2);
}
body.single-post .related-posts { margin-top: 2.5rem; }

/* Обложка в начале тела статьи (figure.kgc-cover из attach_media.php):
   портретный источник кадрируем в аккуратный баннер, чтобы не «ронять» экран. */
body.single-post [itemprop="articleBody"] .kgc-cover {
    margin: 0 0 1.6em;
}
body.single-post [itemprop="articleBody"] .kgc-cover img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    margin: 0;
    display: block;
}

/* Мобайл: без горизонтального скролла, комфортные поля */
@media (max-width: 600px) {
    body.single-post { overflow-x: hidden; }
    body.single-post .page > .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    body.single-post [itemprop="articleBody"] .kgc-cover img { max-height: 300px; }
}
