/* Мягкие эффекты и «обыгрывание» картинок со стоков (10.10.2026, по просьбе владельца: «сайт скучный, при наведении ничего не меняется»).
   Всё делается чисто стилями поверх существующей вёрстки; уважает prefers-reduced-motion. */

/* --- карточки: мягкий подъём, подсветка рамки и тени --- */
.card,.post-card,.post-tile,.dir-tiles > a{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
a.card:hover,.post-card:hover,.dir-tiles > a:hover,.card.hoverable:hover{transform:translateY(-4px);box-shadow:0 20px 44px -26px rgba(11,122,68,.5);border-color:#bfe3cd}
.post-tile:hover{box-shadow:0 20px 44px -22px rgba(18,32,22,.65)}

/* --- кнопки: приподнимаются и теплеют, при нажатии «вдавливаются» --- */
.btn,.btn-primary,.btn-ghost,button.btn{transition:transform .2s ease,box-shadow .25s ease,filter .25s ease,background-color .25s ease,border-color .25s ease}
.btn:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(15,157,88,.65);filter:saturate(1.1) brightness(1.03)}
.btn-ghost:hover{background-color:rgba(15,157,88,.08);border-color:#0f9d58}
.btn:active,.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:none}

/* --- ссылки и меню: плавная смена цвета и «бегущее» подчёркивание --- */
a{transition:color .2s ease}
.main-nav a,.nav a,header nav a,footer a{position:relative}
header nav a::after,.main-nav a::after{content:"";position:absolute;left:12%;right:12%;bottom:2px;height:2px;border-radius:2px;background:linear-gradient(90deg,#0f9d58,#34d399);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
header nav a:hover::after,.main-nav a:hover::after{transform:scaleX(1)}
footer a:hover{color:#fff !important}

/* --- чипы, плашки, поля: отклик на наведение и фокус --- */
.pill,.chip,.cr-chip,.eyebrow{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.cr-chip:hover{transform:translateY(-2px);box-shadow:0 10px 22px -14px rgba(11,122,68,.6);border-color:#9fd2b1}
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .2s ease,box-shadow .2s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:#0f9d58;box-shadow:0 0 0 4px rgba(15,157,88,.14)}
summary{transition:color .2s ease}
details[open] > summary{color:#0b7a44}

/* --- картинки со стоков: чуть приглушаем «кислотность», сверху мягкая зелёная вуаль, при наведении картинка оживает --- */
.post-card img,.card img:not(.no-tone),.journal-mosaic img{filter:saturate(.88) contrast(.96) brightness(.99);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.post-card:hover img,a.card:hover img:not(.no-tone){transform:scale(1.05);filter:saturate(1) contrast(1) brightness(1)}
.post-card > div:first-child{position:relative;overflow:hidden}
.post-card > div:first-child::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,157,88,.08) 0%,rgba(11,30,20,.28) 100%);transition:opacity .4s ease}
.post-card:hover > div:first-child::after{opacity:.55}
.post-tile{background-blend-mode:multiply}
.post-tile img,.post-tile .pt-img{filter:saturate(.86) contrast(.95);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.post-tile:hover img,.post-tile:hover .pt-img{transform:scale(1.06)}
.dir-tiles > a > div[style*="background"]{position:relative;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:saturate(.9) contrast(.96)}
.dir-tiles > a > div[style*="background"]::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,30,20,.04),rgba(11,30,20,.4));transition:opacity .4s ease}
.dir-tiles > a:hover > div[style*="background"]{filter:saturate(1) contrast(1)}
.dir-tiles > a:hover > div[style*="background"]::before{opacity:.6}
.hero-has-bg{animation:cgHeroIn 1.2s ease both}
@keyframes cgHeroIn{from{background-position:center 56%}to{background-position:center}}

/* --- плашка-«спан» с темой статьи на обложке (журнал) --- */
.rb{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:99px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);color:#16301f;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 12px -6px rgba(0,0,0,.35);transition:transform .25s ease,background-color .25s ease}
.rb::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rc,#6fb08e)}
.post-card:hover .rb{transform:translateY(-2px);background:#fff}

/* --- появление блоков при прокрутке (включается скриптом polish.js, без скрипта всё видно) --- */
.cg-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.cg-reveal.cg-in{opacity:1;transform:none}

/* --- ВОПРОС-ОТВЕТ в современном виде (R-146, 10.10.2026): отдельные карточки с зазором, круглая кнопка «+», плавное раскрытие, подсветка открытого вопроса.
   Разметка прежняя (.faq-item > .faq-q + .faq-a), поэтому действует на всех страницах сайта, включая региональные копии. --- */
.card:has(> .faq-item){background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important}
.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:12px;padding:0 22px;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.faq-item:hover{border-color:rgba(15,157,88,.45);box-shadow:0 10px 28px -18px rgba(11,122,68,.45)}
.faq-item.open{background:linear-gradient(180deg,#f3faf6,#fff);border-color:rgba(15,157,88,.5);box-shadow:0 14px 34px -22px rgba(11,122,68,.55)}
.faq-q{padding:20px 0;font-size:16.5px;line-height:1.35;user-select:none}
.faq-q .faq-caret{width:34px;height:34px;padding:8px;border-radius:50%;background:#eaf6ef;transition:transform .3s ease,background .25s ease}
.faq-item:hover .faq-q .faq-caret{background:#d9efe3}
.faq-item.open .faq-q .faq-caret{transform:rotate(180deg);background:#0b7a44}
.faq-item.open .faq-q .faq-caret path{stroke:#fff}
.faq-a{transition:max-height .4s ease}
.faq-item.open .faq-a{max-height:900px}
.faq-a-inner{padding:0 0 22px;font-size:15px;line-height:1.7;max-width:760px}
@media(max-width:640px){.faq-item{padding:0 16px;border-radius:16px}.faq-q{padding:16px 0;font-size:15.5px}}

/* --- ЕДИНЫЙ КОНТЕЙНЕР САЙТА (R-164, 11.10.2026): шапка, верхняя полоса, все секции, подвал и блоки с собственной шириной (отзывы, регионы, документы)
   имеют ОДНУ ширину (1240 px) и ОДИН боковой отступ: 48 px на компьютере, 24 px на планшете, 16 px на телефоне. Текстовые страницы остаются
   читаемыми: контейнер общий, а строки текста внутри — не шире 860 px и прижаты к левому краю контейнера. --- */
:root{--cg-container:1240px;--cg-gutter:48px}
@media(max-width:1100px){:root{--cg-gutter:24px}}
@media(max-width:640px){:root{--cg-gutter:16px}}
.section,.site-header-inner,.aud-bar-inner,section.crm-reviews,section.cg-shorts,section.clego-regions{max-width:var(--cg-container) !important;margin-left:auto !important;margin-right:auto !important;padding-left:var(--cg-gutter) !important;padding-right:var(--cg-gutter) !important;box-sizing:border-box}
.site-header-inner{padding-top:14px !important;padding-bottom:14px !important}
html body .section.journal-wrap{max-width:var(--cg-container) !important;padding-left:var(--cg-gutter) !important;padding-right:var(--cg-gutter) !important}
section.crm-reviews{padding-top:28px !important;padding-bottom:28px !important}
.section[style*="max-width:760px"]>*,.section[style*="max-width:860px"]>*,.section[style*="max-width:960px"]>*{max-width:860px}
/* --- КОМПАКТНОСТЬ (R-162/R-164): вертикальные отступы секций и размеры крупных заголовков на компьютере меньше, чтобы блоки вмещались на экран --- */
@media(min-width:901px){
 .section{padding-top:48px;padding-bottom:48px}
 .section h2[style*="font-size:36px"]{font-size:30px !important}
 .section h2[style*="font-size:34px"],.section h2[style*="font-size:32px"]{font-size:28px !important}
 .section h2[style*="font-size:30px"]{font-size:26px !important}
}

/* --- ТИПОГРАФИКА СТАТЬИ ЖУРНАЛА (R-167, 11.10.2026): текст статьи (абзацы, списки, таблицы, цитаты, врезки) — один размер 16 px, строка 1.72; иерархия заголовков:
   h2 разделов 19 px, h3 16.5 px, заголовок врезки 16 px; подписи к фото 13 px (уменьшено 11.10.2026). Абзац-вступление не крупнее остального текста, а выделен цветом и насыщенностью.
   Правила без !important (только выше по специфичности), поэтому остальные стили журнала не ломаются. --- */
/* Шрифты статей уменьшены по просьбе владельца 11.10.2026 («громоздко»): текст 15, h2 19, h3 16.5 */
html body .post-wrap .post-body{font-size:15px;line-height:1.7}
html body .post-wrap .post-body p,html body .post-wrap .post-body li,html body .post-wrap .post-body blockquote,html body .post-wrap .post-body dd,html body .post-wrap .post-body .callout p{font-size:15px}
html body .post-wrap .post-body td,html body .post-wrap .post-body th{font-size:14px}
html body .post-wrap .post-body > p:first-child{font-size:15px;font-weight:500;color:#2a4636}
html body .post-wrap .post-body h2{font-size:19px;line-height:1.3;margin:22px 0 10px}
html body .post-wrap .post-body h3{font-size:16.5px;line-height:1.35;margin:18px 0 8px}
html body .post-wrap .post-body .callout h2{font-size:16px}
html body .post-wrap .post-body figcaption{font-size:13px}
html body .post-wrap .post-body table{display:block;overflow-x:auto;font-size:14px}
html body .post-wrap .post-body [style*="font-size"]:not(h1):not(h2):not(h3):not(figcaption){font-size:inherit !important}
@media(max-width:640px){html body .post-wrap .post-body h2{font-size:18px}html body .post-wrap .post-body h3{font-size:16px}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}.cg-reveal{opacity:1;transform:none}}

/* R-171: каталог услуг компактнее (все услуги видны сразу), кнопки меньше */
.cg-cat-sec{margin-bottom:18px}
.cg-cat-chips{display:flex;flex-wrap:wrap;gap:6px}
.cg-cat-chips .cg-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:13px;line-height:1.3;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s}
.cg-cat-chips .cg-chip:hover{border-color:#0f9d58;background:rgba(15,157,88,.08);transform:translateY(-1px)}
html body .btn{padding:11px 22px;font-size:15px;font-weight:600}
html body .btn-primary{box-shadow:0 4px 14px -8px rgba(15,157,88,.5)}
html body .hero .btn,html body .section .btn.btn-lg{padding:12px 24px;font-size:15px}
html body form .btn,html body form button.btn,html body .calc .btn{padding:14px 28px;font-size:16px}

/* R-163: этапы работы — компактная лента со значками */
.cg-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
.cg-step{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;position:relative;transition:transform .2s,box-shadow .2s}
.cg-step:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(15,157,88,.5)}
.cg-step b{font-size:15px}.cg-step span:last-child{font-size:12.5px;color:var(--ink-soft);line-height:1.45}
.cg-step-n{position:absolute;right:14px;top:10px;font-family:'Unbounded',sans-serif;font-size:22px;font-weight:700;color:rgba(15,157,88,.18)}
@media(max-width:900px){.cg-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cg-steps{grid-template-columns:1fr}}

/* --- R-172 (11.10.2026): ЕДИНАЯ ШКАЛА ШРИФТОВ И ОТСТУПОВ САЙТА ---
   Шрифты: h1 — 36 (телефон 28), h2 секций — 26 (телефон 22), h3 — 18, вводные абзацы — 15.5, мелкий текст не трогаем.
   Отступы: между заголовком секции и содержимым 20 px; внутри карточек 20–22 px; вертикаль секции 40 px.
   Правила через [style*=…], потому что размеры во многих шаблонах заданы inline; правит всё разом, без правки каждого файла. */
html body h1[style*="font-size"]:not(.post-title){font-size:36px !important;line-height:1.15 !important}
html body .section h2[style*="font-size"],html body .section h2:not([style]){font-size:26px !important;line-height:1.2 !important}
html body .section h3[style*="font-size"]{font-size:18px !important;line-height:1.3 !important}
html body .section>div>p[style*="font-size:1"],html body .section p[style*="max-width:6"][style*="font-size"]{font-size:15.5px !important;line-height:1.55 !important}
html body .section>div[style*="margin-bottom:3"],html body .section>div[style*="margin-bottom:4"],html body .section>div[style*="margin-bottom:5"]{margin-bottom:20px !important}
html body .section>div[style*="gap:12px"][style*="flex-direction:column"]{gap:8px !important}
html body .card[style*="padding:3"],html body .card[style*="padding:28px"],html body .card[style*="padding:26px"]{padding:22px !important}
html body .card[style*="padding:24px"]{padding:20px !important}
html body .grid-2,html body .grid-3,html body .grid-4{gap:14px}
html body .section{padding-top:40px;padding-bottom:40px}
html body .section[style*="padding-top:0"]{padding-top:0}
html body .section[style*="padding-bottom:0"]{padding-bottom:0}
@media(max-width:900px){
 html body h1[style*="font-size"]:not(.post-title){font-size:28px !important}
 html body .section h2[style*="font-size"],html body .section h2:not([style]){font-size:22px !important}
 html body .section{padding-top:28px;padding-bottom:28px}
 html body .section>div[style*="margin-bottom:3"],html body .section>div[style*="margin-bottom:4"]{margin-bottom:14px !important}
}

/* R-174: отзывы — компактная лента с раскрытием в окно */
section.cg-rv{max-width:var(--cg-container,1240px);margin:32px auto;padding:0 var(--cg-gutter,24px)}
.cg-rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.cg-rv-score{display:flex;align-items:center;gap:10px}.cg-rv-score b{font-family:'Unbounded',sans-serif;font-size:30px;color:#0b7a44}
.cg-rv-score span{color:#f5a623;letter-spacing:2px;font-size:15px;display:flex;flex-direction:column}.cg-rv-score small{font-size:12px;letter-spacing:0;color:var(--ink-soft)}
.cg-rv-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:thin}
.cg-rv-card{flex:0 0 min(300px,82vw);scroll-snap-align:start;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg);display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.cg-rv-card:hover,.cg-rv-card:focus{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(15,157,88,.55);border-color:#0f9d58;outline:0}
.cg-rv-top{display:flex;gap:10px;align-items:center}.cg-rv-top b{display:block;font-size:14px}.cg-rv-top i{font-style:normal;color:#f5a623;letter-spacing:2px;font-size:13px}
.cg-rv-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0b7a44,#34d399);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.cg-rv-card blockquote{margin:0;font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cg-rv-meta{font-size:12px;color:var(--ink-soft)}.cg-rv-more{font-size:12.5px;font-weight:600;color:#0b7a44;margin-top:auto}
.cg-rv-modal{position:fixed;inset:0;z-index:99998;background:rgba(8,12,10,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.cg-rv-box{position:relative;background:var(--bg,#fff);border-radius:20px;padding:26px 26px 20px;max-width:520px;width:100%;box-shadow:0 30px 70px -20px rgba(0,0,0,.5)}
.cg-rv-box button{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:var(--bg-soft,#eee);font-size:20px;cursor:pointer}
.cg-rv-st{color:#f5a623;letter-spacing:3px;font-size:18px}.cg-rv-box p{font-size:15.5px;line-height:1.6;margin:10px 0 14px}.cg-rv-box small{display:block;color:var(--ink-soft);margin-top:2px}

/* --- R-175: проход по всему сайту — первый экран, строки цен, таблицы, заголовки блоков компактнее --- */
html body .hero-grid[style*="padding-bottom"]{padding-top:20px !important;padding-bottom:30px !important;gap:32px !important}
html body .hero-grid h1[style*="font-size"]{margin-top:10px !important}
html body .hero-grid p[style*="font-size:1"]{margin-top:10px !important;font-size:15.5px !important}
html body .hero-grid [style*="margin-top:24px"],html body .hero-grid [style*="margin-top:28px"]{margin-top:16px !important}
html body [style*="padding:18px 32px"]{padding:11px 20px !important}
html body [style*="padding:18px 32px"] div[style*="font-size:15.5px"]{font-size:14.5px !important}
html body [style*="padding:18px 32px"] div[style*="font-size:16.5px"]{font-size:15px !important}
html body table th,html body .card table td{padding-top:9px !important;padding-bottom:9px !important;font-size:13.5px !important}
html body .section>div[style*="margin-bottom:28px"],html body .section>div[style*="margin-bottom:24px"]{margin-bottom:16px !important}
html body .section div[style*="margin-bottom:28px"][style*="overflow:hidden"]{margin-bottom:16px !important}
html body .section div[style*="margin-bottom:12px"][style*="text-transform:uppercase"]{margin-bottom:8px !important}
html body .eyebrow{margin-bottom:0}
html body .section[style*="max-width"]{padding-top:28px;padding-bottom:28px}
html body .trust-strip,html body .cg-trust{margin:0}
@media(max-width:900px){html body [style*="padding:18px 32px"]{padding:10px 14px !important}}

/* R-163: «Стоимость» и «Допуслуги» в одном блоке с вкладками — вложенные секции без своих отступов и фона */
.cg-pricebox .cg-pane .section{padding-left:0;padding-right:0;padding-top:12px;padding-bottom:12px;max-width:none}
.cg-pricebox .cg-pane>div[style*="background"]{background:transparent !important}
.cg-pricebox .cg-pane h2{display:none}
.cg-pricebox .cg-pane .eyebrow{display:none}

/* R-178: стоимость плитками вместо таблицы */
.cg-prices{background:var(--bg-soft)}
.cg-pr-g{font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#0b7a44;margin:14px 0 8px}
.cg-pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.cg-pr-t{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s,border-color .2s}
.cg-pr-t:hover{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(15,157,88,.55);border-color:#0f9d58}
.cg-pr-n{font-weight:600;font-size:14px;line-height:1.3;min-height:36px}
.cg-pr-v{font-family:'Unbounded',sans-serif;font-weight:700;font-size:19px;color:#0b7a44;white-space:nowrap}
