/* ==========================================================================
   КонсалтСтрой Бел — визуальный слой (ks-ui).
   Надстройка над темой Gardin: ничего не ломает, только переопределяет вид.
   Язык: инженерная документация — приборная типографика, чертёжная сетка,
   приводочные метки, мерные засечки. Стекло — точечно.
   14.09.2026
   ========================================================================== */

:root{
  /* фирменные */
  --ks-gold:        #DBB472;
  --ks-gold-soft:   #E7CD9B;
  --ks-gold-ink:    #9C7434;   /* золото, читаемое как текст на светлом */
  --ks-brown:       #6A542F;

  /* нейтральные */
  --ks-ink:         #14161A;   /* графит: тёмные экраны */
  --ks-ink-2:       #1C2027;
  --ks-text:        #22252B;
  --ks-muted:       #6A7180;
  --ks-paper:       #FFFFFF;
  --ks-paper-2:     #F3F5F7;   /* холодная бумага */
  --ks-line:        rgba(20,22,26,.10);
  --ks-line-soft:   rgba(20,22,26,.06);
  --ks-line-light:  rgba(255,255,255,.14);

  /* ритм */
  --ks-sp-section:  clamp(40px, 4.4vw, 60px);
  --ks-sp-gap:      clamp(20px, 2.2vw, 32px);
  --ks-radius:      14px;
  --ks-radius-sm:   8px;

  /* движение */
  --ks-ease:        cubic-bezier(.2,.7,.25,1);
  --ks-fast:        .22s var(--ks-ease);
  --ks-slow:        .5s var(--ks-ease);

  --ks-shadow-s:    0 1px 2px rgba(16,18,22,.05), 0 4px 14px rgba(16,18,22,.05);
  --ks-shadow-m:    0 2px 6px rgba(16,18,22,.06), 0 16px 40px rgba(16,18,22,.10);
  --ks-shadow-l:    0 30px 70px rgba(16,18,22,.20);
}

/* ---------- 1. Типографика ------------------------------------------------ */

body,
body p, body li, body td,
.wpb_text_column, .thsn-ihbox-content{
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  color:var(--ks-text);
  font-size:16.5px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,h5,h6,
.vc_custom_heading, .thsn-service-title, .thsn-post-title,
.widget-title, .page-title, .entry-title{
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif !important;
  color:var(--ks-ink);
  letter-spacing:-.018em;
  font-weight:600;
  line-height:1.16;
}

/* мерная шкала заголовков */
h1, .page-title{ font-size:clamp(30px,3.6vw,50px); }
h2{ font-size:clamp(26px,2.7vw,38px); }
h3{ font-size:clamp(19px,1.5vw,23px); line-height:1.28; }
h4{ font-size:17px; }

/* надзаголовок-«шифр»: моноширинный, разрядка, золотая засечка */
.thsn-ihbox-subheading h4,
.thsn-ihbox-subheading .vc_custom_heading{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace !important;
  font-size:13px !important;        /* было 11,5 px — мелко (Д-63) */
  font-weight:600 !important;
  letter-spacing:.115em !important; /* ≈1,5 px при 13 px; тема ставит 2px более точным селектором */
  text-transform:uppercase;
  color:var(--ks-gold-ink-2) !important;  /* #9C7434 давал 4,23 : 1 на белом */
  line-height:1.4;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px !important;
}
.thsn-ihbox-subheading h4::before{
  content:"";
  width:26px; height:1px;
  background:currentColor;
  opacity:.55;
  flex:0 0 auto;
}

/* заголовок секции + тонкая линия-выноска под ним */
.thsn-ihbox-style-hsbox .thsn-ihbox-heading h2{
  position:relative;
  margin:0 0 4px;
  padding-bottom:18px;
}
.thsn-ihbox-style-hsbox .thsn-ihbox-heading h2::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:64px; height:2px;
  background:linear-gradient(90deg,var(--ks-gold),rgba(219,180,114,0));
}
.thsn-align-center .thsn-ihbox-heading h2::after{ left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(219,180,114,0),var(--ks-gold),rgba(219,180,114,0)); width:92px; }
.thsn-align-center .thsn-ihbox-subheading h4::before{ display:none; }

/* ссылки */
a{ transition:color var(--ks-fast); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--ks-gold);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- 2. Ритм секций и переходы ------------------------------------ */

/* В Gardin 3.1 ряды WPBakery лежат в .wpb-content-wrapper (не в .content-area) —
   до 14.09.2026 правило не срабатывало и действовали отступы билдера (100 + 60 px). */
.wpb-content-wrapper > .vc_row.wpb_row:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){
  padding-top:var(--ks-sp-section) !important;
  padding-bottom:var(--ks-sp-section) !important;
  position:relative;
}

/* холодная бумага вместо серого */
.thsn-bg-color-light{ background-color:var(--ks-paper-2) !important; }

/* волосок-разделитель между светлыми секциями */
.thsn-bg-color-light + .thsn-bg-color-white,
.thsn-bg-color-white + .thsn-bg-color-light{ border-top:1px solid var(--ks-line-soft); }

/* чертёжная сетка — только на тёмных экранах */
.ks-grid::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 35%,transparent 78%);
          mask-image:radial-gradient(120% 80% at 50% 0%,#000 35%,transparent 78%);
  pointer-events:none;
  z-index:0;
}

/* [раздел 3 — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* ---------- 4. Первый экран ---------------------------------------------- */

.consultation-wrap{
  position:relative;
  overflow:hidden;
  background-attachment:scroll !important;
  background-position:center 30% !important;
  min-height:clamp(520px,72vh,760px);
}
/* колонки первого экрана выравниваем по центру только на широких экранах —
   на телефоне они должны становиться друг под другом, как задумано темой */
@media (min-width:992px){
  .consultation-wrap{ display:flex; align-items:center; }
}
.consultation-wrap::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(104deg, rgba(14,16,20,.94) 0%, rgba(14,16,20,.80) 42%, rgba(14,16,20,.42) 72%, rgba(14,16,20,.62) 100%);
  z-index:0;
}
.consultation-wrap::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.25) 55%,transparent 85%);
          mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.25) 55%,transparent 85%);
  z-index:0; pointer-events:none;
}
.consultation-wrap > .container, .consultation-wrap > *{ position:relative; z-index:1; }

/* «шифр» над заголовком — добавляется скриптом.
   Строка штампа: короткое тире сверху, термины в один ряд через волоски. */
.ks-hero-eyebrow{
  position:relative;
  display:inline-flex; align-items:center;
  width:fit-content; max-width:100%;
  padding:11px 22px;
  border:1px solid rgba(231,205,155,.6);
  border-radius:999px;
  font-family:"IBM Plex Mono",monospace;
  font-size:12px; font-weight:600; letter-spacing:.06em; line-height:1.5; text-transform:uppercase;
  color:var(--ks-gold-soft);
  margin-bottom:20px;
}
/* засечки-торцы внутри капсулы */
.ks-hero-eyebrow::before,
.ks-hero-eyebrow::after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:1px; height:11px; background:currentColor; opacity:.55;
}
.ks-hero-eyebrow::before{ left:9px; }
.ks-hero-eyebrow::after{ right:9px; }
.ks-hero-eyebrow__text{ display:flex; flex-wrap:wrap; align-items:center; gap:11px; }
.ks-hero-eyebrow__item{ display:inline-flex; align-items:center; gap:11px; }
.ks-hero-eyebrow__item + .ks-hero-eyebrow__item::before{
  content:""; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.8;
}
/* 1024–1200px: колонка первого экрана сужается до 450px — капсула поджимается по горизонтали
   (кегль и боковые отступы), вертикальный воздух сохраняем: по ширине он ничего не стоит */
@media (min-width:768px) and (max-width:1200px){
  .ks-hero-eyebrow{ font-size:11px; letter-spacing:.04em; padding:10px 16px; }
  .ks-hero-eyebrow::before{ left:7px; }
  .ks-hero-eyebrow::after{ right:7px; }
  .ks-hero-eyebrow__text, .ks-hero-eyebrow__item{ gap:9px; }
}

.consultation-text .wpb_text_column p:first-child{
  font-size:clamp(28px,3.5vw,50px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.022em;
  color:#fff;
  margin-bottom:18px;
  max-width:15ch;
  text-wrap:balance;
}
.consultation-text .wpb_text_column p:last-child{
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.55;
  font-weight:400;
  color:var(--ks-gold-soft);
  letter-spacing:.005em;
  max-width:34ch;
  margin-bottom:0;
}

/* форма первого экрана — стеклянная карточка */
.consultation-wrap .wpcf7{
  position:relative;
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
          backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--ks-radius);
  padding:clamp(22px,2.4vw,34px);
  box-shadow:var(--ks-shadow-l);
}
.consultation-wrap .wpcf7::before{
  content:"Оставьте заявку";
  border:0 !important;
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:13px; font-weight:600; letter-spacing:.115em; text-transform:uppercase;  /* Д-63 */
  color:var(--ks-gold);
  margin-bottom:16px;
}
.consultation-wrap .wpcf7 input[type=text],
.consultation-wrap .wpcf7 input[type=tel],
.consultation-wrap .wpcf7 input[type=email],
.consultation-wrap .wpcf7 textarea{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.consultation-wrap .wpcf7 input::placeholder,
.consultation-wrap .wpcf7 textarea::placeholder{ color:rgba(255,255,255,.55) !important; }
.consultation-wrap .wpcf7 input:focus,
.consultation-wrap .wpcf7 textarea:focus{
  border-color:var(--ks-gold) !important;
  background:rgba(255,255,255,.10) !important;
}

/* ---------- 5. Поля и кнопки --------------------------------------------- */

.wpcf7 input[type=text],
.wpcf7 input[type=tel],
.wpcf7 input[type=email],
.wpcf7 textarea{
  width:100%;
  border:1px solid var(--ks-line) !important;
  border-radius:var(--ks-radius-sm) !important;
  padding:14px 16px !important;
  font-family:"IBM Plex Sans",sans-serif !important;
  font-size:15px !important;
  background:#fff !important;
  transition:border-color var(--ks-fast), box-shadow var(--ks-fast), background var(--ks-fast);
  box-shadow:none !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus{
  border-color:var(--ks-gold-ink) !important;
  box-shadow:0 0 0 4px rgba(219,180,114,.18) !important;
  outline:none;
}
.wpcf7 input[type=submit],
.thsn-button, .vc_btn3, .wp-block-button__link, button.search-submit{
  font-family:"IBM Plex Sans",sans-serif !important;
  font-weight:600 !important;
  font-size:13.5px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase;
  border:0 !important;
  border-radius:var(--ks-radius-sm) !important;
  padding:15px 30px !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;   /* «Проход 34»: как кнопка шапки, не плоское золото */
  background-size:180% 100% !important; background-position:0 50%;
  color:var(--ks-ink) !important;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 6px 16px rgba(156,116,52,.18);
  transition:transform var(--ks-fast), box-shadow var(--ks-fast), background-position .32s var(--ks-ease) !important;
}
.wpcf7 input[type=submit]:hover,
.thsn-button:hover, .vc_btn3:hover{
  transform:translateY(-2px);
  background-position:100% 50%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 12px 26px rgba(156,116,52,.28);
}
.wpcf7 input[type=submit]:active{ transform:translateY(0); }

/* ---------- 6. Услуги ----------------------------------------------------- */

.c-service-wrap{ display:flex; flex-wrap:wrap; gap:var(--ks-sp-gap); }
.c-service-wrap > .c-service-item{
  width:calc(50% - var(--ks-sp-gap) / 2);
  max-width:none; float:none; padding:0;
}
.c-service-wrap > .c-service-item > .vc_column-inner{ padding:0 !important; margin:0 !important; }
.c-service-wrap > .c-service-item > .vc_column-inner > .wpb_wrapper{ display:flex; flex-direction:column; height:100%; }
.c-service-item{
  position:relative;
  background:var(--ks-paper);
  border:1px solid var(--ks-line-soft);
  border-radius:var(--ks-radius);
  overflow:hidden;
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
  box-shadow:var(--ks-shadow-s);
}
.c-service-item::after{            /* мерная засечка */
  content:"";
  position:absolute; left:0; top:0;
  width:3px; height:0;
  background:var(--ks-gold);
  transition:height var(--ks-slow);
  z-index:2;
}
.c-service-item:hover{
  transform:translateY(-6px);
  box-shadow:var(--ks-shadow-m);
  border-color:rgba(219,180,114,.45);
}
.c-service-item:hover::after{ height:76px; }
.c-service-item .vc_single_image-wrapper{ display:block; overflow:hidden; border-radius:0; }
.c-service-item img{
  display:block; width:100%; height:auto;
  transition:transform .7s var(--ks-ease), filter .7s var(--ks-ease);
  filter:saturate(.92);
}
.c-service-item:hover img{ transform:scale(1.045); filter:saturate(1.05); }
.c-service-item .wpb_text_column,
.c-service-item .thsn-ihbox{ padding:clamp(18px,1.8vw,26px) clamp(18px,1.8vw,28px) clamp(22px,2vw,30px); }
.c-service-item h2, .c-service-item h3{ font-size:21px; margin-bottom:10px; }
.c-service-item p{ color:var(--ks-muted); font-size:15.5px; line-height:1.6; margin-bottom:0; }

/* ---------- 7. Цифры и преимущества -------------------------------------- */

/* «О нас в цифрах» — текст остаётся как есть, число выделено начертанием */
/* «О нас в цифрах» — «Проход 15» (владелец 14.09: современнее, эффекты, немного стекла, шрифт).
   Подложка с плывущим золотым бликом + стеклянные карточки над ней; число — Plex Sans 700
   с табличными цифрами; «Более» — моно-шифр над числом; цифры набегают при появлении (ks-ui.js). */
.ks-stats-list{
  position:relative; isolation:isolate;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px !important;
  padding:8px !important;
  margin:26px 0 22px !important;
  list-style:none !important;
  border-radius:var(--ks-radius);
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(219,180,114,.26), rgba(219,180,114,.08) 45%, rgba(20,22,26,.06)),
    linear-gradient(rgba(20,22,26,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,22,26,.05) 1px, transparent 1px);
  background-size:auto, 32px 32px, 32px 32px;
  border:1px solid rgba(219,180,114,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
/* «жидкость» под стеклом: два мягких пятна, медленно плывут */
.ks-stats-list::before, .ks-stats-list::after{
  content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none;
  filter:blur(28px);
}
.ks-stats-list::before{
  width:46%; aspect-ratio:1; left:-8%; top:-40%;
  background:radial-gradient(circle, rgba(219,180,114,.55), rgba(219,180,114,0) 68%);
  animation:ks-blob-a 14s ease-in-out infinite alternate;
}
.ks-stats-list::after{
  width:38%; aspect-ratio:1; right:-6%; bottom:-45%;
  background:radial-gradient(circle, rgba(106,84,47,.30), rgba(106,84,47,0) 68%);
  animation:ks-blob-b 18s ease-in-out infinite alternate;
}
@keyframes ks-blob-a{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(60%,35%) scale(1.15); } }
@keyframes ks-blob-b{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(-70%,-30%) scale(1.2); } }

.ks-stats-list > li{
  position:relative;
  margin:0 !important;
  padding:20px 20px 18px !important;
  list-style:none !important;
  border-radius:calc(var(--ks-radius) - 6px);
  background:linear-gradient(150deg, rgba(255,255,255,.78), rgba(255,255,255,.52));
  border:1px solid rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
          backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 10px 30px rgba(20,22,26,.06);
  font-size:14px !important; line-height:1.45 !important;
  color:var(--ks-muted) !important;
  transition:transform .3s var(--ks-ease), box-shadow .3s var(--ks-ease), border-color .3s ease;
}
.ks-stats-list > li:hover{
  transform:translateY(-3px);
  border-color:rgba(219,180,114,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,1), 0 18px 40px rgba(106,84,47,.14);
}
/* золотая засечка — растёт при наведении */
.ks-stats-list > li::after{
  content:""; position:absolute; left:20px; top:0; height:2px; width:22px;
  border-radius:0 0 2px 2px; background:var(--ks-gold);
  transition:width .35s var(--ks-ease);
}
.ks-stats-list > li:hover::after{ width:48px; }
.ks-stats-list > li::before,
.ks-stats-list > li::marker{ content:none !important; display:none !important; }
.ks-stats-list > li > i{ display:none !important; }   /* галочку заменяет само число */

.ks-stats-list .ks-stat-pre{
  display:block; margin-bottom:10px;
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ks-gold-ink-2);
}
.ks-stats-list .ks-num{
  display:block;
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  font-feature-settings:"tnum" 1, "ss01" 1;
  font-size:clamp(34px,3.2vw,46px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:1;
  color:var(--ks-ink);
  margin-bottom:10px;
}
.ks-stats-list .ks-num .ks-num__unit{ font-size:.55em; font-weight:600; letter-spacing:0; margin-left:.06em; color:var(--ks-gold-ink); }
.ks-stats-list .ks-stat-post{ display:block; }

@media (prefers-reduced-motion:reduce){
  .ks-stats-list::before, .ks-stats-list::after{ animation:none; }
  .ks-stats-list > li{ transition:none; }
}

/* карточки преимуществ — «спецификация» с волосяной сеткой */
.thsn-ihbox-style-4{
  background:var(--ks-paper);
  border:1px solid var(--ks-line-soft);
  border-radius:var(--ks-radius);
  padding:28px 26px 26px;
  height:100%;
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.thsn-ihbox-style-4:hover{
  transform:translateY(-4px);
  box-shadow:var(--ks-shadow-m);
  border-color:rgba(219,180,114,.4);
}
.thsn-ihbox-style-4 .thsn-ihbox-icon{
  width:52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(219,180,114,.20),rgba(219,180,114,.06));
  border:1px solid rgba(219,180,114,.35);
  margin-right:16px;
  flex:0 0 auto;
  transition:background var(--ks-fast), transform var(--ks-fast);
}
.thsn-ihbox-style-4:hover .thsn-ihbox-icon{ transform:translateY(-2px); background:linear-gradient(145deg,rgba(219,180,114,.34),rgba(219,180,114,.10)); }
.thsn-ihbox-style-4 .thsn-ihbox-icon i{ font-size:24px; color:var(--ks-gold-ink); line-height:1; }
/* тема даёт обёртке height/line-height 65px — в плашке 52 px значок съезжал вниз */
.thsn-ihbox-style-4 .thsn-ihbox-icon{ padding:0 !important; }   /* тема: padding-right 20px сдвигал значок влево */
.thsn-ihbox-style-4 .thsn-ihbox-icon .thsn-ihbox-icon-wrapper{
  width:100%; height:100% !important; line-height:1 !important;
  display:flex; align-items:center; justify-content:center;
}
.thsn-ihbox-style-4 .thsn-ihbox-heading h2{ font-size:19px !important; margin-bottom:8px; }
.thsn-ihbox-style-4 .thsn-ihbox-content{ font-size:15px; color:var(--ks-muted); line-height:1.6; }
.thsn-ihbox-style-4 .thsn-ihbox-headingicon > .thsn-ihbox-contents{ min-width:0; }
.thsn-ihbox-style-4 .thsn-ihbox-heading h2,
.thsn-ihbox-style-4 .thsn-ihbox-content{ overflow-wrap:anywhere; word-break:normal; }

/* На узком ноутбуке иконка над текстом сохраняет карточке рабочую ширину. */
@media (min-width:768px) and (max-width:1199px){
  .home .thsn-ihbox-style-4{ padding:22px 20px 24px; height:auto; min-height:100%; }
  .home .thsn-ihbox-style-4 .thsn-ihbox-headingicon{ display:block !important; }
  .home .thsn-ihbox-style-4 .thsn-ihbox-icon{ margin:0 0 18px; }
  .home .thsn-ihbox-style-4 .thsn-ihbox-heading h2{ font-size:18px !important; line-height:1.25 !important; }
}

/* [раздел 8 — правила полосы заявки удалены 14.09.2026 («Проход 13б»): см. блок в конце файла] */

/* коричневая полоса-вопрос */
.thsn-text-color-yes{ position:relative; }

/* ---------- 9. Новости ---------------------------------------------------- */

.thsn-post-item, .thsn-blog-item, article.post{
  position:relative;
  background:var(--ks-paper);
  border:1px solid rgba(20,22,26,.14);      /* было --ks-line-soft (.06) — рамку почти не было видно */
  border-radius:var(--ks-radius);
  overflow:hidden;
  box-shadow:var(--ks-shadow-s);            /* базовая тень как у карточек услуг на главной (.c-service-item) */
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.thsn-post-item::after, .thsn-blog-item::after, article.post::after{   /* золотая «засечка» слева, как у .c-service-item */
  content:"";
  position:absolute; left:0; top:0;
  width:3px; height:0;
  background:var(--ks-gold);
  transition:height var(--ks-slow);
  z-index:2;
}
.thsn-post-item:hover, .thsn-blog-item:hover, article.post:hover{
  transform:translateY(-5px);
  box-shadow:var(--ks-shadow-m);
  border-color:rgba(219,180,114,.45);
}
.thsn-post-item:hover::after, .thsn-blog-item:hover::after, article.post:hover::after{ height:56px; }
.thsn-meta-date, .thsn-post-date, .thsn-blog-date,
.thsn-meta-date a, .thsn-post-date a, .thsn-blog-date a{     /* тема красит саму ссылку в блёклый серый (.thsn-blog-meta a) поверх нашего цвета на span */
  font-family:"IBM Plex Mono",monospace !important;
  font-size:12px !important;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ks-gold-ink) !important;
  font-weight:600 !important;
}
.thsn-post-title, .thsn-post-title a{ font-size:19px !important; line-height:1.22 !important; }
.thsn-post-title{ margin-bottom:8px !important; }
.thsn-read-more-link a{
  font-family:"IBM Plex Mono",monospace;
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ks-gold-ink);
  display:inline-flex; align-items:center; gap:8px;
}
.thsn-read-more-link a::after{ content:"→"; transition:transform var(--ks-fast); }
.thsn-read-more-link a:hover::after{ transform:translateX(4px); }

/* Проход 17 — лента новостей /novosti/: рамка карточки (правило выше) не даёт схлопнуться
   отступу темы (.thsn-blog-classic{margin-bottom:50px}) — он застревал внутри рамки пустым
   «хвостом» под кнопкой «Подробнее». Гасим его, заводим настоящие внутренние поля и сетку
   в две колонки вместо одной длинной ленты. Одиночную новость (Д-43, ниже) не трогаем —
   там своя колонка текста через max-width. */
body.blog #main.site-main{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(380px,100%),1fr));
  gap:28px;
  align-items:stretch;
}
body.blog #main.site-main > .clearfix,
body.blog #main.site-main > .thsn_pagination{ grid-column:1 / -1; }
body.blog article.post{ margin:0 !important; }
body.blog article.post .thsn-blog-classic{
  margin:0 !important; height:100%;
  display:flex; flex-direction:column;
}
body.blog article.post .thsn-blog-classic-inner{     /* было 32/32/28 — карточки заметно ниже */
  padding:24px 26px 20px;
  display:flex; flex-direction:column; flex:1;
}
body.blog article.post .thsn-blog-meta-top{           /* тема: padding-bottom 19, margin-bottom 20, margin-top 10 */
  margin-top:0 !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
  border-bottom-color:var(--ks-line) !important;
}
body.blog article.post .thsn-entry-content{
  display:flex; flex-direction:column; flex:1;
  margin-top:0 !important;              /* было 20px от темы поверх поля меты */
}
body.blog article.post .thsn-entry-content > p:first-child{ flex:1; margin-bottom:0 !important; }
body.blog article.post .thsn-read-more-link{ margin-top:auto; padding-top:14px; }

/* ---------- 10. Письма и отзывы ------------------------------------------ */

.ks-letters-wrap{ width:min(calc(100% - 48px),1320px); margin:34px auto 8px; }
.ks-letters-intro{
  display:flex; align-items:end; justify-content:space-between; gap:28px;
  margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--ks-line);
}
.ks-letters-intro > span{
  color:var(--ks-ink); font-size:22px; font-weight:600; line-height:1.2; letter-spacing:-.02em;
}
.ks-letters-intro > p{ max-width:54ch; margin:0 !important; color:var(--ks-muted); font-size:14px; line-height:1.5; text-align:right; }
.ks-letters{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px !important; }
.ks-letters a{
  display:block; aspect-ratio:212 / 300; background:#fff;
  border:1px solid var(--ks-line-soft) !important;
  border-radius:10px;
  overflow:hidden;
  box-shadow:var(--ks-shadow-s);
  transition:transform var(--ks-slow), box-shadow var(--ks-slow);
}
.ks-letters a:hover{ transform:translateY(-4px); box-shadow:var(--ks-shadow-m); }
.ks-letters img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ks-ease); }
.ks-letters a:hover img{ transform:scale(1.03); }

@media (max-width:991px){ .ks-letters{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px){
  .ks-letters-wrap{ width:calc(100% - 32px); margin-top:26px; }
  .ks-letters-intro{ display:block; }
  .ks-letters-intro > span{ font-size:20px; }
  .ks-letters-intro > p{ margin-top:8px !important; text-align:left; }
  .ks-letters{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
}

.wp-gr .wp-google-badge, .wp-gr .wp-google-review{ border-radius:var(--ks-radius) !important; }

/* ---------- 11. Подвал ---------------------------------------------------- */
/* [правила подвала для виджет-областей темы удалены 15.09.2026 («Проход 19»):
    подвал теперь со своей разметкой .ks-footer — см. блок «Проход 19» в конце файла] */

/* кнопка «наверх» */
a.scroll-to-top{
  border-radius:10px !important;
  background:var(--ks-gold) !important;
  color:var(--ks-ink) !important;
  box-shadow:var(--ks-shadow-m);
  transition:transform var(--ks-fast), box-shadow var(--ks-fast);
}
a.scroll-to-top:hover{ transform:translateY(-3px); }

/* ---------- 12. Внутренние страницы -------------------------------------- */

.thsn-title-bar-wrapper{ position:relative; }
.thsn-title-bar-wrapper::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(95deg,#000,transparent 70%);
          mask-image:linear-gradient(95deg,#000,transparent 70%);
  pointer-events:none;
}
.thsn-title-bar-wrapper > .container{ position:relative; z-index:1; }
.thsn-breadcrumb, .thsn-breadcrumb a{
  font-family:"IBM Plex Mono",monospace;
  font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
}

/* карточки цены/срока в шапке услуги */
.custom_wpapp{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.custom_wpapp .custom-block{
  display:flex; align-items:center; gap:14px;
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--ks-radius);
  padding:14px 20px 14px 16px;
}
.custom_wpapp .custom-block img{ width:40px; height:auto; opacity:.9; }
.custom_wpapp .custom-block p:first-of-type{
  font-family:"IBM Plex Mono",monospace;
  font-size:19px; font-weight:600; color:#fff; margin:0 0 2px; line-height:1.1;
}
.custom_wpapp .custom-block p:last-of-type{
  font-size:13px; color:rgba(255,255,255,.62); margin:0; line-height:1.3;
}

/* боковое меню услуг */
.site-content aside.widget, .thsn-sidebar .widget{
  background:var(--ks-paper);
  border:1px solid var(--ks-line-soft);
  border-radius:var(--ks-radius);
  padding:26px 24px;
  box-shadow:var(--ks-shadow-s);
}
.thsn-sidebar .widget a{ transition:color var(--ks-fast), padding-left var(--ks-fast); }
.thsn-sidebar .widget li:hover > a{ padding-left:4px; color:var(--ks-gold-ink); }

/* форма заявки под услугой */
.form-service-wraper{
  position:relative;
  margin-top:44px;
  padding:clamp(26px,3vw,40px);
  border-radius:var(--ks-radius);
  background:
    radial-gradient(90% 130% at 100% 0%,rgba(219,180,114,.16),transparent 62%),
    var(--ks-paper-2);
  border:1px solid var(--ks-line-soft);
}

/* аккордеоны FAQ */
.vc_tta-panel{ border-radius:var(--ks-radius) !important; overflow:hidden; }
.vc_tta-panel-heading{ transition:background var(--ks-fast); }

/* ---------- 13. Движение -------------------------------------------------- */

.ks-js .ks-reveal{ opacity:0; transform:translateY(18px); }
.ks-reveal.ks-in{
  opacity:1; transform:none;
  transition:opacity .62s var(--ks-ease), transform .62s var(--ks-ease);
  transition-delay:var(--ks-delay,0ms);
}

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

/* ---------- 14. Мобильная версия ----------------------------------------- */

@media (max-width:1024px){
  .c-service-wrap{ gap:18px; }
  .consultation-wrap{ min-height:0; padding:72px 0 !important; }
  .consultation-text .wpb_text_column p:first-child{ max-width:100%; }
}

@media (max-width:767px){
  body{ font-size:16px; }
  .content-area > .vc_row.wpb_row:not(.vc_inner){
    padding-top:56px !important; padding-bottom:56px !important;
  }
  .consultation-wrap{ padding:56px 0 !important; }
  .consultation-wrap .wpcf7{ margin-top:28px; padding:20px; }
  .consultation-text .wpb_text_column p:first-child{ font-size:28px; line-height:1.15; }
  .ks-stats{ grid-template-columns:1fr 1fr; }
  .ks-stat{ padding:18px 16px; }
  .thsn-ihbox-style-4{ padding:22px 20px; }
  .custom_wpapp{ gap:10px; }
  .custom_wpapp .custom-block{ padding:12px 16px 12px 12px; width:100%; }
  .thsn-ihbox-subheading h4{ font-size:12px !important; }
}

/* ==========================================================================
   Проход 2 — шапка, первый экран, полосы, новости
   ========================================================================== */

/* [светлая панель — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* ---------- Первый экран: тоньше шторка, спокойнее заголовок -------------- */

.consultation-wrap::before{
  background:
    linear-gradient(100deg, rgba(13,15,19,.90) 0%, rgba(13,15,19,.74) 38%, rgba(13,15,19,.30) 66%, rgba(13,15,19,.58) 100%) !important;
}
.consultation-text .wpb_text_column p:first-child{ max-width:19ch; font-size:clamp(28px,3.1vw,46px); }
.ks-hero-eyebrow{ margin-bottom:18px; }

/* подпись над формой не должна переноситься и наезжать на поле */
.consultation-wrap .wpcf7::before{
  white-space:nowrap;
  margin-bottom:20px !important;
  opacity:.9;
}
.consultation-wrap .wpcf7 .wpcf7-form > p{ margin-bottom:12px; }
.consultation-wrap .wpcf7 textarea{ min-height:96px; }

/* [полоса получить консультацию — правила полосы заявки удалены 14.09.2026 («Проход 13б»): см. блок в конце файла] */

/* коричневая полоса-вопрос */
.thsn-text-color-yes.thsn-bg-color-yes{ position:relative; overflow:hidden; }
.thsn-text-color-yes h2, .thsn-text-color-yes .vc_custom_heading{ color:#fff !important; }
.thsn-text-color-yes p{ color:rgba(255,255,255,.78) !important; }

/* ---------- Новости ------------------------------------------------------- */

.thsn-element-posts-wrapper article.themesion-ele{
  background:var(--ks-paper);
  border:1px solid var(--ks-line-soft);
  border-radius:var(--ks-radius);
  overflow:hidden;
  height:100%;
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.thsn-element-posts-wrapper article.themesion-ele:hover{
  transform:translateY(-5px);
  box-shadow:var(--ks-shadow-m);
  border-color:rgba(219,180,114,.4);
}
.thsn-element-posts-wrapper .themesion-box-content{ padding:24px 24px 26px !important; }
.thsn-element-posts-wrapper .thsn-meta-container{ margin-bottom:12px; }
.thsn-element-posts-wrapper .thsn-meta-date,
.thsn-element-posts-wrapper .thsn-meta-date *{
  font-family:"IBM Plex Mono",monospace !important;
  font-size:11.5px !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ks-gold-ink) !important;
}
.thsn-element-posts-wrapper .thsn-post-title,
.thsn-element-posts-wrapper .thsn-post-title a{
  font-size:18.5px !important; line-height:1.34; color:var(--ks-ink) !important;
}
.thsn-element-posts-wrapper .thsn-featured-container{ overflow:hidden; }
.thsn-element-posts-wrapper .thsn-featured-container img{
  transition:transform .7s var(--ks-ease);
  width:100%; height:auto; display:block;
}
.thsn-element-posts-wrapper article:hover .thsn-featured-container img{ transform:scale(1.05); }

/* ---------- Услуги: подпись и описание внутри карточки -------------------- */

.c-service-item .vc_custom_heading,
.c-service-item h2, .c-service-item h3{
  padding:22px clamp(18px,1.8vw,26px) 0 !important;
  margin-bottom:10px !important;
  font-size:20px !important;
  color:var(--ks-ink) !important;
  text-align:left !important;
}
.c-service-item .wpb_text_column{ padding-top:0 !important; margin-bottom:0 !important; }
.c-service-item .wpb_text_column p{ text-align:left !important; }

/* ==========================================================================
   Проход 3 — точечные исправления
   ========================================================================== */

html, body{ overflow-x:hidden; }   /* выпадающее меню и слайдер отзывов давали вылет вправо */

/* подпись над формой первого экрана: тема делает ::before абсолютным (клиринг) */
.consultation-wrap .wpcf7::before{
  position:static !important;
  content:"Оставьте заявку" !important;
  width:auto !important; height:auto !important;
}

/* [белая панель — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* [заголовок/шифр полосы — удалены 14.09.2026 («Проход 13б»)] */

/* ==========================================================================
   Проход 4 — карточки услуг, полоса заявки, плавающая панель меню
   ========================================================================== */

/* ---------- Карточка услуги: картинка сверху, текст под ней --------------- */

.c-service-item .wpb_single_image{ margin-bottom:0 !important; }
.c-service-item .vc_single_image-wrapper{ display:block; line-height:0; }
.c-service-item .vc_single_image-wrapper img{
  width:100%; height:auto; aspect-ratio:16/10; object-fit:cover;
}
.c-service-item .wpb_text_column{
  position:static !important;
  bottom:auto !important; left:auto !important; right:auto !important;
  width:auto !important; max-width:none !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:22px clamp(18px,1.8vw,26px) clamp(22px,2vw,28px) !important;
  flex:1 1 auto;
  display:flex; flex-direction:column;
}
.c-service-item .wpb_text_column .title{
  margin-bottom:10px;
  order:1;
}
.c-service-item .wpb_text_column .title a{
  font-family:"IBM Plex Sans",sans-serif !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.26 !important;
  letter-spacing:-.014em;
  color:var(--ks-ink) !important;
  text-align:left !important;
  display:block;
  transition:color var(--ks-fast);
}
.c-service-item:hover .wpb_text_column .title a{ color:var(--ks-gold-ink) !important; }
.c-service-item .wpb_text_column p{
  order:2;
  font-size:15.5px; line-height:1.6; color:var(--ks-muted); margin:0;
  text-align:left !important;
}
/* стрелка-указатель внизу карточки */
.c-service-item .wpb_text_column::after{
  content:"Подробнее →";
  order:3;
  margin-top:18px;
  font-family:"IBM Plex Mono",monospace;
  font-size:11.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ks-gold-ink);
  opacity:.85;
  transition:transform var(--ks-fast), opacity var(--ks-fast);
}
.c-service-item:hover .wpb_text_column::after{ transform:translateX(4px); opacity:1; }

/* [одна строка — правила полосы заявки удалены 14.09.2026 («Проход 13б»): см. блок в конце файла] */

/* [парящая панель — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* [заголовок слева — удалены 14.09.2026 («Проход 13б»)] */

/* [Проход 5 — контраст в полосах: удалён 14.09.2026 («Проход 13б»)] */

/* одинаковая высота карточек преимуществ (класс ставит скрипт) */
.ks-equal-row{ display:flex; flex-wrap:wrap; align-items:stretch; }
.ks-equal-row > .wpb_column{ display:flex; }
.ks-equal-row > .wpb_column > .vc_column-inner{ width:100%; display:flex; }
.ks-equal-row > .wpb_column > .vc_column-inner > .wpb_wrapper{ width:100%; display:flex; }
.ks-equal-row .thsn-ihbox-style-4{ width:100%; }

/* [Проход 6 — подвал: правила удалены 15.09.2026 («Проход 19»), см. блок в конце файла] */

/* карусель отзывов: карточки не должны обрезать текст */
.wp-gr .rpi-slide{ height:auto !important; }
.wp-gr .grw-review-inner{ height:auto !important; }

/* ==========================================================================
   Проход 7 — блок заявки на странице услуги
   ========================================================================== */

/* внешняя обёртка больше не рисует свою рамку — карточка одна */
.form-service-wraper{
  background:none !important;
  border:0 !important;
  padding:0 !important;
  margin-top:clamp(34px,4vw,56px);
}

/* сама карточка: графит + чертёжная сетка, как у тёмной полосы на главной */
.form-service-wrap{
  position:relative;
  overflow:hidden;
  background-color:var(--ks-ink) !important;
  background-image:
    radial-gradient(75% 130% at 100% 0%,rgba(219,180,114,.22),transparent 62%),
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) !important;
  background-size:auto, 56px 56px, 56px 56px !important;
  border-radius:var(--ks-radius);
  padding:clamp(26px,3vw,42px) !important;
  box-shadow:var(--ks-shadow-m);
}
.form-service-wrap > *{ position:relative; z-index:1; }

.form-service-wrap h2, .form-service-wrap h3, .form-service-wrap p:first-of-type,
.form-service-wrap .consultation-title{
  font-family:"IBM Plex Sans",sans-serif !important;
  color:#fff !important;
  font-size:clamp(21px,2vw,29px) !important;
  font-weight:600 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em;
  text-transform:none !important;
  max-width:24ch;
  margin:0 0 22px !important;
}
.form-service-wrap input[type=text],
.form-service-wrap input[type=tel],
.form-service-wrap input[type=email]{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#fff !important;
  max-width:420px;
}
.form-service-wrap input::placeholder{ color:rgba(255,255,255,.6) !important; }
.form-service-wrap input:focus{ border-color:var(--ks-gold) !important; background:rgba(255,255,255,.12) !important; }
.form-service-wrap input[type=submit]{
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;   /* «Проход 34» */
  color:var(--ks-ink) !important;
  margin-top:4px;
}
/* ответ формы: .form-service-wrap не оборачивает .wpcf7-response-output, а лежит рядом с ним —
   CF7 дописывает этот блок последним ребёнком <form>, вне пользовательской разметки шаблона
   письма. Descendant-селектор (как у .consultation-wrap выше) тут не сработает — нужен sibling. */
.form-service-wrap ~ .wpcf7-response-output{
  margin:12px 0 0 !important; padding:10px 14px !important;
  border:1px solid rgba(255,255,255,.2) !important; border-radius:var(--ks-radius-sm);
  color:#fff; font-size:14px;
}
/* декоративная иконка телефона у края карточки */
.form-service-wraper img{ opacity:.9; }

@media (min-width:768px){
  .form-service-wrap form{ max-width:520px; }
}

/* иконка телефона в карточке заявки — в угол, за текст, без наезда */
.form-service-wrap .form-service-icon{
  top:auto !important;
  bottom:clamp(18px,2vw,28px) !important;
  right:clamp(18px,2vw,28px) !important;
  left:auto !important;
  z-index:0 !important;
  opacity:.14;
  font-size:96px !important;
  width:auto !important; height:auto !important;
  color:var(--ks-gold) !important;
  background:none !important;
  pointer-events:none;
}
@media (max-width:600px){ .form-service-wrap .form-service-icon{ display:none !important; } }

/* ==========================================================================
   Проход 8 — телефон и планшет
   ========================================================================== */

@media (max-width:991px){
  .consultation-wrap{ min-height:0; padding:60px 0 !important; display:block !important; }
  .consultation-wrap .wpb_column{ width:100% !important; float:none !important; }
  .consultation-wrap .wpcf7{ margin-top:30px; }
  .consultation-text .wpb_text_column p:first-child{ max-width:100%; }
  .c-service-wrap > .c-service-item{ width:100%; }
  .consultation-form-wrap{ display:block !important; }
  .consultation-form > p{ flex:1 1 100%; }
}

@media (max-width:767px){
  :root{ --ks-radius:12px; }
  .consultation-wrap .wpcf7{ padding:20px 18px; }
  .consultation-wrap .wpcf7 textarea{ min-height:84px; }
  .consultation-text .wpb_text_column p:first-child{ font-size:29px; line-height:1.14; }
  .consultation-text .wpb_text_column p:last-child{ font-size:15px; }
  /* на телефоне капсула становится прямоугольной со скруглением: текст в две строки */
  .ks-hero-eyebrow{ font-size:11px; letter-spacing:.04em; padding:9px 14px; border-radius:16px; margin-bottom:16px; }
  .ks-hero-eyebrow::before, .ks-hero-eyebrow::after{ display:none; }
  .ks-hero-eyebrow__text, .ks-hero-eyebrow__item{ gap:9px; }
  .ks-hero-eyebrow__item:nth-child(3){ flex-basis:100%; }
  .ks-hero-eyebrow__item:nth-child(3)::before{ display:none; }

  .ks-stats-list > li{ padding:18px 16px !important; }
  .ks-stats-list .ks-num{ font-size:32px; }

  .thsn-ihbox-style-hsbox .thsn-ihbox-heading h2{ padding-bottom:14px; }
  .c-service-item .wpb_text_column{ padding:20px 18px 22px !important; }
  .c-service-item .wpb_text_column .title a{ font-size:18.5px !important; }

  .form-service-wrap{ padding:24px 20px !important; }
  .form-service-wrap input[type=text], .form-service-wrap input[type=tel]{ max-width:100%; }

  .custom_wpapp{ flex-direction:column; align-items:flex-start; }
  .custom_wpapp .custom-block{ width:100%; }
}

/* [мобильные подменю — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* цифры на телефоне — в один столбец, чтобы не оставалось пустых клеток */
@media (max-width:767px){
  .ks-stats-list{ grid-template-columns:1fr; }
  .ks-stats-list > li{ padding:16px 18px !important; }
  .ks-stats-list .ks-num{ font-size:34px; }
}

/* ==========================================================================
   Проход 9 — читаемость текста на золотых блоках
   ========================================================================== */

/* белый текст на золоте даёт контраст ~2:1 — ниже нормы.
   На золотых блоках переводим текст в графит. */
.wpb_column.thsn-bg-color-globalcolor,
.wpb_column.thsn-bg-color-globalcolor .thsn-ihbox-content,
.wpb_column.thsn-bg-color-globalcolor p,
.wpb_column.thsn-bg-color-globalcolor li,
.wpb_column.thsn-bg-color-globalcolor span:not(.thsn-ihbox-icon):not([class*="icon"]){
  color:rgba(20,22,26,.80) !important;
}
.wpb_column.thsn-bg-color-globalcolor h1,
.wpb_column.thsn-bg-color-globalcolor h2,
.wpb_column.thsn-bg-color-globalcolor h3,
.wpb_column.thsn-bg-color-globalcolor h4,
.wpb_column.thsn-bg-color-globalcolor .vc_custom_heading,
.wpb_column.thsn-bg-color-globalcolor strong,
.wpb_column.thsn-bg-color-globalcolor b{
  color:var(--ks-ink) !important;
}
.wpb_column.thsn-bg-color-globalcolor a{ color:var(--ks-ink) !important; text-decoration-color:rgba(20,22,26,.4); }
.wpb_column.thsn-bg-color-globalcolor a:hover{ color:#000 !important; }
.wpb_column.thsn-bg-color-globalcolor i,
.wpb_column.thsn-bg-color-globalcolor .thsn-ihbox-icon i{ color:var(--ks-ink) !important; opacity:.85; }

/* ==========================================================================
   Проход 10 — финальная шлифовка
   ========================================================================== */

/* [кнопка звонка — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* коричневая полоса-вопрос: та же чертёжная сетка и ритм, что у тёмных блоков */
.thsn-row.thsn-text-color-yes{ position:relative; overflow:hidden; }
.thsn-row.thsn-text-color-yes::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(96deg,#000,transparent 72%);
          mask-image:linear-gradient(96deg,#000,transparent 72%);
  pointer-events:none; z-index:0;
}
.thsn-row.thsn-text-color-yes > .container,
.thsn-row.thsn-text-color-yes > *{ position:relative; z-index:1; }
.thsn-row.thsn-text-color-yes .vc_custom_heading,
.thsn-row.thsn-text-color-yes h2{
  font-size:clamp(20px,1.9vw,26px) !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:-.01em;
  max-width:52ch;
}

/* кнопки-ссылки темы в полосах */
.thsn-row.thsn-text-color-yes .thsn-button,
.thsn-row.thsn-text-color-yes a.vc_btn3{
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;   /* «Проход 34» */
  color:var(--ks-ink) !important;
  border-radius:var(--ks-radius-sm) !important;
  font-weight:600 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:15px 30px !important;
}

/* аккуратные состояния наведения у ссылок в тексте */
.wpb_text_column a:not(.thsn-button){
  color:var(--ks-gold-ink);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.wpb_text_column a:not(.thsn-button):hover{ color:var(--ks-brown); }

/* аккордеоны FAQ — спокойные рамки вместо серых плашек */
.vc_tta.vc_general .vc_tta-panel{
  border:1px solid var(--ks-line-soft) !important;
  background:var(--ks-paper) !important;
  margin-bottom:10px !important;
  transition:border-color var(--ks-fast), box-shadow var(--ks-fast);
}
.vc_tta.vc_general .vc_tta-panel.vc_active,
.vc_tta.vc_general .vc_tta-panel:hover{
  border-color:rgba(219,180,114,.5) !important;
  box-shadow:var(--ks-shadow-s);
}
.vc_tta.vc_general .vc_tta-panel-title > a{
  font-family:"IBM Plex Sans",sans-serif !important;
  font-weight:500 !important;
  font-size:16.5px !important;
  color:var(--ks-ink) !important;
  padding:18px 22px !important;
}
.vc_tta.vc_general .vc_tta-panel .vc_tta-panel-body{ padding:0 22px 20px; }   /* без !important: плагин при сворачивании ставит padding:0 инлайном («Проход 35») */

/* ==========================================================================
   Проход 11 — доводка после постраничного осмотра (14.09.2026)
   Пункты Д-3, Д-51, Д-21, Д-30 — шапка.
   ========================================================================== */

:root{
  /* золото для МЕЛКОГО текста на светлом: 5,7 : 1 на белом, 5,2 : 1 на «бумаге».
     --ks-gold-ink (#9C7434) даёт лишь 4,23 : 1 — оставлен для крупных заголовков. */
  --ks-gold-ink-2: #846026;
}

/* [Д-3, Д-51, Д-21, Д-30 — правила старой шапки удалены 14.09.2026 («Проход 13»)] */

/* ---------- Проход 11: контраст там, где осталось светлое золото на белом -- */

/* Д-28: названия услуг в таблице цен — тема красит все <a> в #DBB472 (1,95 : 1) */
.price-table table td a{
  color:var(--ks-gold-ink-2) !important;
  font-weight:500;
  text-decoration:underline;
  text-decoration-color:rgba(132,96,38,.35);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.price-table table td a:hover{ color:var(--ks-brown) !important; text-decoration-color:currentColor; }

/* Д-29: строки-разделители категорий — белые капители по золоту (1,95 : 1).
   Графит по золоту даёт 9,3 : 1. */
.price-table table td[colspan="3"]{
  color:var(--ks-ink) !important;
  font-family:"IBM Plex Mono",monospace;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Д-39: заголовки новостей в списке */
.thsn-post-title a{ color:var(--ks-ink) !important; transition:color var(--ks-fast); }
.thsn-post-title a:hover{ color:var(--ks-gold-ink-2) !important; }

/* Д-47: архив услуг /services/ — все 18 надписей были #DBB472 по белому */
.thsn-service-style-3 .thsn-service-title a,
.thsn-service-style-2 .thsn-service-title a{
  color:var(--ks-ink) !important;
  transition:color var(--ks-fast);
}
.thsn-service-style-3 .thsn-service-title a:hover,
.thsn-service-style-2 .thsn-service-title a:hover{ color:var(--ks-gold-ink-2) !important; }
.thsn-service-cat a{
  color:var(--ks-gold-ink-2) !important;
  font-family:"IBM Plex Mono",monospace;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.thsn-service-cat a:hover{ color:var(--ks-brown) !important; }

/* [Д-4 — правила полосы заявки удалены 14.09.2026 («Проход 13б»): см. блок в конце файла] */

/* ---------- Проход 11: Д-43 — мера строки в статье новости ---------------- */
/* Колонка была 1170 px ≈ 140 знаков в строке. 74ch при 16,5 px ≈ 85 знаков. */
body.single-post .site-main > article{
  max-width:calc(74ch + 2 * 48px);   /* карточка с рамкой — вместе с внутренними отступами */
  margin-left:auto; margin-right:auto;
}
body.single-post .site-main > article .thsn-blog-classic{ max-width:74ch; margin-left:auto; margin-right:auto; }

/* [Д-56 — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* ---------- Проход 11: Д-64 — матовое стекло, точечно ---------------------- */
/* Правило: стекло только на самом элементе, внутри которого нет fixed-частей
   (иначе он станет для них containing block — см. Д-3), и только поверх
   неоднородной подложки: фото, градиент, чертёжная сетка, контент страницы. */

/* [Д-64 меню — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* [Д-64 п.3 — правила полосы заявки удалены 14.09.2026 («Проход 13б»): см. блок в конце файла] */

/* 4. Карточка полей формы под услугой (графит + чертёжная сетка) */
.form-service-wrap .form-service{
  padding:10px;
  border-radius:var(--ks-radius);
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
          backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}

/* 5. Кнопка «наверх»: стекло поверх контента вместо глухой плашки */
a.scroll-to-top{
  background:rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
          backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(20,22,26,.10) !important;
  color:var(--ks-ink) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 8px 24px rgba(16,18,22,.14);
}
a.scroll-to-top:hover{ background:rgba(255,255,255,.85) !important; }

/* 6. Плашки цены и срока на страницах услуг — плотнее и с бликом */
.custom_wpapp .custom-block{
  background:rgba(255,255,255,.11);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
          backdrop-filter:blur(18px) saturate(150%);
  border-color:rgba(255,255,255,.24);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 10px 30px rgba(0,0,0,.18);
}
/* поля в карточке под услугой — в один ряд (та же разметка CF7: всё в одном <p>) */
@media (min-width:768px){
  .form-service-wrap .form-service > p{
    display:flex; flex-wrap:nowrap; align-items:center; gap:12px;
    width:100%; max-width:none; margin:0 !important;
  }
  .form-service-wrap .form-service .wpcf7-form-control-wrap{
    flex:1 1 0; min-width:0; max-width:none !important; margin:0 !important;
  }
  .form-service-wrap .form-service input[type=text],
  .form-service-wrap .form-service input[type=tel]{ margin:0 !important; width:100% !important; }
  .form-service-wrap .form-service input[type=submit]{ flex:0 0 auto; margin:0 !important; }
}
@media (max-width:767px){
  .form-service-wrap .form-service > p{ display:flex; flex-wrap:wrap; gap:10px; margin:0 !important; }
  .form-service-wrap .form-service .wpcf7-form-control-wrap{ flex:1 1 100%; max-width:none !important; margin:0 !important; }
  .form-service-wrap .form-service input[type=submit]{ flex:1 1 100%; margin:0 !important; }
}

/* ==========================================================================
   Проход 12 — замечания владельца по главной (14.09.2026, вечер)
   ========================================================================== */

/* [порог 1024 — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */

/* [наведение в верхней полосе — правила старой шапки темы удалены 14.09.2026 («Проход 13»): шапка теперь в ks-header.css] */


/* ==========================================================================
   Проход 13б — полоса «Получить бесплатную консультацию» (14.09.2026)
   Вместо сплошной золотой полосы во всю ширину — карточка в контейнере:
   графит с чертёжной сеткой и золотым бликом, заголовок слева, поля справа.
   Разметка CF7 не меняется: оба поля и кнопка в одном <p> → flex-ряд.
   Вторая такая же полоса на главной скрыта (решение владельца 14.09).
   ========================================================================== */

.consultation-wraper ~ .consultation-wraper{ display:none !important; }

/* WPBakery вешает фото полосы через .vc_custom_… во встроенном <style> — нужна специфичность выше */
.vc_row.consultation-wraper.thsn-bgimage-yes,
.vc_row.consultation-wraper.thsn-bg-color-globalcolor,
.consultation-wraper{
  position:relative;
  background:none !important; background-image:none !important; background-color:transparent !important;
  padding:clamp(8px,1vw,16px) 0 var(--ks-sp-section) !important;
  margin-bottom:0 !important;
  overflow:visible;
}
.consultation-wraper::before{ content:none !important; }
.consultation-wraper .vc_column-inner{ padding-top:0 !important; padding-bottom:0 !important; }

/* сама карточка */
.consultation-wraper .wpb_wrapper{
  position:relative; overflow:hidden;
  display:block;
  padding:clamp(28px,3.4vw,48px);
  border-radius:var(--ks-radius);
  background-color:var(--ks-ink);
  background-image:
    radial-gradient(70% 120% at 100% 0%, rgba(219,180,114,.22), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:auto, 64px 64px, 64px 64px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
}
.consultation-wraper .wpcf7{ margin:0; }
.consultation-wraper .wpcf7-form{ display:block; }
.consultation-wraper .wpcf7-spinner{ display:none; }
.consultation-wraper .wpcf7-form br{ display:none; }

/* заголовок | поля */
.consultation-form-wrap{
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(480px,1.45fr);
  align-items:center;
  gap:clamp(28px,4vw,64px);
  width:100%;
}
.consultation-wraper .consultation-title{
  font-family:"IBM Plex Sans",sans-serif !important;
  color:#fff !important;
  font-size:clamp(23px,2.3vw,33px) !important;
  font-weight:600 !important;
  line-height:1.16 !important;
  letter-spacing:-.018em;
  margin:0 !important;
  max-width:20ch;
}
/* «шифр» над заголовком */
.consultation-wraper .consultation-title::before{
  content:"Бесплатно · без обязательств";
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:13px; font-weight:600; letter-spacing:.115em; text-transform:uppercase;
  color:var(--ks-gold);
  margin-bottom:12px;
}

/* ряд полей: имя — телефон — кнопка */
.consultation-form{ display:block; justify-content:normal; }
.consultation-form > p{
  display:flex; flex-wrap:nowrap; align-items:center; gap:10px;
  width:100%; margin:0 !important;
  padding:8px;
  border-radius:calc(var(--ks-radius) - 4px);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.consultation-form .wpcf7-form-control-wrap{
  flex:1 1 0; min-width:0; max-width:none !important; margin:0 !important; display:block;
}
.consultation-form .wpcf7-form-control-wrap.mask-74{ flex:0 1 190px; }
.consultation-form .wpcf7-form-control-wrap:first-child{ min-width:200px; }

.consultation-wraper .wpcf7 input[type=text],
.consultation-wraper .wpcf7 input[type=tel],
.consultation-wraper .wpcf7 input[type=email]{
  width:100% !important; min-height:52px; margin:0 !important;
  padding:0 16px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:var(--ks-radius-sm) !important;
  color:#fff !important;
  box-shadow:none !important;
  transition:background var(--ks-fast), border-color var(--ks-fast), box-shadow var(--ks-fast);
}
.consultation-wraper .wpcf7 input::placeholder{ color:rgba(255,255,255,.6) !important; opacity:1 !important; }
.consultation-wraper .wpcf7 input[type=text]:hover,
.consultation-wraper .wpcf7 input[type=tel]:hover{ background:rgba(255,255,255,.12) !important; border-color:rgba(255,255,255,.3) !important; }
.consultation-wraper .wpcf7 input[type=text]:focus,
.consultation-wraper .wpcf7 input[type=tel]:focus{
  background:rgba(255,255,255,.12) !important;
  border-color:var(--ks-gold) !important;
  box-shadow:0 0 0 3px rgba(219,180,114,.22) !important;
}

/* кнопка — как в шапке: золотой градиент */
.consultation-wraper .wpcf7 input[type=submit]{
  flex:0 0 auto; min-height:52px; margin:0 !important;
  padding:0 22px !important;
  font-size:14px !important; font-weight:650 !important; letter-spacing:.01em !important;
  text-transform:none !important;
  color:var(--ks-ink) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 20px rgba(0,0,0,.25) !important;
  transition:background-position .32s var(--ks-ease), box-shadow .22s ease, transform .22s var(--ks-ease) !important;
  white-space:nowrap;
}
.consultation-wraper .wpcf7 input[type=submit]:hover{
  background-position:100% 50% !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 14px 30px rgba(0,0,0,.32) !important;
  transform:translateY(-2px);
}
.consultation-wraper .wpcf7 input[type=submit]:active{ transform:translateY(0) scale(.985); }

/* ответ формы */
.consultation-wraper .wpcf7-response-output{
  margin:12px 0 0 !important; padding:10px 14px !important;
  border:1px solid rgba(255,255,255,.2) !important; border-radius:var(--ks-radius-sm);
  color:#fff; font-size:14px;
}
.consultation-wraper .wpcf7-not-valid-tip{ color:#F3C98B; font-size:13px; margin-top:6px; }

@media (max-width:1199px){
  .consultation-form-wrap{ display:grid; grid-template-columns:1fr; gap:22px; }   /* поля под заголовком, чтобы «Имя» не резалось */
}
@media (max-width:991px){
  .consultation-form > p{ flex-wrap:wrap; }
  .consultation-form .wpcf7-form-control-wrap,
  .consultation-form .wpcf7-form-control-wrap.mask-74{ flex:1 1 200px; }
  .consultation-wraper .wpcf7 input[type=submit]{ flex:1 1 100%; }
}
@media (max-width:767px){
  .consultation-wraper .wpb_wrapper{ padding:24px 18px; }
  .consultation-form .wpcf7-form-control-wrap,
  .consultation-form .wpcf7-form-control-wrap.mask-74{ flex:1 1 100%; }
}

/* [Проход 13в — подвал: правила удалены 15.09.2026 («Проход 19»), см. блок в конце файла] */

/* ==========================================================================
   Проход 14 — замечания владельца по Проходу 13 (14.09.2026)
   ========================================================================== */

/* первый экран: ниже, телефон крупно */
.wpb-content-wrapper > .vc_row.consultation-wrap{ padding-top:56px !important; padding-bottom:56px !important; min-height:0 !important; }
.consultation-wrap .wpcf7 textarea{ min-height:80px !important; }
.consultation-wrap .wpcf7 .wpcf7-form > p{ margin-bottom:10px; }
.ks-hero-phone{
  display:inline-flex; align-items:center; gap:12px;
  margin-top:22px; padding:12px 18px 12px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  color:#fff !important;
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:clamp(19px,1.7vw,24px); font-weight:600; letter-spacing:.01em;
  text-decoration:none;
  transition:background var(--ks-fast), border-color var(--ks-fast), transform var(--ks-fast);
}
.ks-hero-phone:hover{ background:rgba(219,180,114,.2); border-color:rgba(219,180,114,.6); transform:translateY(-1px); color:#fff !important; }
.ks-hero-phone svg{ flex:0 0 auto; color:var(--ks-gold); }

/* география работы — в одной семье с плашкой телефона, но золотом, чтобы читалась как заявление */
.ks-hero-scope{
  display:inline-flex; align-items:center; gap:11px;
  margin-top:16px;   /* без рамки блоку нужен свой воздух, иначе липнет к плашке телефона */
  color:var(--ks-gold-soft);
  font-size:clamp(17px,1.5vw,20px); font-weight:600; letter-spacing:.005em; line-height:1.2;
}
.ks-hero-scope svg{ flex:0 0 auto; }
.ks-hero-phone small{ display:block; font-family:"IBM Plex Sans",sans-serif; font-size:12px; font-weight:500; letter-spacing:.02em; color:rgba(255,255,255,.6); line-height:1.2; }
.ks-hero-phone span{ display:flex; flex-direction:column; gap:2px; }

/* [Проход 14 — подвал: правила удалены 15.09.2026 («Проход 19»), см. блок в конце файла] */

/* коричневая полоса «Есть вопросы? … Оставить заявку» на главной — скрыта (владелец 14.09):
   заявка теперь во всплывающем окне из шапки; блок остаётся в контенте страницы */
.wpb-content-wrapper > .vc_row.thsn-text-color-yes{ display:none !important; }

/* ==========================================================================
   Проход 16 — ритм внутри секций (владелец 14.09: «огромные расстояния»)
   Было: отступ секции 75 + шапка секции с margin-bottom 70 + зазор шифр→заголовок 48 →
   от карточек до следующего заголовка ~185 px, от заголовка до карточек 70.
   ========================================================================== */
.thsn-ihbox.thsn-ihbox-style-hsbox{ margin-bottom:34px !important; }
.thsn-ihbox-subheading h4,
.thsn-ihbox-subheading .vc_custom_heading{ margin-bottom:8px !important; }
.thsn-ihbox-style-hsbox .thsn-ihbox-heading h2{ padding-bottom:14px; }
/* последний ряд карточек не должен добавлять свой нижний отступ к отступу секции */
.wpb-content-wrapper > .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper > :last-child,
.wpb-content-wrapper > .vc_row .vc_row.vc_inner:last-child > .wpb_column > .vc_column-inner > .wpb_wrapper > :last-child{ margin-bottom:0 !important; }
/* Якорь «Отзывы» стоит на самой секции: так он сохраняется после рендера WPBakery.
   Отступ не даёт фиксированной шапке перекрыть заголовок после перехода. */
#block-reviews{ scroll-margin-top:110px; }
/* Совместимость со старыми копиями страницы, где якорь был пустым raw-html блоком. */
.wpb_raw_html.scrol-padding{ height:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; overflow:hidden; scroll-margin-top:110px; }

/* ==========================================================================
   Проход 19 — подвал по образцу сайта «Техсмысл» (15.09.2026)
   Референс: tekhsmysl-belarus-site.vercel.app → footer: сетка .9fr 1.2fr .85fr 1fr,
   поля 56px 6vw 30px, тихая типографика без заголовков колонок, контакты подчёркнуты
   (смещение 4 px), строка копирайта на всю ширину над тонкой линией. Перенесено в нашу
   палитру: графит + золото при наведении, IBM Plex; ширина — по .container, как и контент.
   Разметка — footer.php (.ks-footer), виджет-области темы не выводятся.
   ========================================================================== */

.site-footer.ks-footer{
  position:relative;
  padding:clamp(48px,5vw,60px) 0 28px;
  /* владелец 15.09: «цвет фона — можно ли привлекательнее?» — вместо плоского графита:
     тёплый графит с лёгким уходом вниз в темноту, золотой блик в правом верхнем углу
     (как у карточки заявки и карточки формы под услугой) и золотая кромка сверху. */
  background-color:#171A20 !important;
  background-image:
    radial-gradient(70% 110% at 88% -10%, rgba(219,180,114,.20), transparent 60%),
    radial-gradient(50% 80% at 0% 100%, rgba(219,180,114,.07), transparent 60%),
    linear-gradient(180deg, #1C2027 0%, #171A20 55%, #121418 100%) !important;
  color:rgba(255,255,255,.74) !important;
  font-size:15px;
  line-height:1.5;
}
.site-footer.ks-footer::before{                 /* чертёжная сетка — как в шапке и герое, тает книзу */
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);
          mask-image:linear-gradient(180deg,#000,transparent 75%);
  pointer-events:none;
}
.site-footer.ks-footer::after{                  /* золотая кромка: отделяет подвал от блока отзывов */
  content:"";
  position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, rgba(219,180,114,0) 0%, rgba(219,180,114,.55) 30%, rgba(219,180,114,.55) 70%, rgba(219,180,114,0) 100%);
  pointer-events:none;
}
.site-footer.ks-footer > .container{ position:relative; z-index:1; }

.ks-footer__grid{
  display:grid;
  grid-template-columns:.9fr 1.2fr minmax(max-content,.85fr) 1fr;   /* контакты — не уже телефона */
  gap:clamp(28px,4vw,58px);
  align-items:start;
}

/* бренд */
.ks-footer__brand{ display:flex; flex-direction:column; gap:10px; }
.ks-footer__logo{ display:block; width:fit-content; transition:opacity var(--ks-fast); }
/* height:47px + width:auto ломалось, когда колонка бренда уже логотипа (1024–1200px):
   ширину резал max-width:100%, высота оставалась — знак сжимался по горизонтали на 20%. */
.ks-footer__logo img{ display:block; width:227px; max-width:100%; height:auto; }
.ks-footer__logo:hover{ opacity:.85; }
.ks-footer__tagline{ color:rgba(255,255,255,.58); font-size:13px; line-height:1.6; max-width:26ch; }
.ks-footer__social{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.ks-footer__social .thsn-social-links{ display:flex; gap:8px; margin:0 !important; padding:0; list-style:none; }
.ks-footer__social .thsn-social-links li{ margin:0; padding:0; list-style:none; }
.ks-footer__social .thsn-social-links a,
.ks-footer__tg{
  display:inline-flex !important; align-items:center; justify-content:center;
  width:36px !important; height:36px !important; line-height:36px !important;
  border:1px solid rgba(255,255,255,.16) !important; border-radius:10px;
  background:rgba(255,255,255,.04) !important;
  color:rgba(255,255,255,.78) !important; font-size:15px;
  transition:background var(--ks-fast), border-color var(--ks-fast), color var(--ks-fast), transform var(--ks-fast);
}
.ks-footer__social .thsn-social-links a:hover,
.ks-footer__tg:hover{
  background:rgba(219,180,114,.14) !important;
  border-color:rgba(219,180,114,.5) !important;
  color:var(--ks-gold) !important;
  transform:translateY(-1px);
}

/* реквизиты */
.ks-footer__company{ max-width:330px; }
.ks-footer__company p{ margin:0 0 5px; color:rgba(255,255,255,.58) !important; font-size:13px; line-height:1.6; }
.ks-footer__company a{
  color:inherit !important;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
  text-decoration-color:rgba(255,255,255,.32);
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.ks-footer__company a:hover{ color:var(--ks-gold) !important; text-decoration-color:currentColor; }

/* контакты — подчёркнутые ссылки, как в референсе; телефон моно */
.ks-footer__contacts{ display:flex; flex-direction:column; gap:8px; font-size:15px; }
.ks-footer__contacts a{
  width:fit-content;
  color:#fff !important;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px;
  transition:color var(--ks-fast);
}
.ks-footer__contacts a:hover{ color:var(--ks-gold) !important; }
.ks-footer__phone{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-weight:600; letter-spacing:0; white-space:nowrap; }

/* ссылки на разделы и документы — как у референса (владелец 15.09) */
.ks-footer__links{ display:flex; flex-direction:column; gap:9px; font-size:13px; line-height:1.45; }
.ks-footer__links a{ width:fit-content; color:rgba(255,255,255,.78) !important; transition:color var(--ks-fast), transform var(--ks-fast); }
.ks-footer__links a:hover{ color:var(--ks-gold) !important; transform:translateX(2px); }
.ks-footer__links a:nth-last-child(2){ margin-top:8px; }   /* документы — с небольшим отступом от разделов */

/* копирайт */
.ks-footer__copyright{
  grid-column:1 / -1;
  margin:44px 0 0 !important;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.58) !important;
  font-size:12.5px; line-height:1.6;
}

@media (max-width:1023px){
  .ks-footer__grid{ grid-template-columns:repeat(2,1fr); gap:36px clamp(28px,4vw,58px); }
}
@media (max-width:760px){
  .site-footer.ks-footer{ padding:48px 0 26px; }
  .ks-footer__grid{ grid-template-columns:1fr; gap:32px; }
  .ks-footer__copyright{ margin-top:18px !important; }
}

/* ==========================================================================
   Проход 20 — персональные данные (15.09.2026): страницы «Политика» и «Согласие»,
   отметка согласия в формах CF7. Основание: Закон № 99-З (ст. 5, 9, 17).
   Окно cookie и карта по клику — тоже отсюда, но сняты «Проходом 43» (16.09.2026),
   правила .ks-cookie/.ks-embed удалены, маркер ниже — не восстанавливать.
   ========================================================================== */

/* страницы политики и согласия — мера строки как у статьи (Д-43) */
.ks-legal{ max-width:74ch; margin:0 auto; padding:clamp(8px,1vw,16px) 0 var(--ks-sp-section); font-size:16px; line-height:1.65; color:var(--ks-ink); }
.ks-legal__lead{ font-size:15px; color:var(--ks-muted); padding:16px 20px; border-left:3px solid var(--ks-gold); background:rgba(219,180,114,.08); border-radius:0 10px 10px 0; margin:0 0 28px; }
.ks-legal h2{ font-size:22px; line-height:1.3; margin:36px 0 12px; }
.ks-legal h3{ font-family:"IBM Plex Mono",monospace; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ks-gold-ink-2); margin:22px 0 6px; }
.ks-legal p{ margin:0 0 12px; }
.ks-legal ul{ margin:0 0 14px; padding-left:22px; }
.ks-legal li{ margin:0 0 6px; }
.ks-legal a{ color:var(--ks-gold-ink-2); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(132,96,38,.4); }
.ks-legal a:hover{ color:var(--ks-ink); text-decoration-color:currentColor; }
/* права — отдельно от прочей информации (ст. 5 п. 5 Закона): своя карточка */
.ks-legal__rights{
  margin:40px 0 0; padding:26px 28px 18px;
  background:var(--ks-ink); color:rgba(255,255,255,.86);
  border-radius:var(--ks-radius);
  position:relative; overflow:hidden;
}
.ks-legal__rights::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%); mask-image:linear-gradient(180deg,#000,transparent 80%);
}
.ks-legal__rights > *{ position:relative; }
.ks-legal__rights h2{ color:#fff; margin:0 0 14px; font-size:21px; }
.ks-legal__rights li, .ks-legal__rights p{ margin-bottom:12px; color:rgba(255,255,255,.86) !important; }   /* тема красит li в цвет текста страницы */
.ks-legal__rights strong{ color:var(--ks-gold); font-weight:600; }
.ks-legal__rights a{ color:var(--ks-gold); text-decoration-color:rgba(219,180,114,.45); }
.ks-legal__rights a:hover{ color:#fff; }

/* отметка согласия в формах CF7 ([acceptance ks-consent] в <p class="ks-consent">) */
.wpcf7 .ks-consent{
  display:block !important; flex:1 1 100%; width:100%;
  margin:12px 0 14px !important; padding:0 !important;      /* снизу — воздух до кнопки (владелец 15.09: текст залезал на кнопку) */
  font-size:12.5px; line-height:1.45; font-weight:400;
  color:var(--ks-muted);                                  /* светлый фон: окно заявки, «Контакты» */
}
.consultation-wrap .ks-consent,                            /* первый экран (тёмное стекло) */
.consultation-wraper .ks-consent,                          /* карточка заявки (графит) */
.form-service-wrap .ks-consent{ color:rgba(255,255,255,.7); }   /* карточка под услугой (графит) */
.wpcf7 .ks-consent .wpcf7-form-control-wrap,
.wpcf7 .ks-consent .wpcf7-acceptance,
.wpcf7 .ks-consent .wpcf7-list-item{ display:block; margin:0; padding:0; max-width:none !important; }
.wpcf7 .ks-consent label{
  display:flex; align-items:flex-start; gap:10px;
  margin:0; cursor:pointer; font-weight:inherit; font-size:inherit; line-height:inherit; color:inherit; text-transform:none;
}
.wpcf7 .ks-consent input[type=checkbox]{
  -webkit-appearance:none; appearance:none;
  flex:0 0 auto; width:18px; height:18px; margin:1px 0 0;
  border:1.5px solid currentColor; opacity:.75; border-radius:5px; background:transparent;
  display:grid; place-content:center; cursor:pointer;
  transition:border-color var(--ks-fast), background var(--ks-fast), opacity var(--ks-fast);
}
.wpcf7 .ks-consent input[type=checkbox]::before{
  content:""; width:10px; height:10px; transform:scale(0);
  background:var(--ks-gold);
  clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transition:transform .15s var(--ks-ease);
}
.wpcf7 .ks-consent input[type=checkbox]:checked{ border-color:var(--ks-gold); background:rgba(219,180,114,.16); opacity:1; }
.wpcf7 .ks-consent input[type=checkbox]:checked::before{ transform:scale(1); }
.wpcf7 .ks-consent input[type=checkbox]:focus-visible{ outline:2px solid var(--ks-gold); outline-offset:2px; }
.wpcf7 .ks-consent .wpcf7-list-item-label{ display:inline; }
.wpcf7 .ks-consent a{ color:inherit !important; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(219,180,114,.6); transition:color var(--ks-fast); }
.wpcf7 .ks-consent a:hover{ color:var(--ks-gold-ink-2) !important; text-decoration-color:currentColor; }
.consultation-wrap .ks-consent a:hover, .consultation-wraper .ks-consent a:hover, .form-service-wrap .ks-consent a:hover{ color:var(--ks-gold) !important; }
.wpcf7 .ks-consent .wpcf7-not-valid-tip{ display:block; margin:6px 0 0 28px; font-size:12px; color:#B4461F; }
.consultation-wrap .ks-consent .wpcf7-not-valid-tip, .consultation-wraper .ks-consent .wpcf7-not-valid-tip, .form-service-wrap .ks-consent .wpcf7-not-valid-tip{ color:#F0B4A0; }
/* в окне заявки строка полей — grid; согласие идёт следующим блоком */
.ks-modal__form .ks-consent{ margin:2px 0 4px !important; display:block !important; }   /* в окне строки полей уже с gap 12 */
/* карточка под услугой: строка полей в стеклянной рамке .form-service, согласие — под ней */
.form-service-wrap .ks-consent{ margin:14px 0 0 !important; }   /* под услугой кнопка внутри ряда — снизу отступ не нужен */
/* «Контакты»: сетка темы .input-group */
.thsn-main-form .input-group.ks-consent{ margin-bottom:8px; }
/* правила полей на первом экране / в карточках задают всем input ширину, высоту и фон — для флажка гасим */
.wpcf7 .ks-consent input[type=checkbox],
.consultation-wrap .wpcf7 .ks-consent input[type=checkbox],
.form-service-wrap .ks-consent input[type=checkbox],
.consultation-wraper .ks-consent input[type=checkbox],
.ks-modal__form .ks-consent input[type=checkbox],
.thsn-main-form .ks-consent input[type=checkbox]{
  width:18px !important; height:18px !important; min-height:0 !important; min-width:0 !important;
  padding:0 !important; margin:1px 0 0 !important;
  border-width:1.5px !important; border-style:solid !important; border-color:currentColor !important; border-radius:5px !important;
  background:transparent !important; box-shadow:none !important; line-height:1 !important;
}
.wpcf7 .ks-consent input[type=checkbox]:checked,
.consultation-wrap .wpcf7 .ks-consent input[type=checkbox]:checked,
.form-service-wrap .ks-consent input[type=checkbox]:checked,
.consultation-wraper .ks-consent input[type=checkbox]:checked,
.ks-modal__form .ks-consent input[type=checkbox]:checked,
.thsn-main-form .ks-consent input[type=checkbox]:checked{ border-color:var(--ks-gold) !important; background:rgba(219,180,114,.16) !important; }
/* карточка заявки: сетка «заголовок | поля» — согласие под полями, во второй колонке */
@media (min-width:1200px){
  .consultation-form-wrap{ row-gap:12px; }                       /* второй ряд — только согласие */
  .consultation-form-wrap > .consultation-title{ grid-row:1 / span 2; align-self:center; }
  .consultation-form-wrap > .ks-consent{ grid-column:2; grid-row:2; margin-top:0 !important; }
}
/* окно заявки: тема красит .wpcf7-form-control (в т.ч. обёртку флажка) в светло-серый и делает текст полужирным */
.wpcf7 .ks-consent .wpcf7-form-control.wpcf7-acceptance{ background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; height:auto !important; line-height:inherit !important; }
.wpcf7 .ks-consent, .wpcf7 .ks-consent *{ font-weight:400 !important; }
.wpcf7 .ks-consent label, .wpcf7 .ks-consent .wpcf7-list-item-label{ font-size:12.5px !important; line-height:1.45 !important; }

/* строка копирайта: ссылки на документы и кнопка «Настройки cookie» */
.ks-footer__copyright{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 22px; }
.ks-footer__copyright a{
  color:rgba(255,255,255,.58) !important; font:inherit; font-size:12.5px;
  background:none; border:0; padding:0; cursor:pointer;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; text-decoration-color:rgba(255,255,255,.28);
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.ks-footer__copyright a:hover{ color:var(--ks-gold) !important; text-decoration-color:currentColor; }

/* ---- Проход 22 (владелец 15.09: «чекбокс не видно — выделить подблок с текстом и чекбоксом») ----
   Согласие — отдельная плашка: подложка + рамка, у флажка явная рамка, при отметке плашка золотеет. */
.wpcf7 .ks-consent{
  padding:10px 12px 10px 12px !important;
  border-radius:10px;
  border:1px solid rgba(20,22,26,.10);
  background:rgba(219,180,114,.07);                      /* светлый фон: окно заявки, «Контакты» */
  transition:border-color var(--ks-fast), background var(--ks-fast);
}
.wpcf7 .ks-consent:hover{ border-color:rgba(132,96,38,.35); }
.wpcf7 .ks-consent:has(input:checked){ border-color:rgba(156,116,52,.5); background:rgba(219,180,114,.14); }
.consultation-wrap .ks-consent,                          /* тёмные контексты: первый экран, карточка заявки, карточка под услугой */
.consultation-wraper .ks-consent,
.form-service-wrap .ks-consent{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);
}
.consultation-wrap .ks-consent:hover, .consultation-wraper .ks-consent:hover, .form-service-wrap .ks-consent:hover{ border-color:rgba(255,255,255,.3); }
.consultation-wrap .ks-consent:has(input:checked), .consultation-wraper .ks-consent:has(input:checked), .form-service-wrap .ks-consent:has(input:checked){
  border-color:rgba(219,180,114,.55); background:rgba(219,180,114,.12);
}
/* флажок: явная рамка вместо currentColor с прозрачностью */
.wpcf7 .ks-consent label input[type=checkbox]{
  opacity:1 !important;
  border-color:rgba(20,22,26,.45) !important;
  background:#fff !important;
}
.consultation-wrap .ks-consent label input[type=checkbox],
.consultation-wraper .ks-consent label input[type=checkbox],
.form-service-wrap .ks-consent label input[type=checkbox]{
  border-color:rgba(255,255,255,.75) !important;
  background:rgba(255,255,255,.10) !important;
}
.wpcf7 .ks-consent label input[type=checkbox]:checked,
.consultation-wrap .ks-consent label input[type=checkbox]:checked,
.consultation-wraper .ks-consent label input[type=checkbox]:checked,
.form-service-wrap .ks-consent label input[type=checkbox]:checked{
  border-color:var(--ks-gold) !important;
  background:rgba(219,180,114,.22) !important;
}
.wpcf7 .ks-consent .wpcf7-not-valid-tip{ margin-left:28px; }
/* карточка заявки: плашка на всю ширину второй колонки, вровень со стеклянным рядом полей */
.consultation-form-wrap > .ks-consent{ width:100%; }
/* подсказки об ошибках: вплотную к своему полю, на тёмном — тёплый коралл вместо ярко-красного */
.wpcf7 .wpcf7-not-valid-tip{ display:block; margin:5px 0 0 !important; font-size:13px; line-height:1.4; }
.consultation-wrap .wpcf7-not-valid-tip, .consultation-wraper .wpcf7-not-valid-tip, .form-service-wrap .wpcf7-not-valid-tip{ color:#FFB3A3 !important; }

/* ==========================================================================
   Проход 23 — страницы услуг (15.09.2026): титульный блок, боковое меню,
   карточка под меню, блок заявки на всю ширину, ссылки и мера строки в тексте.
   Осмотр: 1142 и 390 px. Заголовки, ссылки, canonical — без изменений, кроме двух
   намеренно добавленных ссылок в карточке под меню (телефон, окно заявки).
   ========================================================================== */

/* --- 1. Титульный блок: плашки цены/срока стояли вплотную к нижнему краю (0 px) --- */
.thsn-title-bar-content{ padding:clamp(52px,6vw,72px) 0 clamp(40px,4.5vw,56px) !important; }
.thsn-title-bar-content:has(+ .custom_wpapp){ padding-bottom:26px !important; }
.custom_wpapp{ margin:0; padding-bottom:clamp(36px,4vw,48px); }   /* padding, не margin: у обёртки нет рамки, и margin «вываливался» под титульный блок пустой полосой */

/* --- 1а. Внутри текста услуги ряд WPBakery — не секция страницы: без секционных отступов,
       чтобы первая строка текста стояла вровень с верхом карточки бокового меню --- */
.single-thsn-service .thsn-entry-content .wpb-content-wrapper > .vc_row.wpb_row:not(.vc_inner){
  padding-top:0 !important; padding-bottom:0 !important;
}
.single-thsn-service .content-area.col-md-9, .single-thsn-service .widget-area.col-md-3{ padding-top:clamp(44px,5vw,64px); padding-bottom:clamp(44px,5vw,64px); }

/* --- 2. Боковое меню услуг: в языке панели «Услуги» из шапки ----------------
   Тема: белые пункты с «наплывающей» заливкой (li::before/::after), текущий — белым по
   золоту (1,95 : 1), стрелка на фиксированной высоте наезжает на текст (Д-22). */
.single-thsn-service .themesion-sidebar .widget{ padding:22px 18px 16px !important; overflow:visible !important; }
.single-thsn-service .themesion-sidebar .widget .widget-title{
  font-size:17px !important; line-height:1.3 !important; letter-spacing:-.01em;
  color:var(--ks-ink);
  margin:0 0 12px !important; padding:0 4px 14px !important;
  border-bottom:1px solid var(--ks-line) !important;
}
.single-thsn-service .themesion-sidebar .widget .widget-title::after{ display:none !important; }   /* зелёная полоска темы */
.single-thsn-service .themesion-sidebar .widget .widget-title::before{                              /* «шифр» над названием раздела */
  content:"Услуги раздела";
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ks-gold-ink-2);
  margin-bottom:8px;
}
.single-thsn-service .themesion-sidebar .widget ul>li{ margin:0 0 3px !important; }
.single-thsn-service .themesion-sidebar .widget ul>li::before,
.single-thsn-service .themesion-sidebar .widget ul>li::after{ display:none !important; }   /* наплывающая заливка темы */
.single-thsn-service .themesion-sidebar .widget ul>li a,
.single-thsn-service #secondary .widget ul>li a{
  position:relative; display:block;
  padding:11px 36px 11px 14px !important;
  border-radius:10px !important;
  font-size:14.5px !important; line-height:1.4 !important; font-weight:500 !important;
  color:var(--ks-ink) !important;
  background:transparent !important;
  transition:background var(--ks-fast), color var(--ks-fast), padding-left var(--ks-fast);
}
.single-thsn-service .themesion-sidebar .widget ul>li a::before{ display:none !important; }   /* иконка-стрелка темы слева */
.single-thsn-service .themesion-sidebar .widget ul>li a::after{                                 /* стрелка справа — по центру строки, не на тексте */
  top:50% !important; right:14px !important;
  transform:translateY(-50%);
  font-size:13px; color:var(--ks-gold-ink) !important;
  transition:transform var(--ks-fast), color var(--ks-fast);
}
.single-thsn-service .themesion-sidebar .widget ul>li:hover a{
  background:rgba(219,180,114,.14) !important; color:var(--ks-ink) !important; padding-left:16px !important;
}
.single-thsn-service .themesion-sidebar .widget ul>li:hover a::after{ transform:translate(3px,-50%); color:var(--ks-gold-ink-2) !important; }
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item a,
#secondary .service-cat .menu .current-menu-item a{
  background:var(--ks-gold) !important;       /* графит по золоту — 9,3 : 1, как текущий пункт в шапке */
  color:var(--ks-ink) !important;
  font-weight:600 !important;
}
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item a::after,
#secondary .service-cat .menu .current-menu-item a::after{ color:var(--ks-ink) !important; }

/* --- 3. Карточка под меню (Д-25): графит с золотым бликом, как окно заявки ------- */
.ks-aside-card{
  position:relative; overflow:hidden;
  margin-top:18px;
  padding:24px 22px 22px;
  border-radius:var(--ks-radius);
  background-color:var(--ks-ink);
  background-image:
    radial-gradient(90% 120% at 100% 0%, rgba(219,180,114,.24), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:auto, 48px 48px, 48px 48px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), var(--ks-shadow-m);
  color:rgba(255,255,255,.72);
}
.ks-aside-card__kicker{
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--ks-gold);
  margin-bottom:10px;
}
.ks-aside-card__title{
  font-family:"IBM Plex Sans",sans-serif;
  font-size:19px; font-weight:600; line-height:1.22; letter-spacing:-.015em;
  color:#fff; margin:0 0 8px;
}
.ks-aside-card__text{ font-size:14px; line-height:1.5; margin:0 0 16px; color:rgba(255,255,255,.72) !important; }   /* body p красит в графит */
.ks-aside-card__phone{
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:17px; font-weight:600; letter-spacing:0; white-space:nowrap;
  color:#fff !important;
  margin:0 0 14px;
  text-decoration:underline; text-decoration-color:rgba(219,180,114,.5); text-underline-offset:5px;
  transition:text-decoration-color var(--ks-fast), color var(--ks-fast);
}
.ks-aside-card__phone:hover{ color:var(--ks-gold) !important; text-decoration-color:var(--ks-gold); }
.ks-aside-card .ks-btn{ width:100%; margin:0; min-height:46px; }
.ks-aside-card .ks-btn:hover{ transform:translateY(-1px); }

/* --- 4. Текст услуги: ссылки читаемые, строка не длиннее 72 знаков (Д-27) ----------- */
.single-thsn-service .thsn-entry-content{ max-width:72ch; }
.single-thsn-service .thsn-entry-content p a:not(.ks-btn),
.single-thsn-service .thsn-entry-content li a:not(.ks-btn){
  color:var(--ks-gold-ink-2);
  text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
  text-decoration-color:rgba(132,96,38,.45);
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.single-thsn-service .thsn-entry-content p a:not(.ks-btn):hover,
.single-thsn-service .thsn-entry-content li a:not(.ks-btn):hover{ color:var(--ks-ink); text-decoration-color:var(--ks-gold); }

/* --- 5. Блок заявки под обеими колонками (Д-23, Д-24) — как тёмная полоса на главной --- */
.ks-service-cta{ margin:clamp(8px,1.5vw,20px) 0 clamp(40px,5vw,64px); }
.ks-service-cta .wpcf7{ margin:0; }
.ks-service-cta .wpcf7-spinner{ display:none; }   /* у волчка CF7 поля 24 px с боков — оставлял пустоту справа от кнопки */
.ks-service-cta .form-service-wrap{
  padding:clamp(26px,3.4vw,44px) !important;
  background-size:auto, 64px 64px, 64px 64px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
}
.ks-service-cta .form-service-wrap > p:first-child{ margin:0 !important; }   /* <p> с декоративной иконкой */
.ks-service-cta .form-service-title{
  font-family:"IBM Plex Sans",sans-serif !important;
  font-size:clamp(23px,2.3vw,33px) !important;
  font-weight:600 !important; line-height:1.16 !important; letter-spacing:-.018em;
  text-transform:none !important;        /* капслок давало правило старого style.css */
  color:#fff !important;
  max-width:22ch;
  margin:0 0 22px !important;
}
.ks-service-cta .form-service-title::before{
  content:"Бесплатно · без обязательств";
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:13px; font-weight:600; letter-spacing:.115em; text-transform:uppercase;
  color:var(--ks-gold);
  margin-bottom:12px;
}
.ks-service-cta .form-service{ display:block; }
.ks-service-cta .form-service > p{
  padding:8px; gap:10px;
  border-radius:calc(var(--ks-radius) - 4px);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.ks-service-cta .form-service .wpcf7-form-control-wrap{ display:block; }
.ks-service-cta .form-service input[type=text],
.ks-service-cta .form-service input[type=tel]{
  max-width:none; min-height:52px; padding:0 16px !important;
  border-radius:var(--ks-radius-sm) !important; box-shadow:none !important;
  transition:background var(--ks-fast), border-color var(--ks-fast), box-shadow var(--ks-fast);
}
.ks-service-cta .form-service input[type=text]:hover,
.ks-service-cta .form-service input[type=tel]:hover{ background:rgba(255,255,255,.12) !important; border-color:rgba(255,255,255,.3) !important; }
.ks-service-cta .form-service input:focus{ box-shadow:0 0 0 3px rgba(219,180,114,.22) !important; }
.ks-service-cta .form-service input[type=submit]{
  min-height:52px; padding:0 26px !important; margin:0 !important;
  font-size:14px !important; font-weight:650 !important; letter-spacing:.01em !important;
  text-transform:none !important;
  color:var(--ks-ink) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 20px rgba(0,0,0,.25) !important;
  transition:background-position .32s var(--ks-ease), box-shadow .22s ease, transform .22s var(--ks-ease) !important;
  white-space:nowrap;
}
.ks-service-cta .form-service input[type=submit]:hover{
  background-position:100% 50% !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 14px 30px rgba(0,0,0,.32) !important;
  transform:translateY(-2px);
}
.ks-service-cta .form-service input[type=submit]:active{ transform:translateY(0) scale(.985); }
.ks-service-cta .form-service-icon{ top:clamp(18px,2vw,28px) !important; bottom:auto !important; }   /* иконка — в верхний угол, за заголовок */
.ks-service-cta .wpcf7-response-output{
  margin:12px 0 0 !important; padding:10px 14px !important;
  border:1px solid rgba(255,255,255,.2) !important; border-radius:var(--ks-radius-sm);
  color:#fff; font-size:14px;
}
@media (min-width:768px){
  .ks-service-cta .form-service .wpcf7-form-control-wrap:first-child{ min-width:200px; }
}
@media (max-width:767px){
  .ks-service-cta .form-service-wrap{ padding:24px 18px !important; }
  .ks-service-cta .form-service > p{ padding:8px; }
  .themesion-sidebar .ks-aside-card{ margin-top:16px; }
}

/* ==========================================================================
   Проход 24 — архив услуг /services/ и страницы категорий (15.09.2026)
   Карточка услуги в языке карточек главной: «шифр» категории, название графитом,
   строка «от … BYN · до … дней» (поля ACF, как в титульном блоке услуги) и круглая
   стрелка — прижаты к низу; карточки в ряду одной высоты (Д-48, Д-49, Д-50).
   ========================================================================== */

/* сетка: зазор на колонке, карточка тянется на всю высоту колонки */
.thsn-element-posts-wrapper > .thsn-service-ele{ display:flex; flex-direction:column; margin-bottom:var(--ks-sp-gap); }
.thsn-element-posts-wrapper > .thsn-service-ele > article.themesion-ele{ flex:1 1 auto; height:auto; margin-bottom:0 !important; }
.thsn-element-posts-wrapper > .thsn-service-ele .themesion-post-item,
.thsn-element-posts-wrapper > .thsn-service-ele .themesion-box-content{ height:100%; }

/* внутренний блок темы (style-3: белая плашка с тенью, сдвинутая вверх; style-1: тень + золотая линия
   старого style.css) — теперь просто содержимое карточки на сетке: шифр / название / пустота / мета + стрелка */
.thsn-service-style-3 .themesion-box-content-inner,
.thsn-service-style-1 .themesion-box-content-inner,
.tax-thsn-service-category .themesion-post-item .themesion-box-content-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto 1fr auto;
  grid-template-areas:"cat cat" "title title" "sp sp" "meta btn";
  align-items:end;
  height:100%;
  margin:0 !important; padding:0 !important;
  background:transparent !important;
  box-shadow:none !important; border:0 !important; border-radius:0 !important;
  text-align:left !important;
}
.thsn-element-posts-wrapper .thsn-service-ele .themesion-box-content{ padding:24px 24px 22px !important; }
.thsn-service-style-1 .thsn-service-icon{ display:none !important; }   /* пустая обёртка иконки */

/* шифр категории */
.thsn-service-style-3 .thsn-service-category,
.thsn-service-style-1 .thsn-service-cat{
  grid-area:cat; align-self:start;
  margin:0 0 12px !important; padding:0 !important;
  font-size:11px !important; line-height:1.5 !important; letter-spacing:.1em !important;
}
.thsn-service-style-3 .thsn-service-category a,
.thsn-service-style-1 .thsn-service-cat a{
  color:var(--ks-gold-ink-2) !important;
  font-family:"IBM Plex Mono",monospace; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.1em !important; text-transform:uppercase;
}
.thsn-service-style-3 .thsn-service-category a:hover,
.thsn-service-style-1 .thsn-service-cat a:hover{ color:var(--ks-ink) !important; }

/* название */
.thsn-service-style-3 .thsn-service-title,
.thsn-service-style-1 .thsn-service-title{
  grid-area:title; align-self:start;
  margin:0 0 20px !important; padding:0 !important;
  font-size:19px !important; line-height:1.28 !important; font-weight:600 !important; letter-spacing:-.012em;
}
.thsn-service-style-3 .thsn-service-title a,
.thsn-service-style-1 .thsn-service-title a{ color:var(--ks-ink) !important; transition:color var(--ks-fast); }
.thsn-service-style-3 .thsn-service-title a:hover,
.thsn-service-style-1 .thsn-service-title a:hover{ color:var(--ks-gold-ink-2) !important; }
.thsn-service-style-1 .thsn-service-content{ grid-column:1 / -1; align-self:start; margin:-8px 0 16px; font-size:15px; color:var(--ks-muted); }

/* строка «от … BYN · до … дней» */
.ks-card-meta{
  grid-area:meta;
  display:flex; flex-direction:column; gap:3px;   /* всегда в два ряда: цена / срок — иначе в соседних карточках то одна строка, то две */
  font-family:"IBM Plex Mono",monospace;
  font-size:15px; font-weight:600; letter-spacing:.01em; line-height:1.4;
  color:var(--ks-ink);
}
.ks-card-meta__price{ font-size:16.5px; line-height:1.35; }
.ks-card-meta__time{ color:var(--ks-muted); font-size:14.5px; font-weight:500; }

/* круглая стрелка: не «висит» под карточкой, а стоит в правом нижнем углу; при наведении на карточку золотеет */
.thsn-service-style-3 .thsn-service-btn,
.thsn-service-style-1 .thsn-service-btn{ grid-area:btn; justify-self:end; margin:0 0 0 14px !important; padding:0 !important; }
.thsn-service-style-3 .thsn-service-btn .vc_btn3-container,
.thsn-service-style-1 .thsn-service-btn .vc_btn3-container{ margin:0 !important; display:block; }
.thsn-service-style-3 .thsn-service-btn a,
.thsn-service-style-1 .thsn-service-btn a{
  position:static !important; transform:none !important;
  display:flex !important; align-items:center; justify-content:center;
  width:40px !important; height:40px !important; line-height:1 !important; margin:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(20,22,26,.16) !important;
  background:transparent !important;
  color:var(--ks-ink) !important;
  font-size:13px;
  transition:background var(--ks-fast), border-color var(--ks-fast), transform var(--ks-fast) !important;
}
.thsn-service-style-3 .thsn-service-btn a i,
.thsn-service-style-1 .thsn-service-btn a i{ line-height:1; transition:transform var(--ks-fast); }
.thsn-element-posts-wrapper article.themesion-ele:hover .thsn-service-btn a{
  background:var(--ks-gold) !important; border-color:var(--ks-gold) !important; transform:none !important;
}
.thsn-element-posts-wrapper article.themesion-ele:hover .thsn-service-btn a i{ transform:translateX(2px); }
/* золотая засечка при наведении — как у карточек главной и новостей */
.thsn-element-posts-wrapper article.themesion-ele-service{ position:relative; }
.thsn-element-posts-wrapper article.themesion-ele-service::after{
  content:""; position:absolute; left:0; top:0; width:3px; height:0;
  background:var(--ks-gold); transition:height var(--ks-slow); z-index:2;
}
.thsn-element-posts-wrapper article.themesion-ele-service:hover::after{ height:56px; }

/* страницы категорий: карточки без нижнего отступа темы (зазор — на колонке) */
.tax-thsn-service-category .thsn-service-style-1{ margin-bottom:0 !important; }

/* ==========================================================================
   Проход 25 — «Цены» (15.09.2026): таблица как карточка, чередование строк,
   разделы разделов светлым золотом, валюта у цены, на телефоне — строки-карточки
   вместо обрезанной таблицы; отступы страниц без боковой колонки.
   ========================================================================== */

/* тема ставит #content 100 px сверху/снизу (под первый ряд WPBakery, который уезжает на −100).
   Страницам без рядов WPBakery — «Цены», документы по ПДн, категории услуг — ритм как у услуг. */
.page-id-14478 #content, .page-id-14880 #content, .page-id-14881 #content,
.tax-thsn-service-category #content{
  padding-top:clamp(44px,5vw,64px) !important; padding-bottom:clamp(40px,5vw,64px) !important;
}
/* титульный блок без плашек (Д-33): чуть компактнее */
.thsn-title-bar-content{ padding:clamp(48px,5.5vw,64px) 0 clamp(40px,4.2vw,52px) !important; }

/* таблица цен */
.price-table{ margin:0; }
.price-table table{
  width:100% !important; height:auto !important;
  border:1px solid var(--ks-line) !important; border-radius:var(--ks-radius); overflow:hidden;
  border-collapse:separate !important; border-spacing:0;
  box-shadow:var(--ks-shadow-s);
  background:var(--ks-paper);
  margin:0;
}
.price-table table tr{ border:0 !important; height:auto !important; }
.price-table table td{
  border:0 !important; border-bottom:1px solid var(--ks-line-soft) !important;
  padding:14px 18px !important; height:auto !important;
  vertical-align:middle; font-size:15.5px; line-height:1.45;
  transition:background var(--ks-fast);
}
.price-table table tr:last-child td{ border-bottom:0 !important; }
/* шапка таблицы — моно-шифр */
.price-table table thead td{
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ks-muted); background:var(--ks-paper-2); padding:12px 18px !important;
  border-bottom:1px solid var(--ks-line) !important;
}
/* строки-разделы: светлое золото вместо сплошной заливки (в языке подписей-«шифров» главной) */
.price-table table td[colspan="3"]{
  background:rgba(219,180,114,.16) !important;
  color:var(--ks-ink) !important;
  font-size:12px !important; letter-spacing:.1em !important;
  padding:11px 18px !important;
  border-top:1px solid rgba(219,180,114,.35) !important; border-bottom:1px solid rgba(219,180,114,.35) !important;
}
/* чередование строк (Д-31) и подсветка при наведении */
.price-table table tbody tr:nth-child(even) td:not([colspan]){ background:rgba(20,22,26,.022); }
.price-table table tbody tr:hover td:not([colspan]){ background:rgba(219,180,114,.10); }
/* колонки: название / срок / стоимость */
.price-table table tr td:first-of-type{ width:52% !important; }
.price-table table tr td:nth-of-type(2){ width:28% !important; color:var(--ks-muted); }
.price-table table tr td:last-of-type{
  width:20% !important;
  font-family:"IBM Plex Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.01em; white-space:nowrap;
  color:var(--ks-ink);
}
/* валюта (Д-32): в тексте таблицы её нет, на страницах услуг — «от 650 BYN»; дописываем оформлением,
   текст страницы не меняется (владелец 14.09: тексты не трогать) */
.price-table table td a{ font-weight:500; }
.price-table table thead td:last-of-type{ font-size:11.5px; font-weight:600; color:var(--ks-muted); }   /* шапка «Стоимость» — как остальные колонки шапки */

@media (max-width:767px){
  /* старый style.css делал таблицу 500 px с прокруткой — столбец «Стоимость» оставался за краем.
     Теперь каждая строка — карточка: название, под ним срок и стоимость с подписями. */
  .price-table{ overflow:visible !important; }
  .price-table table{ width:100% !important; display:block; }
  .price-table thead{ display:none; }
  .price-table tbody{ display:block; }
  .price-table table tr{
    display:grid; grid-template-columns:1fr auto; grid-template-areas:"name name" "term price";
    gap:6px 16px; padding:14px 16px; border-bottom:1px solid var(--ks-line-soft);
  }
  .price-table table tr:last-child{ border-bottom:0; }
  .price-table table td{ display:block; padding:0 !important; border:0 !important; background:none !important; }
  /* ширины столбцов старого style.css (50/30/20 %, !important) — снимаем той же специфичностью */
  .price-table table tr td:first-of-type{ grid-area:name; width:auto !important; font-size:16px; }
  .price-table table tr td:nth-of-type(2){ grid-area:term; width:auto !important; font-size:13px; }
  .price-table table tr td:last-of-type{ grid-area:price; width:auto !important; font-size:14px; text-align:right; }
  .price-table table tr td:nth-of-type(2):not([colspan])::before{ content:"Срок: "; font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ks-muted); }
  .price-table table tr:has(> td[colspan]){ display:block; padding:11px 16px; background:rgba(219,180,114,.16); border-top:1px solid rgba(219,180,114,.35); border-bottom:1px solid rgba(219,180,114,.35); }
  .price-table table tr td[colspan="3"]{ width:auto !important; margin:0; padding:0 !important; background:none !important; border:0 !important; white-space:normal; line-height:1.4; }
  .price-table table tbody tr:nth-child(even) td:not([colspan]){ background:none; }
}

/* полоса «Позвоните — подскажем» (ks_page_cta): под таблицей цен и карточками категорий */
.ks-cta-strip-wrap{ margin-top:clamp(28px,3.5vw,44px); margin-bottom:clamp(40px,5vw,64px); }
.ks-cta-strip{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  padding:clamp(24px,3vw,36px) clamp(24px,3.4vw,44px);
  border-radius:var(--ks-radius);
  background-color:var(--ks-ink);
  background-image:
    radial-gradient(70% 120% at 100% 0%, rgba(219,180,114,.22), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:auto, 64px 64px, 64px 64px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
  color:rgba(255,255,255,.72);
}
.ks-cta-strip__text{ flex:1 1 320px; min-width:0; }
.ks-cta-strip__title{
  font-family:"IBM Plex Sans",sans-serif; font-size:clamp(21px,2vw,27px); font-weight:600; line-height:1.18; letter-spacing:-.018em;
  color:#fff !important; margin:0 0 6px !important;
}
.ks-cta-strip__note{ font-size:14.5px; line-height:1.5; margin:0 !important; color:rgba(255,255,255,.72) !important; }
.ks-cta-strip__actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.ks-cta-strip__phone{
  font-family:"IBM Plex Mono",monospace; font-size:18px; font-weight:600; letter-spacing:0; white-space:nowrap;
  color:#fff !important;
  text-decoration:underline; text-decoration-color:rgba(219,180,114,.5); text-underline-offset:5px;
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.ks-cta-strip__phone:hover{ color:var(--ks-gold) !important; text-decoration-color:var(--ks-gold); }
.ks-cta-strip .ks-btn{ margin:0; }
@media (max-width:767px){
  .ks-cta-strip{ padding:22px 18px; }
  .ks-cta-strip__actions{ width:100%; }
  .ks-cta-strip .ks-btn{ width:100%; }
}

/* ==========================================================================
   Проход 26 — «Контакты» (15.09.2026): панель контактов — графитовая карточка
   с золотым бликом (вместо сплошной золотой заливки с белыми иконками, Д-37),
   иконки в кольцах, подписи-«шифры», реквизиты моно с переносом (номер счёта
   вылезал за край), форма — кнопка как в шапке, заголовки и колонки вровень.
   ========================================================================== */

/* левая колонка WPBakery (thsn-bg-color-globalcolor = золото) → тёмная карточка */
.page-id-14224 .vc_column_container.thsn-bg-color-globalcolor{
  position:relative; overflow:hidden;
  align-self:flex-start;                                  /* не тянуться на высоту правой колонки с картой (Д-34) */
  background-color:var(--ks-ink) !important;
  background-image:
    radial-gradient(80% 110% at 100% 0%, rgba(219,180,114,.22), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size:auto, 56px 56px, 56px 56px !important;
  border-radius:var(--ks-radius);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
}
.page-id-14224 .vc_column_container.thsn-bg-color-globalcolor > .vc_column-inner{ padding:clamp(28px,3.4vw,40px) clamp(24px,3vw,36px) clamp(24px,3vw,34px) !important; }
.page-id-14224 .thsn-bg-color-globalcolor .vc_column-inner::before{ display:none !important; }   /* тема кладёт золото ещё и слоем ::before поверх фона колонки — и у вложенных колонок пунктов тоже */
.page-id-14224 .thsn-bg-color-globalcolor h2.vc_custom_heading{
  color:#fff !important; font-size:clamp(22px,2.2vw,27px) !important; line-height:1.18 !important; letter-spacing:-.018em;
  margin:0 0 22px !important; padding:0 !important;
}
.page-id-14224 .thsn-bg-color-globalcolor .thsn-ihbox-heading h2::after,
.page-id-14224 .thsn-bg-color-globalcolor .thsn-ihbox-heading h2::before{ display:none !important; }   /* волнистый разделитель темы */

/* пункт: иконка в кольце | подпись-шифр + значение */
.page-id-14224 .contact-info-item{
  display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 16px; align-items:start;
  margin:0 0 18px !important; padding:18px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.10);
}
.page-id-14224 .contact-info-item:not(.contact-info-item ~ .contact-info-item){ border-top:0; padding-top:0 !important; }   /* первый пункт (перед ним стоит div заголовка — :first-of-type не подходит) */
.page-id-14224 .contact-info-item > .wpb_column{ width:auto !important; float:none !important; padding:0 !important; min-height:0; }
.page-id-14224 .contact-info-item .vc_column-inner{ padding:0 !important; }
.page-id-14224 .contact-info-item .vc_icon_element{ margin:0 !important; }
.page-id-14224 .contact-info-item .vc_icon_element-inner{
  display:flex !important; align-items:center; justify-content:center;
  width:44px !important; height:44px !important;
  border-radius:50%; border:1px solid rgba(219,180,114,.45);
  background:rgba(219,180,114,.10) !important;
}
.page-id-14224 .contact-info-item .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner.vc_icon_element-size-md .vc_icon_element-icon{   /* специфичность как у старого style.css (40px !important) */
  font-size:20px !important; line-height:1 !important; color:var(--ks-gold) !important;
}
/* «Проход 9» красил текст на золотых колонках в графит — карточка теперь тёмная, текст обратно светлый */
.page-id-14224 .wpb_column.thsn-bg-color-globalcolor,
.page-id-14224 .wpb_column.thsn-bg-color-globalcolor p,
.page-id-14224 .wpb_column.thsn-bg-color-globalcolor span:not([class*="icon"]){ color:rgba(255,255,255,.86) !important; }
/* первый пункт — название компании: обычным начертанием, не «шифром» */
.page-id-14224 .contact-info-item:not(.contact-info-item ~ .contact-info-item) .wpb_text_column .title{
  font-family:"IBM Plex Sans",sans-serif; font-size:16.5px !important; font-weight:600; letter-spacing:-.01em; text-transform:none; color:#fff !important; margin:2px 0 4px !important;
}
.page-id-14224 .contact-info-item .wpb_text_column{ margin:0 !important; }
.page-id-14224 .contact-info-item .wpb_text_column .title{
  font-family:"IBM Plex Mono",monospace; font-size:11px !important; font-weight:600; letter-spacing:.13em; text-transform:uppercase; line-height:1.4 !important;
  color:var(--ks-gold) !important; margin:4px 0 6px !important;
}
.page-id-14224 .contact-info-item .wpb_text_column p,
.page-id-14224 .contact-info-item .wpb_text_column div:not(.title):not(.wpb_wrapper){
  font-size:15.5px; line-height:1.5; color:rgba(255,255,255,.86) !important; margin:0 !important;
  overflow-wrap:anywhere;                                /* номер счёта не влезал в колонку */
}
.page-id-14224 .contact-info-item .wpb_text_column p a{
  color:#fff !important; text-decoration:underline; text-decoration-color:rgba(219,180,114,.5); text-underline-offset:4px;
  transition:color var(--ks-fast), text-decoration-color var(--ks-fast);
}
.page-id-14224 .contact-info-item .wpb_text_column p a:hover{ color:var(--ks-gold) !important; text-decoration-color:var(--ks-gold); }
.page-id-14224 .contact-info-item .wpb_text_column p a[href^="tel:"]{ font-family:"IBM Plex Mono",monospace; font-size:17px; font-weight:600; letter-spacing:0; }
/* банковские реквизиты — моно, компактнее */
.page-id-14224 .contact-info-item:last-of-type .wpb_text_column p{ font-family:"IBM Plex Mono",monospace; font-size:13px; line-height:1.55; color:rgba(255,255,255,.74) !important; }

/* правая колонка: заголовок вровень с карточкой, форма и карта */
.page-id-14224 .vc_col-sm-7 > .vc_column-inner{ padding:clamp(28px,3.4vw,40px) 0 0 clamp(24px,4vw,56px) !important; }
.page-id-14224 .vc_col-sm-7 h2.vc_custom_heading{ font-size:clamp(24px,2.4vw,30px) !important; line-height:1.18 !important; letter-spacing:-.018em; margin:0 0 22px !important; }
.page-id-14224 .vc_col-sm-7 .wpcf7 input[type=submit]{
  min-height:50px; padding:0 26px !important;
  font-size:14px !important; font-weight:650 !important; letter-spacing:.01em !important; text-transform:none !important;
  color:var(--ks-ink) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 20px rgba(156,116,52,.22) !important;
  transition:background-position .32s var(--ks-ease), box-shadow .22s ease, transform .22s var(--ks-ease) !important;
}
.page-id-14224 .vc_col-sm-7 .wpcf7 input[type=submit]:hover{ background-position:100% 50% !important; transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 14px 30px rgba(156,116,52,.30) !important; }

@media (max-width:991px){
  .page-id-14224 .vc_col-sm-7 > .vc_column-inner{ padding:clamp(28px,4vw,40px) 0 0 !important; }
}
@media (max-width:767px){
  .page-id-14224 .contact-info-item{ text-align:left; }
  .page-id-14224 .contact-info-item .vc_icon_element{ margin:0 !important; }
  .page-id-14224 .contact-info-item .vc_icon_element-icon{ font-size:20px !important; }
  .page-id-14224 .vc_column_container.thsn-bg-color-globalcolor{ margin:0 0 8px; }
  /* WPBakery растягивает ряд на всю ширину и ставит справа 15 px при 30 слева — карточка упиралась в край */
  .page-id-14224 .vc_row[data-vc-full-width]{ padding-right:30px !important; }
}

/* ==========================================================================
   Проход 27 — статья новости (15.09.2026): отступы карточки, воздух до отзывов,
   переход к другим новостям (Д-46) — «Все новости» + предыдущая/следующая.
   ========================================================================== */
body.single-post .site-main > article{
  padding:clamp(22px,2.8vw,34px) 0 clamp(26px,3vw,38px);
  margin-bottom:clamp(20px,2.5vw,32px);
}
body.single-post .site-main > article .thsn-blog-meta-top{ margin-top:0 !important; }
body.single-post .site-main > article .thsn-entry-content > :last-child{ margin-bottom:0 !important; }
body.single-post .site-main > article:hover{ transform:none; box-shadow:var(--ks-shadow-s); border-color:rgba(20,22,26,.14); }   /* статья — не карточка ленты, без подъёма */
body.single-post .site-main > article:hover::after{ height:0; }

.ks-post-nav{
  max-width:calc(74ch + 2 * 48px); margin:0 auto clamp(40px,5vw,64px);
  display:flex; flex-direction:column; gap:16px;
}
.ks-post-nav__all{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ks-gold-ink) !important;
  transition:color var(--ks-fast), gap var(--ks-fast);
}
.ks-post-nav__all:hover{ color:var(--ks-ink) !important; gap:12px; }
.ks-post-nav__adjacent{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(280px,100%),1fr)); gap:14px; }
.ks-post-nav__item{
  display:flex; flex-direction:column; gap:6px;
  padding:16px 18px;
  background:var(--ks-paper); border:1px solid rgba(20,22,26,.14); border-radius:var(--ks-radius);
  box-shadow:var(--ks-shadow-s);
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.ks-post-nav__item--next{ text-align:right; align-items:flex-end; }
.ks-post-nav__item--prev:only-child{ grid-column:1; }
.ks-post-nav__item:hover{ transform:translateY(-3px); box-shadow:var(--ks-shadow-m); border-color:rgba(219,180,114,.45); }
.ks-post-nav__label{
  font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ks-gold-ink-2);
}
.ks-post-nav__item--prev .ks-post-nav__label::before{ content:"← "; }
.ks-post-nav__item--next .ks-post-nav__label::after{ content:" →"; }
.ks-post-nav__title{ font-size:15.5px; line-height:1.35; font-weight:600; color:var(--ks-ink); letter-spacing:-.01em; }
.ks-post-nav__item:hover .ks-post-nav__title{ color:var(--ks-gold-ink-2); }

/* ==========================================================================
   Проход 28 — поиск, «не найдено», «Спасибо» (15.09.2026)
   ========================================================================== */

/* --- результаты поиска: карточки в языке ленты новостей, «Подробнее →» как везде --- */
.search-results .thsn-search-results{
  align-items:flex-start;
  margin-bottom:var(--ks-sp-gap) !important; padding:24px 26px 22px !important;
  background:var(--ks-paper); border:1px solid rgba(20,22,26,.14); border-radius:var(--ks-radius);
  box-shadow:var(--ks-shadow-s) !important;
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.search-results .thsn-search-results:hover{ transform:translateY(-3px); box-shadow:var(--ks-shadow-m) !important; border-color:rgba(219,180,114,.45); }
.search-results .thsn-search-results-right .thsn-post-title{ font-size:19px !important; line-height:1.28 !important; margin:0 0 10px !important; }
.search-results .thsn-search-results-right .thsn-entry-content{ font-size:15.5px; line-height:1.6; color:var(--ks-muted); }
.search-results .thsn-search-results-right .thsn-read-more-link{ margin-top:12px; }
.search-results .thsn-search-results-right .thsn-read-more-link a{
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ks-gold-ink) !important; display:inline-flex; align-items:center; gap:8px; padding:0 !important;
}
.search-results .thsn-search-results-right .thsn-read-more-link a::before{ display:none !important; }   /* подчёркивание темы */
.search-results .thsn-search-results-right .thsn-read-more-link a::after{
  content:"→" !important; position:static !important; width:auto !important; height:auto !important; background:none !important;
  transition:transform var(--ks-fast);
}
.search-results .thsn-search-results-right .thsn-read-more-link a:hover::after{ transform:translateX(4px); }
.search-results .thsn-top-search-form, .search-no-results .thsn-top-search-form{ margin-bottom:clamp(24px,3vw,36px); }
.search #content{ padding-top:clamp(44px,5vw,64px) !important; }
.search-results .thsn-top-search-form .search-field,
.error-404 .search-field{
  border:1px solid rgba(20,22,26,.16) !important; border-radius:var(--ks-radius-sm) 0 0 var(--ks-radius-sm) !important;
  font-size:15.5px !important; box-shadow:none !important;
}
.search-results .thsn-top-search-form .search-field:focus,
.error-404 .search-field:focus{ border-color:var(--ks-gold) !important; box-shadow:0 0 0 3px rgba(219,180,114,.22) !important; }
.search-results .thsn-top-search-form .search-submit,
.error-404 .search-submit{ border-radius:0 var(--ks-radius-sm) var(--ks-radius-sm) 0 !important; background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important; color:var(--ks-ink) !important; }

/* --- «не найдено» (Д-52…Д-55): одна композиция в карточке, ссылки на разделы, кнопка как в шапке --- */
.error404 #content{ padding-top:clamp(28px,4vw,48px) !important; }
.ks-404{ padding:0 0 clamp(48px,6vw,80px) !important; }
.ks-404__box{
  position:relative; overflow:hidden;
  max-width:760px; margin:0 auto !important;
  padding:clamp(36px,5vw,64px) clamp(22px,4vw,56px) clamp(32px,4vw,52px);
  border-radius:var(--ks-radius);
  background-color:var(--ks-ink);
  background-image:
    radial-gradient(70% 120% at 100% 0%, rgba(219,180,114,.22), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:auto, 64px 64px, 64px 64px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
  color:rgba(255,255,255,.74);
}
.ks-404__code{
  font-family:"IBM Plex Mono",monospace !important; font-size:clamp(64px,10vw,120px) !important; line-height:1 !important; font-weight:600 !important;
  letter-spacing:-.04em; color:var(--ks-gold) !important; margin:0 0 10px !important;
}
.ks-404__title{ font-family:"IBM Plex Sans",sans-serif; font-size:clamp(22px,2.4vw,30px) !important; line-height:1.18 !important; font-weight:600; letter-spacing:-.018em; color:#fff !important; margin:0 0 12px !important; }
.ks-404__text{ font-size:15.5px; line-height:1.55; max-width:48ch; margin:0 auto 24px !important; color:rgba(255,255,255,.74) !important; }
.ks-404 .search-form{ margin:0 auto 22px !important; max-width:440px; display:flex; }
.ks-404 .search-form label{ flex:1 1 auto; margin:0; }
.ks-404 .search-field{ width:100%; background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.2) !important; color:#fff !important; }
.ks-404 .search-field::placeholder{ color:rgba(255,255,255,.6) !important; opacity:1; }
.ks-404__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 10px; margin:0 0 26px; }
.ks-404__links a{
  display:inline-flex; align-items:center; min-height:36px; padding:0 14px;
  border:1px solid rgba(255,255,255,.18); border-radius:999px;
  font-size:13.5px; font-weight:500; color:rgba(255,255,255,.86) !important;
  transition:background var(--ks-fast), border-color var(--ks-fast), color var(--ks-fast);
}
.ks-404__links a:hover{ background:rgba(219,180,114,.14); border-color:rgba(219,180,114,.55); color:#fff !important; }
.ks-404 .ks-btn.ks-404__home{ margin:0; }

/* --- «Спасибо» (страница после отправки формы, WPBakery с встроенными стилями) --- */
.page-id-14611 #content{ padding-top:clamp(28px,4vw,48px) !important; }
.page-id-14611 .wpb-content-wrapper{
  position:relative; overflow:hidden;
  max-width:760px; margin:0 auto clamp(40px,5vw,64px);
  padding:clamp(36px,5vw,64px) clamp(22px,4vw,56px) clamp(32px,4vw,52px);
  border-radius:var(--ks-radius);
  background-color:var(--ks-ink);
  background-image:
    radial-gradient(70% 120% at 100% 0%, rgba(219,180,114,.22), transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:auto, 64px 64px, 64px 64px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px rgba(20,22,26,.16);
  text-align:center;
}
.page-id-14611 .wpb-content-wrapper > .vc_row.wpb_row:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){ padding:0 !important; margin:0 !important; }   /* специфичность как у секционного ритма */
.page-id-14611 .wpb_text_column.vc_custom_1744712908773{ padding:0 !important; }
.page-id-14611 .wpb-content-wrapper > .vc_row.wpb_row:not(.vc_inner) + .vc_row.wpb_row:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){ padding-top:16px !important; }   /* зазор заголовок → текст (нижний отступ h1 гасит правило ритма) */
.page-id-14611 .wpb-content-wrapper .vc_column-inner{ padding:0 !important; }
.page-id-14611 h1.vc_custom_heading{
  font-family:"IBM Plex Sans",sans-serif !important; font-size:clamp(34px,4vw,48px) !important; line-height:1.1 !important; font-weight:600 !important;
  letter-spacing:-.02em; color:#fff !important; margin:0 0 14px !important;
}
.page-id-14611 h1.vc_custom_heading::before{   /* «шифр» над заголовком, как у полос заявки */
  content:"Заявка отправлена"; display:block;
  font-family:"IBM Plex Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.115em; text-transform:uppercase;
  color:var(--ks-gold); margin-bottom:14px;
}
.page-id-14611 .wpb_text_column{ margin:0 0 24px !important; }
.page-id-14611 .wpb_text_column p{ font-size:16.5px; line-height:1.55; max-width:52ch; margin:0 auto !important; color:rgba(255,255,255,.78) !important; }
.page-id-14611 .vc_btn3-container{ margin:0 !important; }
.page-id-14611 .vc_btn3-container .vc_btn3{
  display:inline-flex !important; align-items:center; gap:14px; min-height:48px; padding:0 18px !important;
  font-family:"IBM Plex Sans",sans-serif !important; font-size:13px !important; font-weight:650 !important; letter-spacing:.01em !important; text-transform:none !important;
  color:var(--ks-ink) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 20px rgba(0,0,0,.25) !important;
  transition:background-position .32s var(--ks-ease), box-shadow .22s ease, transform .22s var(--ks-ease) !important;
}
.page-id-14611 .vc_btn3-container .vc_btn3::after{ content:"↗"; font-size:15px; line-height:1; transition:transform .22s var(--ks-ease); }
.page-id-14611 .vc_btn3-container .vc_btn3:hover{ background-position:100% 50% !important; transform:translateY(-2px); }
.page-id-14611 .vc_btn3-container .vc_btn3:hover::after{ transform:translate(3px,-3px); }

/* ==========================================================================
   Проход 29 — виджет отзывов Google (на всех страницах; Д-8, Д-12, Д-35, Д-44)
   Плагин Widget Google Reviews 7.1 рисует всё через свои CSS-переменные —
   задаём их на .wp-gr: золото вместо оранжевого, карточки как у ленты,
   кнопки-стрелки как у карточек услуг; над блоком — шифр «Отзывы · Google»
   (CSS ::before, заголовков в HTML не добавляем).
   ========================================================================== */
.wp-gr.rpi{
  --color:var(--ks-gold-ink) !important;              /* звёзды, активная точка */
  --rev-color:var(--ks-paper) !important;             /* фон карточки отзыва */
  --name-color:var(--ks-ink) !important;
  --head-name-color:var(--ks-ink) !important;
  --head-based-color:var(--ks-muted) !important;
  --btn-color:var(--ks-ink) !important;               /* «оставить отзыв» */
  --slider-btn-bg:var(--ks-paper) !important; --slider-btn-color:var(--ks-ink) !important; --slider-btn-bc:rgba(20,22,26,.16) !important;
  --slider-btn-size:14px !important; --slider-btn-padding:12px !important;
  --slider-dot-size:7px !important; --slider-dot-gap:8px !important;
  --font-family:"IBM Plex Sans",sans-serif !important;
  position:relative !important;
  padding:clamp(8px,1.5vw,20px) 0 clamp(40px,5vw,64px) !important;
  margin-top:clamp(28px,3.5vw,44px) !important;
  border-top:1px solid var(--ks-line);
}
.wp-gr.rpi::before{
  content:"Отзывы · Google";
  display:block;
  padding-top:clamp(24px,3vw,36px);
  font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ks-gold-ink-2);
}
.home .wp-gr.rpi{ margin-top:0 !important; }   /* на главной блок стоит после секции со своим ритмом */

/* Проход 45: компактный анонс аренды на главной после основной сетки услуг. */
.home .wpb-content-wrapper > .vc_row.wpb_row.ks-home-rental:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){
  padding:0 0 8px !important;
  background:var(--ks-paper);
}
.home .ks-home-rental > br{ display:none !important; }
.home #our-services{ padding-bottom:clamp(24px,3vw,36px) !important; }
.home .wpb-content-wrapper > .vc_row.wpb_row.vc_custom_1571051608169:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){
  margin-top:-42px !important; padding-top:16px !important;
}
.home .ks-home-rental .wpb_text_column{ margin:0 !important; }
.home .ks-home-rental__panel{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  border:1px solid rgba(20,22,26,.14); border-radius:var(--ks-radius);
  background:
    radial-gradient(65% 120% at 100% 0%,rgba(219,180,114,.22),transparent 64%),
    var(--ks-paper);
  box-shadow:var(--ks-shadow-s);
}
.home .ks-home-rental__panel::before{
  content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--ks-gold);
}
.home .ks-home-rental__intro{ padding:clamp(22px,2.8vw,34px); }
.home .ks-home-rental__kicker{
  display:block; margin:0 0 8px;
  font-family:"IBM Plex Mono",monospace; font-size:14px; font-weight:650;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ks-gold-ink-2);
}
.home .ks-home-rental__intro h2{
  max-width:19ch; margin:0 0 10px !important;
  font-family:"IBM Plex Sans",sans-serif !important; font-size:clamp(27px,2.7vw,36px) !important;
  line-height:1.08 !important; letter-spacing:-.025em; color:var(--ks-ink) !important;
}
.home .ks-home-rental__intro p{
  max-width:61ch; margin:0 0 16px !important; font-size:15.5px; line-height:1.5; color:var(--ks-muted);
}
.home .ks-home-rental__btn{ margin:0; min-height:44px; padding:10px 18px; }
.home .ks-home-rental__summary{
  display:flex; flex-direction:column; justify-content:center; gap:10px;
  padding:clamp(22px,2.8vw,34px); border-left:1px solid rgba(20,22,26,.12);
  background:rgba(255,255,255,.42);
}
.home .ks-home-rental__price{ display:flex; flex-direction:column; gap:2px; }
.home .ks-home-rental__price strong{
  font-family:"IBM Plex Sans",sans-serif; font-size:clamp(27px,2.7vw,36px); line-height:1; letter-spacing:-.025em; color:var(--ks-ink);
}
.home .ks-home-rental__price strong .ks-byn{
  font-family:inherit; font-size:1em; font-weight:inherit; line-height:inherit;
  letter-spacing:0; text-transform:none; color:inherit;
}
.home .ks-home-rental__price span{
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ks-muted);
}
.home .ks-home-rental__summary p{ margin:0 !important; font-size:15px; line-height:1.5; color:var(--ks-text); }
.home .ks-home-rental__summary > a{
  align-self:flex-start; color:var(--ks-brown); font-weight:600; text-decoration:underline; text-decoration-color:rgba(106,84,47,.35); text-underline-offset:4px;
}
.home .ks-home-rental__summary > a:hover{ color:var(--ks-ink); text-decoration-color:var(--ks-gold); }
@media (max-width:767px){
  .home #our-services{ padding-bottom:22px !important; }
  .home .wpb-content-wrapper > .vc_row.wpb_row.ks-home-rental:not(.vc_inner):not(.consultation-wrap):not(.consultation-wraper){ padding:0 0 8px !important; }
  .home .ks-home-rental__panel{ grid-template-columns:1fr; }
  .home .ks-home-rental__intro{ padding:22px 20px 20px; }
  .home .ks-home-rental__intro h2{ max-width:none; font-size:28px !important; }
  .home .ks-home-rental__summary{ padding:20px; border-left:0; border-top:1px solid rgba(20,22,26,.12); }
  .home .ks-home-rental__price strong{ font-size:28px; }
}

/* ==========================================================================
   Проход 46 — каталог по направлениям, контекстное меню и заявка на аренду.
   ========================================================================== */

/* Проход 49: аренда собрана в одну страницу для прохождения оценки соответствия. */
.ks-rental-content-area{ width:100% !important; max-width:none !important; flex:0 0 100% !important; }
.ks-rental-landing{ display:flex; flex-direction:column; gap:clamp(48px,6vw,76px); }
.ks-rental-kicker{
  display:block; margin:0 0 12px;
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; font-weight:650;
  letter-spacing:.12em; line-height:1.4; text-transform:uppercase; color:var(--ks-gold-ink-2);
}
.ks-rental-lead{
  position:relative; overflow:hidden; display:block;
  border-radius:var(--ks-radius); background:
    radial-gradient(85% 140% at 100% 0%,rgba(219,180,114,.24),transparent 62%),
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),#15171B;
  background-size:auto,64px 64px,64px 64px; color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 22px 54px rgba(20,22,26,.15);
}
.ks-rental-lead::before{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--ks-gold); }
.ks-rental-lead__copy{ position:relative; z-index:1; max-width:980px; padding:clamp(36px,5vw,64px); }
.ks-rental-lead .ks-rental-kicker{ color:var(--ks-gold); }
.ks-rental-lead h2{
  max-width:20ch; margin:0 0 18px !important; color:#fff !important;
  font-size:clamp(32px,4.5vw,54px) !important; line-height:1.03 !important; letter-spacing:-.035em;
}
.ks-rental-lead__copy > p{ max-width:68ch; margin:0 0 24px !important; color:rgba(255,255,255,.76); font-size:17px; line-height:1.58; }

.ks-rental-purpose{ display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr); gap:clamp(36px,7vw,96px); align-items:start; }
.ks-rental-purpose h2,.ks-rental-section-head h2,.ks-rental-steps h2{
  margin:0 !important; color:var(--ks-ink) !important; font-size:clamp(28px,3.6vw,42px) !important; line-height:1.08 !important; letter-spacing:-.028em;
}
.ks-rental-purpose__text > p{ margin:0 0 16px !important; font-size:17px; line-height:1.65; color:var(--ks-text); }
.ks-rental-purpose__note{
  margin-top:24px !important; padding:18px 20px; border-left:3px solid var(--ks-gold);
  border-radius:0 var(--ks-radius-sm) var(--ks-radius-sm) 0; background:var(--ks-gold-soft); color:var(--ks-ink) !important;
  font-size:15px !important; line-height:1.55 !important;
}

.ks-rental-inventory{ scroll-margin-top:110px; }
.ks-rental-section-head{ display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.ks-rental-section-head > p{ max-width:48ch; margin:0 !important; color:var(--ks-muted); font-size:15px; line-height:1.55; }
.ks-rental-inventory__list{ border:1px solid var(--ks-line); border-radius:var(--ks-radius); background:var(--ks-paper); overflow:hidden; box-shadow:var(--ks-shadow-s); }
.ks-rental-item{
  display:grid; grid-template-columns:52px minmax(0,1fr) minmax(190px,.3fr); gap:24px; align-items:center;
  padding:24px 28px; border-bottom:1px solid var(--ks-line-soft); transition:background var(--ks-fast);
}
.ks-rental-item:last-child{ border-bottom:0; }
.ks-rental-item:hover{ background:rgba(219,180,114,.075); }
.ks-rental-item__number{ font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--ks-gold-ink-2); }
.ks-rental-item h3{ margin:0 0 5px !important; color:var(--ks-ink) !important; font-size:19px !important; line-height:1.3 !important; }
.ks-rental-item p{ margin:0 !important; color:var(--ks-muted); font-size:14.5px; line-height:1.5; }
.ks-rental-item__price{ display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.ks-rental-item__price strong{ color:var(--ks-ink); font-size:22px; line-height:1.15; white-space:nowrap; }
.ks-rental-item__price > span:not(.screen-reader-text){ margin-top:4px; font-family:"IBM Plex Mono",monospace; font-size:10.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ks-muted); }
.ks-rental-item--request{ background:var(--ks-paper-2); }
.ks-rental-item--request .ks-rental-item__price strong{ font-size:17px; }
.ks-rental-steps{ display:grid; grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr); gap:clamp(36px,7vw,88px); align-items:start; }
.ks-rental-steps ol{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 !important; padding:0 !important; list-style:none; }
.ks-rental-steps li{ min-height:210px; padding:22px; border:1px solid var(--ks-line); border-radius:var(--ks-radius-sm); background:var(--ks-paper); }
.ks-rental-steps li > span{ display:block; margin-bottom:30px; font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:600; color:var(--ks-gold-ink-2); }
.ks-rental-steps li > strong{ display:block; margin-bottom:9px; color:var(--ks-ink); font-size:16px; line-height:1.35; }
.ks-rental-steps li > p{ margin:0 !important; color:var(--ks-muted); font-size:14px; line-height:1.55; }
.ks-rental-landing > .ks-rental-request-form{ margin-top:calc(-1 * clamp(16px,2vw,28px)); }

.ks-rental-directory-card{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"eye arrow" "title arrow" "items arrow" "price arrow";
  gap:8px 24px; padding:28px 30px; border:1px solid var(--ks-line); border-radius:var(--ks-radius); background:var(--ks-paper);
  box-shadow:var(--ks-shadow-s); color:var(--ks-ink) !important; transition:border-color var(--ks-fast),transform var(--ks-fast),box-shadow var(--ks-fast);
}
.ks-rental-directory-card:hover{ transform:translateY(-2px); border-color:rgba(219,180,114,.7); box-shadow:var(--ks-shadow-m); }
.ks-rental-directory-card__eyebrow{ grid-area:eye; font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ks-gold-ink-2); }
.ks-rental-directory-card > strong{ grid-area:title; font-size:24px; line-height:1.25; }
.ks-rental-directory-card__items{ grid-area:items; color:var(--ks-muted); font-size:14.5px; line-height:1.5; }
.ks-rental-directory-card__price{ grid-area:price; margin-top:7px; font-family:"IBM Plex Mono",monospace; font-size:14px; font-weight:600; color:var(--ks-ink); }
.ks-rental-directory-card__arrow{ grid-area:arrow; align-self:center; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--ks-gold-soft); font-size:18px; }

@media (max-width:991px){
  .ks-rental-purpose,.ks-rental-steps{ grid-template-columns:1fr; gap:28px; }
  .ks-rental-item{ grid-template-columns:40px minmax(0,1fr) minmax(160px,.32fr); gap:18px; padding:22px; }
  .ks-rental-steps ol{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px){
  .ks-rental-landing{ gap:48px; }
  .ks-rental-lead__copy{ padding:25px 22px; }
  .ks-rental-lead h2{ font-size:34px !important; }
  .ks-rental-section-head{ display:block; }
  .ks-rental-section-head > p{ margin-top:12px !important; }
  .ks-rental-item{ grid-template-columns:32px minmax(0,1fr); gap:4px 12px; padding:20px 18px; }
  .ks-rental-item__number{ grid-row:1 / span 2; padding-top:4px; }
  .ks-rental-item__price{ grid-column:2; align-items:flex-start; margin-top:14px; text-align:left; }
  .ks-rental-steps ol{ grid-template-columns:1fr; }
  .ks-rental-steps li{ min-height:0; }
  .ks-rental-steps li > span{ margin-bottom:18px; }
  .ks-rental-directory-card{ padding:23px 20px; grid-template-columns:minmax(0,1fr) 42px; }
  .ks-rental-directory-card > strong{ font-size:21px; }
  .ks-rental-directory-card__arrow{ width:42px; height:42px; }
}

/* На странице услуги прежний виджет со всеми 22 позициями заменён меню текущего
   направления. Остальные направления доступны в одном свёрнутом блоке. */
.single-thsn-service .themesion-sidebar .thsn_widget_list_all_posts{ display:none !important; }
.single-thsn-service .themesion-sidebar .ks-context-nav{ margin-top:0 !important; }
.ks-context-nav__kicker{
  display:block; margin:0 4px 8px;
  font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:var(--ks-gold-ink-2);
}
.single-thsn-service .themesion-sidebar .ks-context-nav .widget-title{ padding-top:0 !important; }
.single-thsn-service .themesion-sidebar .ks-context-nav .widget-title::before{ display:none !important; }
.ks-context-nav .widget-title a{ color:var(--ks-ink) !important; }
.ks-context-nav .widget-title a:hover{ color:var(--ks-gold-ink-2) !important; }
.ks-context-nav__services{ margin-bottom:12px !important; }
.ks-context-nav__other{ border-top:1px solid var(--ks-line); padding-top:10px; }
.ks-context-nav__other summary{
  position:relative; cursor:pointer; list-style:none;
  padding:10px 38px 10px 14px; border-radius:10px;
  font-size:14px; line-height:1.4; font-weight:600; color:var(--ks-ink);
  transition:background var(--ks-fast);
}
.ks-context-nav__other summary::-webkit-details-marker{ display:none; }
.ks-context-nav__other summary:hover{ background:rgba(219,180,114,.14); }
.ks-context-nav__other summary span::before,
.ks-context-nav__other summary span::after{
  content:""; position:absolute; right:17px; top:50%; width:11px; height:1.5px;
  border-radius:2px; background:var(--ks-gold-ink-2); transform:translateY(-50%);
}
.ks-context-nav__other summary span::after{ transform:translateY(-50%) rotate(90deg); transition:transform var(--ks-fast); }
.ks-context-nav__other[open] summary span::after{ transform:translateY(-50%) rotate(0); }
.ks-context-nav__other ul{ margin:7px 0 0 !important; padding:0 !important; }

/* Отдельная форма подбора иных средств измерения. */
.ks-rental-request-form{ scroll-margin-top:110px; }
.ks-rental-request-form .wpcf7{ margin:0; }
.ks-rental-form-card{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  border:1px solid rgba(255,255,255,.09); border-radius:var(--ks-radius);
  background:
    radial-gradient(80% 120% at 100% 0%,rgba(219,180,114,.17),transparent 58%),
    #15171B;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 60px rgba(20,22,26,.16);
}
.ks-rental-form-card::before{
  content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--ks-gold);
}
.ks-rental-form-card__intro{
  padding:clamp(28px,3.6vw,48px); border-right:1px solid rgba(255,255,255,.11);
}
.ks-rental-form-card__kicker{
  display:block; margin:0 0 14px; font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ks-gold-ink-2);
}
.ks-rental-form-card__intro h2{
  margin:0 0 14px !important; max-width:15ch; font-size:clamp(26px,2.8vw,38px) !important;
  line-height:1.08 !important; letter-spacing:-.025em; color:#fff !important;
}
.ks-rental-form-card__intro p{ margin:0 0 22px !important; font-size:15.5px; line-height:1.58; color:rgba(255,255,255,.72); }
.ks-rental-form-card__intro ul{ margin:0 !important; padding:0 !important; list-style:none; }
.ks-rental-form-card__intro li{
  position:relative; margin:0 0 9px; padding-left:22px; color:rgba(255,255,255,.88); font-size:14px; line-height:1.45;
}
.ks-rental-form-card__intro li::before{
  content:""; position:absolute; left:0; top:.56em; width:9px; height:5px;
  border-left:1.5px solid var(--ks-gold); border-bottom:1.5px solid var(--ks-gold); transform:rotate(-45deg);
}
.ks-rental-form-card__fields{ padding:clamp(28px,3.6vw,48px); }
.ks-rental-form-card__row,
.ks-rental-form-card__action{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ks-rental-field{ display:block; margin:0 0 16px; }
.ks-rental-field > span:first-child{
  display:block; margin:0 0 7px; color:rgba(255,255,255,.85); font-size:13px; font-weight:550; line-height:1.4;
}
.ks-rental-field b{ color:var(--ks-gold); font-weight:600; }
.ks-rental-form-card .wpcf7-form-control-wrap{ display:block; }
.ks-rental-form-card input[type=text],
.ks-rental-form-card input[type=tel],
.ks-rental-form-card select,
.ks-rental-form-card textarea{
  display:block; width:100% !important; max-width:none !important; margin:0 !important;
  border:1px solid rgba(255,255,255,.18) !important; border-radius:var(--ks-radius-sm) !important;
  background:rgba(255,255,255,.07) !important; color:#fff !important; box-shadow:none !important;
  transition:background var(--ks-fast),border-color var(--ks-fast),box-shadow var(--ks-fast);
}
.ks-rental-form-card input[type=text],.ks-rental-form-card input[type=tel],.ks-rental-form-card select{ min-height:50px; padding:0 15px !important; }
.ks-rental-form-card select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.7) 50%),linear-gradient(135deg,rgba(255,255,255,.7) 50%,transparent 50%) !important; background-position:calc(100% - 19px) 22px,calc(100% - 14px) 22px !important; background-size:5px 5px,5px 5px !important; background-repeat:no-repeat !important; }
.ks-rental-form-card select option{ color:var(--ks-ink); background:#fff; }
.ks-rental-form-card textarea{ min-height:138px; padding:13px 15px !important; resize:vertical; line-height:1.5; }
.ks-rental-form-card input:hover,.ks-rental-form-card select:hover,.ks-rental-form-card textarea:hover{ background-color:rgba(255,255,255,.1) !important; border-color:rgba(255,255,255,.3) !important; }
.ks-rental-form-card input:focus,.ks-rental-form-card select:focus,.ks-rental-form-card textarea:focus{ border-color:var(--ks-gold) !important; box-shadow:0 0 0 3px rgba(219,180,114,.2) !important; }
.ks-rental-form-card input::placeholder,.ks-rental-form-card textarea::placeholder{ color:rgba(255,255,255,.56) !important; }
.ks-rental-form-card__action{ align-items:end; }
.ks-rental-form-card__action .ks-rental-field{ margin-bottom:0; }
.ks-rental-form-card input[type=submit]{
  width:100%; min-height:50px; margin:0 !important; padding:0 22px !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; color:var(--ks-ink) !important;
  font-size:14px !important; font-weight:650 !important; text-transform:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 20px rgba(0,0,0,.25) !important;
  transition:background-position .32s var(--ks-ease),transform .22s var(--ks-ease),box-shadow .22s ease !important;
}
.ks-rental-form-card input[type=submit]:hover{ background-position:100% 50% !important; transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 30px rgba(0,0,0,.32) !important; }
.ks-rental-form-card__note{ margin:10px 0 0 !important; color:rgba(255,255,255,.58); font-size:12.5px; line-height:1.45; }
.ks-rental-form-card .ks-consent{ margin:14px 0 0 !important; color:rgba(255,255,255,.72); background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.16); }
.ks-rental-request-form .wpcf7-response-output{ margin:12px 0 0 !important; padding:10px 14px !important; border-radius:var(--ks-radius-sm); }
.ks-rental-request-form .wpcf7-spinner{ display:none; }

/* Общий каталог: последовательные направления в аккуратном центральном контейнере. */
.page-id-8560 .ks-services-directory{ padding:clamp(34px,4.5vw,58px) 0 clamp(42px,6vw,78px) !important; background:var(--ks-light); }
.ks-service-groups{ width:min(calc(100% - 48px),1320px); margin:0 auto; }
.ks-service-group{ scroll-margin-top:110px; margin:0 0 clamp(54px,7vw,88px); }
.ks-service-group:last-child{ margin-bottom:0; }
.ks-service-group__header{
  margin:0 0 24px; padding:0 0 20px; border-bottom:1px solid var(--ks-line);
}
.ks-service-group__kicker{
  display:block; margin:0 0 9px; font-family:"IBM Plex Mono",monospace;
  font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--ks-gold-ink-2);
}
.ks-service-group__header h2{ margin:0 0 8px !important; font-size:clamp(25px,3vw,36px) !important; line-height:1.12 !important; color:var(--ks-ink) !important; }
.ks-service-group__header p{ margin:0 !important; max-width:68ch; font-size:15.5px; line-height:1.55; color:var(--ks-muted); }
.ks-service-group__grid{ margin-bottom:calc(-1 * var(--ks-sp-gap)); }

@media (max-width:767px){
  .ks-rental-form-card{ grid-template-columns:1fr; }
  .ks-rental-form-card__intro{ padding:26px 22px 22px; border-right:0; border-bottom:1px solid rgba(255,255,255,.11); }
  .ks-rental-form-card__intro h2{ max-width:none; }
  .ks-rental-form-card__fields{ padding:22px; }
  .ks-rental-form-card__row,.ks-rental-form-card__action{ grid-template-columns:1fr; gap:0; }
  .ks-rental-form-card__action .ks-rental-field{ margin-bottom:14px; }
  .ks-service-groups{ width:calc(100% - 32px); }
  .ks-service-group{ margin-bottom:52px; }
}

/* шапка виджета: без синего значка Google Business; имя, оценка, ссылка «оставить отзыв» */
.wp-gr.rpi .grw-header .grw-img-wrap{ display:none !important; }
.wp-gr.rpi .grw-header-inner{ padding:8px 0 0 !important; margin:0 !important; }
.wp-gr.rpi .grw-header .wp-google-name a{ font-family:"IBM Plex Sans",sans-serif; font-size:21px !important; font-weight:600 !important; letter-spacing:-.015em; }
.wp-gr.rpi .grw-header .rpi-stars{ --rpi-star-size:17px; font-family:"IBM Plex Mono",monospace; font-weight:600 !important; color:var(--ks-ink) !important; }
.wp-gr.rpi .wp-google-based{ font-size:13.5px !important; color:var(--ks-muted) !important; }
.wp-gr.rpi .wp-google-powered{ font-size:12px !important; color:var(--ks-muted) !important; }
.wp-gr.rpi .wp-google-wr{ margin-top:12px !important; }
.wp-gr.rpi .wp-google-wr a{
  background:transparent !important; color:var(--ks-ink) !important;
  border:1px solid rgba(20,22,26,.18) !important; border-radius:999px !important;
  padding:8px 14px 8px 16px !important; font-size:13.5px !important; font-weight:500;
  display:inline-flex !important; align-items:center; gap:8px;
  transition:background var(--ks-fast), border-color var(--ks-fast) !important;
}
.wp-gr.rpi .wp-google-wr a:hover{ background:rgba(219,180,114,.14) !important; border-color:rgba(219,180,114,.6) !important; box-shadow:none !important; }
.wp-gr.rpi .wp-google-wr a svg{ margin:0 !important; background:transparent !important; }

/* карточки отзывов: как карточки ленты — рамка, скругление, тень; имя графитом, дата моно */
.wp-gr.rpi .grw-review-inner{
  border:1px solid rgba(20,22,26,.14) !important; border-radius:var(--ks-radius) !important;
  box-shadow:var(--ks-shadow-s) !important;
  padding:20px 20px 18px !important;
  transition:transform var(--ks-slow), box-shadow var(--ks-slow), border-color var(--ks-slow);
}
.wp-gr.rpi .grw-review-inner:hover{ transform:translateY(-3px); box-shadow:var(--ks-shadow-m) !important; border-color:rgba(219,180,114,.45) !important; }
.wp-gr.rpi a.wp-google-name{ font-size:16px !important; font-weight:600 !important; color:var(--ks-ink) !important; }
.wp-gr.rpi .wp-google-time{ font-family:"IBM Plex Mono",monospace; font-size:11.5px !important; letter-spacing:.06em; text-transform:uppercase; color:var(--ks-muted) !important; }
.wp-gr.rpi .grw-review .rpi-stars{ --rpi-star-size:15px; }
.wp-gr.rpi .wp-google-text{ font-size:15px !important; line-height:1.55 !important; color:var(--ks-text) !important; }
.wp-gr.rpi .grw-review-inner > svg{ opacity:.85; }
.wp-gr.rpi .grw-img{ border-radius:50%; }

/* стрелки слайдера — кольца, как у карточек услуг; точки — золото */
.wp-gr.rpi .rpi-ltgt{ box-shadow:none !important; transition:background var(--ks-fast), border-color var(--ks-fast) !important; }
.wp-gr.rpi .rpi-ltgt:hover{ background:var(--ks-gold) !important; border-color:var(--ks-gold) !important; }
.wp-gr.rpi .rpi-dots .rpi-dot{ background-color:rgba(20,22,26,.35) !important; }

/* ==========================================================================
   Проход 30 — знак белорусского рубля (15.09.2026)
   С 04.02.2026 у рубля официальный графический знак (пост. Правления Нацбанка
   от 27.01.2026 № 25) — стилизованная «Б» с чертой внутри; заменяет буквенный код
   BYN везде, где его подписывает сам сайт (мы сами добавили BYN в трёх местах —
   в тексте владельца кода валюты нет, см. АНАЛИЗ §15, «Проход 30»). Юникода U+20C5
   для знака ещё нет ни в одном подключённом шрифте (провизорный код) — печатали бы
   пустой квадрат почти всем посетителям, поэтому знак — свой SVG (эталон
   nbrb.by/coinsbanknotes/byn-ico, geometry не менялась, assets/img/byn.svg),
   встроен CSS-маской, красится под цвет окружающего текста (currentColor).
   Микроразметка Schema.org (priceCurrency) не трогается — там нужен код BYN. */
.ks-byn{
  display:inline-block;
  width:.72em; height:.89em;
  margin-left:.26em;
  background-color:currentColor;
  -webkit-mask-image:url('img/byn.svg'); mask-image:url('img/byn.svg');
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-position:center; mask-position:center;
  vertical-align:-0.08em;
}
.price-table table tbody td:last-of-type:not([colspan]):not(:empty)::after{
  content:"";
  display:inline-block;
  width:.72em; height:.89em;
  margin-left:.28em;
  background-color:var(--ks-muted);
  -webkit-mask-image:url('img/byn.svg'); mask-image:url('img/byn.svg');
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-position:center; mask-position:center;
  vertical-align:-0.08em;
}
.price-table table tbody tr.ks-price-request td:last-of-type::after{ display:none; }

/* ==========================================================================
   Проход 31 — замечания владельца 15.09 (день): подсветка карточек при наведении,
   кнопки-стрелки светлым золотом с градиентом, единые подписи полей форм.
   ========================================================================== */

/* --- 1. Карточки: при наведении фон чуть теплеет (владелец: «немного подсвечивался по логике») ---
   Один и тот же тёплый градиент бумага → светлое золото на всех семействах карточек:
   услуги в архиве и категориях, карточки на главной, новости, результаты поиска,
   соседние новости под статьёй, карточки отзывов. */
:root{
  --ks-card-hover-bg: linear-gradient(160deg, #FFFFFF 0%, #FBF5E8 100%);
  --ks-grad-gold-light: linear-gradient(135deg, #F3E5C6 0%, #E7CD98 50%, #D9B36F 100%);
}
.thsn-element-posts-wrapper article.themesion-ele:hover,
.c-service-item:hover,
.thsn-post-item:hover, .thsn-blog-item:hover, article.post:hover,
.ks-post-nav__item:hover,
.search-results .thsn-search-results:hover{
  background:var(--ks-card-hover-bg);
}
body.single-post .site-main > article:hover{ background:var(--ks-paper); }   /* статья — не карточка ленты */
.wp-gr.rpi .grw-review-inner:hover{ --rev-color:#FBF6EC; }                   /* плагин красит через переменную */

/* --- 2. Кнопки-стрелки: светлое золото с градиентом (владелец: «благородный светло-золотой»)
   — везде, где есть круглая кнопка со стрелкой: карточки услуг в архиве и категориях,
   стрелки слайдера отзывов, кнопка «наверх». В шапке и формах кнопка уже золотая. */
.thsn-service-style-3 .thsn-service-btn a,
.thsn-service-style-1 .thsn-service-btn a{
  background:var(--ks-grad-gold-light) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border-color:transparent !important;
  color:var(--ks-ink) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 4px 12px rgba(156,116,52,.16);
  transition:background-position .32s var(--ks-ease), box-shadow var(--ks-fast), transform var(--ks-fast) !important;
}
.thsn-element-posts-wrapper article.themesion-ele:hover .thsn-service-btn a{
  background:var(--ks-grad-gold-light) !important;
  background-size:180% 100% !important; background-position:100% 50% !important;
  border-color:transparent !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 18px rgba(156,116,52,.24);
  transform:translateX(2px) !important;
}
.wp-gr.rpi .rpi-ltgt{
  background:var(--ks-grad-gold-light) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border-color:transparent !important;
  --slider-btn-color:var(--ks-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 4px 12px rgba(156,116,52,.16) !important;
  transition:background-position .32s var(--ks-ease), box-shadow var(--ks-fast) !important;
}
.wp-gr.rpi .rpi-ltgt:hover{
  background:var(--ks-grad-gold-light) !important;
  background-size:180% 100% !important; background-position:100% 50% !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 18px rgba(156,116,52,.24) !important;
}
a.scroll-to-top{
  background:var(--ks-grad-gold-light) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  border-color:transparent !important;
  color:var(--ks-ink) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 24px rgba(156,116,52,.22);
  transition:background-position .32s var(--ks-ease), transform var(--ks-fast), box-shadow var(--ks-fast);
}
a.scroll-to-top:hover{ background-position:100% 50% !important; }

/* --- 3. Подписи полей во всех формах: один вес, размер и цвет (владелец: «разное форматирование,
   размываются»). Было: на «Контактах» подписи rgba(180,180,180,.8) по белому (1,7 : 1) и вес 600
   у текстовых полей при 400 у телефона; в окне заявки 16 px и 600; на тёмных полосах .55–.6. */
.wpcf7 input[type=text], .wpcf7 input[type=tel], .wpcf7 input[type=email], .wpcf7 textarea{
  font-family:"IBM Plex Sans",sans-serif !important; font-size:15.5px !important; font-weight:400 !important;
}
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder{
  color:var(--ks-muted) !important;            /* #6A7180 по белому — 4,6 : 1 */
  opacity:1 !important; font-weight:400 !important; font-size:15.5px !important;
}
.consultation-wrap .wpcf7 input::placeholder, .consultation-wrap .wpcf7 textarea::placeholder,
.consultation-wraper .wpcf7 input::placeholder,
.form-service-wrap input::placeholder{ color:rgba(255,255,255,.72) !important; }
.page-id-14224 .wpcf7 input, .page-id-14224 .wpcf7 textarea{ color:var(--ks-ink) !important; }
.ks-modal .ks-modal__form .wpcf7 input::placeholder{ color:var(--ks-muted) !important; }   /* окно заявки: ks-header.css ставил #8A909B */
/* кнопка формы первого экрана — как остальные кнопки форм: градиент, строчными, на всю ширину (Д-19) */
.consultation-wrap .wpcf7 input[type=submit]{
  display:block; width:100%; min-height:52px; margin:4px 0 0 !important; padding:0 22px !important;
  font-size:14px !important; font-weight:650 !important; letter-spacing:.01em !important; text-transform:none !important;
  color:var(--ks-ink) !important;
  background:linear-gradient(120deg,#E9D2A3 0%,#DBB472 55%,#CFA65E 100%) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  border:0 !important; border-radius:var(--ks-radius-sm) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 20px rgba(0,0,0,.25) !important;
  transition:background-position .32s var(--ks-ease), box-shadow .22s ease, transform .22s var(--ks-ease) !important;
}
.consultation-wrap .wpcf7 input[type=submit]:hover{ background-position:100% 50% !important; transform:translateY(-2px); }
/* ответ формы первого экрана: у .consultation-wrap (без «er» — это форма на самой главной,
   не вторая полоса заявки .consultation-wraper) стиля не было вовсе — падало на дефолт CF7
   (зелёная рамка + тёмный текст плагина), на тёмной панели невидимо */
.consultation-wrap .wpcf7-response-output{
  margin:12px 0 0 !important; padding:10px 14px !important;
  border:1px solid rgba(255,255,255,.2) !important; border-radius:var(--ks-radius-sm);
  color:#fff; font-size:14px;
}

/* ==========================================================================
   Проход 33 (15.09.2026) — аккордеоны «вопрос — ответ» снова работают
   После удаления фильтра custom_replace_tags() (functions.php) в заголовках
   аккордеона вернулась ссылка <a data-vc-accordion>, на которую и рассчитаны
   правила выше (.vc_tta-panel-title > a). Тема при этом даёт самому h4 padding
   16px — с восстановленной ссылкой отступ удваивался (заголовок 96 px вместо 64).
   ========================================================================== */
.vc_tta.vc_general .vc_tta-panel-title{ padding:0 !important; margin:0 !important; }
.vc_tta.vc_general .vc_tta-panel-title > a{
  display:flex !important;
  align-items:center !important;
  gap:14px;
  text-decoration:none !important;
  transition:color var(--ks-fast), background var(--ks-fast);
}
.vc_tta.vc_general .vc_tta-panel-title > a .vc_tta-title-text{ flex:1 1 auto; }
.vc_tta.vc_general .vc_tta-panel-title > a .vc_tta-controls-icon{
  /* «плюс» плагин рисует псевдоэлементами относительно самой иконки — она должна остаться positioned */
  position:relative !important;
  left:auto !important; right:auto !important; top:auto !important;
  transform:none !important;
  flex:0 0 auto;
  width:16px; height:16px;
  margin:0 !important;
}
.vc_tta.vc_general .vc_tta-panel-title > a:focus-visible{
  outline:2px solid var(--ks-gold);
  outline-offset:-2px;
}


/* ==========================================================================
   Проход 34 (15.09.2026) — выделенная позиция: вместо плоской жёлто-золотой заливки
   Владелец: «жёлтый золотой цвет выделенной позиции не нравится — усовершенствовать,
   добавить современный эффект, и везде, где есть такие участки». Единый приём для
   всех «текущих» элементов: светло-золотой градиент (тот же язык, что у кнопок и
   стрелок), тонкая вертикальная золотая метка слева, светлая кромка сверху, мягкая
   тень; при наведении градиент сдвигается. Где применено: текущий пункт бокового
   меню услуг, открытый вопрос в аккордеонах, текущая страница в пагинации новостей,
   текущая услуга в панели «Услуги» шапки. Плоские золотые кнопки (тема, формы,
   поиск) переведены на градиент кнопки шапки правками выше по файлу.
   ========================================================================== */
:root{
  --ks-grad-select: linear-gradient(135deg, #FAF5EA 0%, #F2E4C4 50%, #EAD3A2 100%);   /* мягче кнопочного: это выделение, не кнопка */
  --ks-select-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 10px 22px -10px rgba(156,116,52,.55);
  --ks-select-shadow-hover: inset 0 1px 0 rgba(255,255,255,.8), 0 14px 26px -10px rgba(156,116,52,.65);
}

/* --- боковое меню услуг: текущий пункт ------------------------------------ */
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item a,
#secondary .service-cat .menu .current-menu-item a{
  position:relative;
  background:var(--ks-grad-select) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  color:var(--ks-ink) !important;
  padding-left:20px !important;
  box-shadow:var(--ks-select-shadow);
  transition:background-position .36s var(--ks-ease), box-shadow var(--ks-fast), padding-left var(--ks-fast) !important;
}
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item a::before,
#secondary .service-cat .menu .current-menu-item a::before{
  content:"" !important; display:block !important;
  position:absolute; left:8px; top:50%; width:3px; height:46%;
  border-radius:3px; background:var(--ks-gold-ink);
  transform:translateY(-50%);
  opacity:1 !important;
}
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item:hover a,
#secondary .service-cat .menu .current-menu-item:hover a{
  background-position:100% 50% !important;
  box-shadow:var(--ks-select-shadow-hover);
  padding-left:20px !important;
}
.single-thsn-service .themesion-sidebar .widget ul>li.current-menu-item a::after,
#secondary .service-cat .menu .current-menu-item a::after{ color:var(--ks-gold-ink-2) !important; }

/* --- аккордеон «вопрос — ответ»: открытый вопрос --------------------------- */
.vc_tta.vc_general .vc_tta-panel .vc_tta-panel-heading{
  background:transparent !important;
  transition:background var(--ks-fast) !important;
}
.vc_tta.vc_general .vc_tta-panel:not(.vc_active):hover .vc_tta-panel-heading{ background:rgba(219,180,114,.12) !important; }
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading{
  background:var(--ks-grad-select) !important;
  background-size:180% 100% !important; background-position:0 50% !important;
  box-shadow:var(--ks-select-shadow);
  transition:background-position .36s var(--ks-ease), box-shadow var(--ks-fast) !important;
}
.vc_tta.vc_general .vc_tta-panel.vc_active:hover .vc_tta-panel-heading{ background-position:100% 50% !important; }
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a{ padding-left:28px !important; }
.vc_tta.vc_general .vc_tta-panel-title > a::before{
  content:""; position:absolute; left:12px; top:50%; width:3px; height:0;
  border-radius:3px; background:var(--ks-gold-ink);
  transform:translateY(-50%);
  transition:height .28s var(--ks-ease);
}
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a::before{ height:44%; }
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a,
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a .vc_tta-controls-icon::before,
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-title > a .vc_tta-controls-icon::after{ color:var(--ks-ink) !important; border-color:var(--ks-ink) !important; }
.vc_tta.vc_general .vc_tta-panel.vc_active{ border-color:rgba(219,180,114,.6) !important; }

/* --- пагинация новостей: текущая страница ------------------------------------ */
.nav-links .page-numbers{
  border:1px solid var(--ks-line-soft) !important;
  border-radius:10px !important;
  color:var(--ks-ink) !important;
  background:var(--ks-paper) !important;
  font-family:"IBM Plex Sans",sans-serif !important; font-weight:500 !important;
  margin:0 3px !important;
  transition:background var(--ks-fast), border-color var(--ks-fast), box-shadow var(--ks-fast), transform var(--ks-fast) !important;
}
.nav-links a.page-numbers:hover{ background:rgba(219,180,114,.14) !important; border-color:rgba(219,180,114,.6) !important; transform:translateY(-1px); }
.nav-links .page-numbers.current{
  background:var(--ks-grad-select) !important;
  border-color:transparent !important;
  color:var(--ks-ink) !important;
  font-weight:600 !important;
  box-shadow:var(--ks-select-shadow);
}

/* --- панель «Услуги» в шапке: текущая услуга ---------------------------------- */
.ks-mega .ks-mega__link.is-current{
  background:var(--ks-grad-select) !important;
  box-shadow:var(--ks-select-shadow);
}

/* ==========================================================================
   Проход 35 (15.09.2026) — пять замечаний владельца после осмотра
   ========================================================================== */
/* --- 2. Аккордеон «подвисал» при сворачивании: плагин анимирует высоту jQuery, а отступы
   тела обнуляет инлайном; наш padding стоял с !important и инлайн не срабатывал — последние
   20 px нижнего отступа висели до конца анимации, потом панель схлопывалась рывком.
   !important снят с правила padding выше по файлу (блок «аккордеоны FAQ»); длительность
   анимации плагин берёт из transition-duration тела — оставляем .2s темы. */
/* --- 1. Двойная рамка: у открытого вопроса заголовок имел собственную рамку внутри рамки
   панели — оставляем одну, у панели. */
.vc_tta.vc_general .vc_tta-panel-heading{ border:0 !important; margin:0 !important; }
.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading{ border-bottom:1px solid rgba(219,180,114,.35) !important; }
/* --- 1. Двойная рамка вокруг полей форм: поля уже с рамками, а ряд полей (и карточка полей
   под услугой) имели свою — снимаем внешние, оставляем только рамки самих полей. */
.form-service-wrap .form-service,
.ks-service-cta .form-service > p,
.consultation-form > p{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}
.ks-service-cta .form-service > p, .consultation-form > p{ gap:12px; }
/* --- 3. Отзывы Google: при ширине виджета < ~1000 px плагин переключается в раскладку
   «s» — шапка 1/3, лента 2/3, в ленте два отзыва. В окне владельца (≈1140 px) виджет
   930 px, и вместо трёх отзывов показывались два. Пропорции для «s» переопределяем:
   шапка ≈ 26 %, лента ≈ 74 %, в ленте три карточки. */
.wp-gr.rpi .grw-row-s .grw-header{ --col:3.8 !important; }
.wp-gr.rpi .grw-row-s .grw-header + .grw-content{ --col:1.357 !important; }
.wp-gr.rpi .grw-row-s .grw-header + .grw-content .grw-review{ --col:3 !important; }
.wp-gr.rpi .grw-row-s .grw-review-inner{ padding:16px 14px 14px !important; }
.wp-gr.rpi .grw-row-s{ --img-size:40px !important; }
.wp-gr.rpi .grw-row-s a.wp-google-name{ font-size:13.5px !important; letter-spacing:-.01em; white-space:normal !important; line-height:1.25 !important; overflow-wrap:normal !important; word-break:normal !important; }
.wp-gr.rpi .grw-row-s .wp-google-time{ font-size:10.5px !important; white-space:normal !important; }
.wp-gr.rpi .grw-row-s .wp-google-text{ font-size:14.5px !important; }
/* кнопка «оставить отзыв» выглядела размытой: плагин даёт тексту серую тень 1px 1px и
   прозрачность .9 — снимаем */
.wp-gr.rpi .wp-google-wr a, .wp-gr.rpi .wp-google-wr a svg{ text-shadow:none !important; opacity:1 !important; box-shadow:none !important; }
/* --- 4. Боковое меню «Услуги раздела»: подсветка при наведении (владелец: «слегка золотом»).
   Прежнее правило :hover проигрывало базовому с #secondary (у него выше специфичность),
   поэтому наведение не работало. */
.single-thsn-service #secondary .widget ul>li:not(.current-menu-item):hover a,
#secondary .service-cat .menu li:not(.current-menu-item):hover a{
  background:linear-gradient(135deg, rgba(219,180,114,.10) 0%, rgba(219,180,114,.24) 100%) !important;
  color:var(--ks-ink) !important;
  padding-left:17px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.single-thsn-service #secondary .widget ul>li:not(.current-menu-item):hover a::after{ transform:translate(3px,-50%); color:var(--ks-gold-ink-2) !important; }
/* --- 5. Новости на главной: «Подробнее» гуляло по высоте (карточки одной высоты, но
   содержимое прижато к верху), а при наведении градиент показывался только полосой
   снизу — внутренний блок темы оставался белым. Теперь: колонка flex, ссылка прижата
   к низу, внутренний блок прозрачный — градиент на всю карточку. */
article.thsn-blogbox-style-4{ height:100%; display:flex; flex-direction:column; }
article.thsn-blogbox-style-4 .post-item,
article.thsn-blogbox-style-4 .themesion-box-content{ display:flex; flex-direction:column; flex:1 1 auto; background:transparent !important; }
article.thsn-blogbox-style-4 .themesion-box-desc,
article.thsn-blogbox-style-4 .themesion-box-desc-text{ display:flex; flex-direction:column; flex:1 1 auto; }
article.thsn-blogbox-style-4 .thsn-read-more-link{ margin-top:auto; padding-top:16px; }


/* Яндекс.Метрика с включённой подменой телефонов оборачивает каждую цифру
   в <small> и задаёт убывающую inline-прозрачность до нуля. Номер должен
   оставаться полностью читаемым до наведения, не отключая аналитику. */
a[href^="tel:"] small{
  opacity:1 !important;
}
